Live data from Hacker News

The Product Engineer

essays.davidchouinard.com

61–70 of 85 posts

Re: The Product Engineer

#61
post #9

Was hoping this would be about hiring, because I've been thinking a lot recently about how shitty hiring is for these people. I've been interviewed for a lot of these ostensibly "product" positions this year. A lot of it has to do with the company not even understanding what they're hiring for. Initial screeners would be all about product, product, product, but then they'd give me a new grad programming trivia test a…

This is a very strong feeling of mine and early reviewers of the essay railed at that frustration. It's striking how much the hiring dance feels full of misplaced energy. There's no doubt hiring for product engineers is horribly broken, and in a way that holds back the entire ecosystem. The essay is not about interviewing, because I don't have strong alternatives to suggest. First we need vocabulary, then we'll need…

When it comes to these things people are going to reinvent a vocabulary that already exists: Jung's psychological functions.

What Jung called extraverted intuition (Ne) is going to be the main "product" function in tech, with extraverted sensing not as common in the industry. Ne appears in Ti-Ne/Fi-Ne/Ne-Ti/Ne-Fi (what MBTI calls resp. INTP/INFP/ENTP/ENFP). In other words, the xxxP types are going to correlate with being product people. Steve Jobs was practically raw Ne.

The stereotyped "Silicon Valley Programmer" that every company wants to hire is introverted intuition primary and extraverted thinking secondary (Ni-Te, what MBTI calls INTJ). This archetype is quick-witted and naturally good at verbal/logic challenges.

To really, really, really simplify things, with xxxJ vs xxxP, you essentially have a dichotomy between speed on the one hand and (external) depth on the other. External depth being advantageous because the world itself is external. The current standard for interviews is essentially to judge speed, so of course this has the appropriate consequences. Which, by the nature of the particular elements involved, rapidly runaway.

Speed is quite easy to see and understand. Depth on the other hand is harder to pin down. But it is depth, and the vision that often carries it, that can render fine details onto a product. Those details can be so small that most people don't see them, so general appreciation of this power is rarer, and by its nature harder to test on top of it requiring a longer time horizon to work in.

Many people will think that you can get both qualities in a single person, but it doesn't work that way. Evolution would have done that long ago if it was possible. Instead, what we're dealing with are fundamentally different brain topologies/strategies, essentially characteristics that species can min-max in individuals because of the survivability allowances afforded by their ancestors having been social. Or who knows. Regardless, these are the same types of trade offs you have in data structures/algorithms.

Re: The Product Engineer

#62
post #61

Earlier quoted context omitted.

This is a very strong feeling of mine and early reviewers of the essay railed at that frustration. It's striking how much the hiring dance feels full of misplaced energy. There's no doubt hiring for product engineers is horribly broken, and in a way that holds back the entire ecosystem. The essay is not about interviewing, because I don't have strong alternatives to suggest. First we need vocabulary, then we'll need…

When it comes to these things people are going to reinvent a vocabulary that already exists: Jung's psychological functions. What Jung called extraverted intuition (Ne) is going to be the main "product" function in tech, with extraverted sensing not as common in the industry. Ne appears in Ti-Ne/Fi-Ne/Ne-Ti/Ne-Fi (what MBTI calls resp. INTP/INFP/ENTP/ENFP). In other words, the xxxP types are going to correlate with b…

This is a really interesting analysis. Has it been expanded into more detail anywhere? Can you suggest references that map onto programmers, founders, product engineers, etc.?

Re: The Product Engineer

#63

Earlier quoted context omitted.

This is the first time I've come across 'product engineer'. How is this different from a 'full stack engineer'?

Full stack engineers are generalist engineers who are motivated by technical problems. Product engineers are motivated by building impactful tools. They learnt programming somewhere along the way as a necessity to show the world their ideas. Product engineers generally pick mainstream languages and tools. They talk about users, strategy and product.

That's an interesting way to distinguish them, though I've seen people change from one to another. Motivations can change in a person.

I'm currently in the process of teaching one of the agency devs we hired on contract how to think with the end-user in mind. At the same time, I've tried to teach other how to reason through things from a purely technical perspective.

"Product engineers generally pick mainstream languages and tools." For example: Promise Theory is a formal language for describing intentions and a powerful framework for creating cooperating agents in the context of uncertainty. It is typically applied to configuration management, infrastructure and microservices, but it can be applied broadly to human-to-human and human-to-machine interfaces -- literally, UX. For example, knowing that humans will typically assess trust in an iterative way, you can pick apart the entire user flow in terms of the perceived (implied or explicit) promises (user expectations) the product makes. It starts from the advertising (signaling), through user signup, through onboarding, and any useful impact that product makes. It extends through into support and infrastructure scaling, and back to the user signaling to other users that, hey, this is a useful too.

Another huge aspect that conception of the product engineer misses is strategic thinking. Strategic thinking is the art of making decisions in face of uncertainty. Engineers typically don't think strategically, usually thinking in terms of relative advantages instead of strategic advantages.

Re: The Product Engineer

#64
post #51
post #40

Everyone that walks around with a touch screen computer in their pocket thinks they are a genius of product design. But if you actually want to design products the first step is to become an expert in the code. So stop day dreaming that you're the new Steve Jobs and get coding.

Everyone that has a car thinks they're a great race car driver. But if you actually want to be a great race car driver the first step is to become an expert in building the car. So stop day dreaming that you're the new Mario Andretti and grab a wrench. That sounds as silly to me as your assertion. And yes I can code and have for a very long time. I'll take the person that can figure out what will resonate with users…

Yes, everyone, including coders, thinks they are the best product designers. The difference is that top-level coders actually have the influence to implement their ideas, whether they're good or bad. That's how you get your foot in the door. Walking in to a startup wanting to be the one that tells everybody else what ideas they should be implementing is not going to get you far. I'm not saying that product managers are not useful, but good product managers are data driven and their main job is to gather and summarize the available data and enable a conversation within the company about the product direction, not to be the grand visionary that hands down ideas from on top.

Re: The Product Engineer

#65
post #61

Earlier quoted context omitted.

This is a very strong feeling of mine and early reviewers of the essay railed at that frustration. It's striking how much the hiring dance feels full of misplaced energy. There's no doubt hiring for product engineers is horribly broken, and in a way that holds back the entire ecosystem. The essay is not about interviewing, because I don't have strong alternatives to suggest. First we need vocabulary, then we'll need…

When it comes to these things people are going to reinvent a vocabulary that already exists: Jung's psychological functions. What Jung called extraverted intuition (Ne) is going to be the main "product" function in tech, with extraverted sensing not as common in the industry. Ne appears in Ti-Ne/Fi-Ne/Ne-Ti/Ne-Fi (what MBTI calls resp. INTP/INFP/ENTP/ENFP). In other words, the xxxP types are going to correlate with b…

I remember reading that stuff as a teenager -- and afterwards, I was able to make the MBTI tests say anything I want it to say.

My later experiences with vipassana/insight meditation showed me just how much hot air those personality indicators are. You can switch among them if you know how. These are not as hardwired as people would like to think they are.

Nice try, it's a good framework, but it is fairly limited when it comes to describing the spectrum of human consciousness. Jung is interesting in that, he was a scientist having mystical experiences that he tried to scientifically analyze. Was he successful? I don't know, but I doubt he was able to capture all that he experienced.

Re: The Product Engineer

#66
post #13

Earlier quoted context omitted.

It depends on the company, but I'm a big fan of pairing with a developer on something they're working on for an hour or so. The dynamics of the interview completely changes from "I need to figure out hidden knowledge that the interviewer knows already" to "I need to work with this person to find out a solution together", which I think is quite a bit less stressful. You're also working on real problems that — though t…

In general, anything that moves the interview from adversarial to collaborative is a big win. In many ways, interviewing is a lot less about assessing skill and a lot more about creating affection between two strangers.

That fits -- it's difficult enough to recruit people, let alone people that you can work with, or building out a gelled team that can work through on a lot of challenging things (and not all those challenges are technical).

Re: The Product Engineer

#67
post #50

Bingo. I'm a product engineer as well. I build products in 1/4 the time of an entire team, with unit/integration tests. It's also technically correct--that is, as technically correct as it needs to be to ship, scale, and see if it gains traction. Waste my time white boarding a sorting algorithm and I'll turn down the job (well, unless the money is insane). But designing the flow/architecture of a new product idea? Th…

So... isn't that an architect, or UX guy (if front end)? Why do we have to invent a new job title?

It's a lot of things. "Product Developer" captures it quite well. You're going from 0 to ShipIt with minimal bottlenecks.

"Isn't that just an architect?" Except you're not a silo'd backseat driver–ahem! Architecture Review Committee Member–meddling with various teams.

"UX guy?" No, you're building the API, deploying the infrastructure, setting up the DB, and then consuming all of that on the front-end.

"A full-stack developer?" Except full-stack developers are usually weighted heavily to one side, or they get pigeon-holed on Day 1 wherever the team is lacking (usually Ops. Sigh).

But "Sr. Actually-Full-Stack Developer" would be an alternate job title to "Product Developer." You need a lot of discipline (and experience) to not over-engineer a new product to death.

Re: The Product Engineer

#68
I'm in a bit of a similar position as the author.

I've been interviewing for a while now, and have had the fortune of many companies approaching me for positions after coming across my profile on HN/AngelList/LinkedIn or discovering Toc Messenger (http://toc.im).

Without exception, the next steps in the interview process for all these companies included some kind of an hour long technical interview that grilled me on my ability to solve, under severe pressure (time and otherwise), abstract algorithms and data structure problems that had no relevance to the product engineering positions they contacted me for. I haven't spent nearly as much time as some of my new grad peers on solving these types of problems, as I generally prefer to spend my time actually building things and learning new technologies and approaches to help me build things in a better way, and the difference is really starting to show.

In my experience, any half-decent developer with a proper CS education can usually solve these problems (So far, I've never encountered a single problem I couldn't solve within an hour or two in the zero-pressure setting of my own dev environment at home, including the ones I had trouble finishing during actual technical interviews). Solving these problems quickly, however, is a skill that tends to come with practice. [1]

Practice is unfortunately something I sorely lack at the moment, but that's been improving lately due to the sheer number of these interviews I've done so far. However, I still don't plan on spending any time outside of actual interviews to begrudgingly improve a skill that I'll maybe get to use a handful of times throughout my career when I need to switch jobs.

Software development is a seller's market right now, and there is no shortage of companies that want to hire great developers. To those who want to interview me in the traditional way, I'll gladly play along with your flawed process, but please note that this process is very good at weeding out product-focused developers like me. And if you do weed me out this way, no hard feelings, because I'd at least gotten the extra practice I needed to beat this flawed system.

[1]

There are exceptions, of course. I have a few friends who seem to have a natural gift and interest for these types of problems, and most of them are working at Google/Facebook right now after acing all of their interviews and receiving multiple offers. But in the large majority of cases, the people who ace your traditional technical interviews are the ones who have spent countless hours reading books like "Cracking the Coding Interview" and practicing solving technical problems to the point that they can probably solve any problem you can throw at them in no time.

I don't mean to belittle the talent/efforts of these kinds of developers or their potential value to your company, especially if you really need someone to tackle the hard technical problems in your field of business. However, I do want to question the wisdom of assuming these same technical developers will be the ones who are best able to iterate on and improve your product.

Re: The Product Engineer

#69
post #58

The core point of the essay, that product design is a different skill to software development, is obviously true, but to me this feels a bit like the title "Software Architect" was 10 years ago; i.e. people who want to design software products without the pesky whole writing software part. Like being a dev manager, defining the vision, design, etc requires a different set of skills from development. However, a person…

Let me give you a counter-point. I was hired by my current employer as a software engineer. I love writing software. Unfortunately, in our team, we didn't have anybody who was good at managing product development. Features where thrown in willy-nilly, design often not well thought through because designers weren't given enough time and developers could just go develop.

I was/am the worst Software Engineer in the group (these guys are seriously awesome), so they had me take over product management and only spend part of my time coding.

I'm not an 'architect', I don't design the technical systems. I design the product systems, and implement features along with the rest of the engineers, but my time is split between managing the product and doing the development.

I fell into the role because I like considering the user/marketing/etc as well as doing the software development.

I've been putting "Product Manager/Software Engineer" on my email signature because I didn't know that "Product Engineer" existed..

As I work for a technical organization, I think they'll appreciate the product engineer label more.

Re: The Product Engineer

#70

Does anyone have any advice finding these roles? Most of my main projects have included me building products up from the ground up with successful releases. I've been cramming technical interview questions because its seems like the only foot in the door, but this kind of position is where I know I'll thrive. Where do I look for Production Engineering positions? How does a new grad w/ a CS background move into one of…

If you want to work at a startup, the earlier they are they more likely that every engineer is a product engineer. The bigger companies get, the less generalists are relied upon.
Post reply on HN