(no title)
daguar | 6 years ago
The way I think about it is that you're giving weights to one of two different goals:
1. Building the right thing
2. Building the thing right
I've found that in early-stage work, you really really need to have engineers who are more interested in (1) than (2). I'd probably say a product engineer who's a good fit for early stage work probably has an 70%/30% mix of what motivates them between these two goals.
The strongest product engineers also have a keen sense of the power of MANUALLY handling some cases as a way to learn. At small scale, the cost of manually handling something can be way lower than building for that case. So another attribute I've seen is that strong product engineers are either okay with or even actively enjoy supporting users in those edge cases, talking with them as a way to learn.
I'd be curious to know how companies most effectively hire for and/or cultivate these kinds of behaviors in eng teams.
ebiester|6 years ago
There is a difference between someone actively making compromises between time to market and features, and someone who doesn't understand how to write software in a maintainable fashion but can get something quickly out to market. There are even people who are good at neither.
rileymat2|6 years ago
At a very micro level, yesterday I was looking at a simple JS object with 6 entries, and 3 different naming conventions. Doing even simple changes without code-completion in the code base is mentally taxing.
Vinnl|6 years ago
Needing to get to market faster doesn't mean skimping on, say, a proper CI setup; it means not trying to do everything, and focusing on delivering and iterating on only those features that are relevant to the market.
crimsonalucard|6 years ago
[deleted]
avip|6 years ago
Come Q time they'll ask about tech stack, code review, 4k screen, could they use their esoteric linux distro (yes).
OTOH you'll have candidates who already know your competitors, and know the tech stack because they registered for invite-only beta the day before the interview.
therealdrag0|6 years ago
chiefalchemist|6 years ago
Put another way, you can get #1 wrong and even if #2 hits that target, you're still wrong. But get #1 right and over a couple iterations you can get the means to support the desired ends.
lwb|6 years ago
nitrogen|6 years ago
I've seen projects sink for having PMs too far on the reckless side. Frontend engineers who appear to be developing the day's hot feature end up building a massive platform on platform on (...ad nauseam) on Reactive React just to show a few forms, while the backend engineers get pushback every time they ask a question. The product sinks because it takes three weeks just to move a field from one form to a different form, you have to refactor the whole redux store, ...
These are the teams that go so far in the "manual" direction that they refuse to build support tools of any kind whatsoever, and then when the inevitable fires come nobody knows what's going on.
So product<->reliability might be often mutually exclusive just because that is what people are used to, but really engineers should be able to do both and know when to adjust, and so should the managers.