Startups see their path to success as building a product many people want and pay for. Out of this need came the role of product engineer. They are a core part of many teams building the next generation of great products. More startups are hiring product engineers, and more people are building the skills needed to be one.
In this post, we define the role of a product engineer, break down the characteristics of the role, go over their skills, and finally figure out why they matter. We base this information on industry research, and job posts from top startups hiring product engineers, which we quote throughout.
A product engineer, at its most basic, is a software engineer building products. They do similar work to software engineers: writing code and shipping features. Usually, they write fullstack code with a focus on the frontend.
What makes them unique is their focus on creating a product for users. They care about building a solution to problems that provides value to users. They must be empathetic to users, and this means caring about user feedback and usage data.
Product engineers also have responsibility for the overall product they are working on. This means they are:
- responsible for improving it and building new features
- opinionated on the roadmap and future of the product; making decisions on priorities and what to work on
- able to make design decisions to create great experiences
- responsible for fixing the parts of their product that break or have bugs
- more willing to build a product from scratch for users, less loyal to features they’ve added in the past
incident.io sums this up as:
“Care more about outcomes and impact than the exact implementation, or the tools used to solve the problem.”
A product engineer’s connection and responsibility to specific parts of the product cause them to pay attention to the details of their product as well as the larger picture of how their product fits into the company and competitive landscape.
The goal of a product engineer is creating a great product for users. Their product must solve user problems and provides them value. They succeed based on doing this. Jean-Michel Lemieux, former VP of Engineering at Shopify, defines them nicely as:
“Engineers who have a thirst for using technologies to leapfrog human/user problems. Those with empathy to reach for magical experiences.”
With a basic idea of what a product engineer is, we can dive deeper into the characteristics they share.
One characteristic that distinguishes product engineers is their “customer obsession.” They care a lot about the people and organizations using their product and want to build a better solution for them.
Customer obsession manifests in a couple of ways. First is that they talk to users. Talking to users isn’t only a job for product managers and salespeople. Product engineers must do this too. They must understand the real problems users are having and figure out solutions for them. This might entail working with a product manager or designer, but it is the ultimate responsibility of the product engineer to make it happen. incident.io is looking for this in their job post:
"Enjoy speaking directly with customers and understanding their problems”
Second, customer obsession means shipping features users wants and benefit from. Features without a direct connection to users are less important to product engineers. They focus less of their time here. Quickly shipping these features to improve the user’s experience is important for a product engineer. Fly.io states this by saying:
“We're ruthless about working on stuff that our users will see and care about. We are not ruthless about shaping and polishing our code into a radiant-cut gem of perfection.”
Shipping fast and being customer-obsessed lets them get feedback on their product earlier. This enables them to get to a better solution faster. They are in touch with the real needs and uses of end users.
By being customer-obsessed, product engineers become less principled and dogmatic. They don’t ship features that they believe are “right” but users don’t want. They are less loyal to best practices and don’t do something just because it is commonly done.
Because product engineers own their product, they also often own the data and roadmap for that product. This means doing analysis of usage data and the competitive landscape. They combine this analysis with user feedback and figure out what to do next.
Product engineers can use tools like PostHog to gain insights about their product. They know what is working and what needs improvement. They are comfortable digging into the data, watching session recordings, and once they’ve gathered insights, communicating future work. Ashby includes this in the way they work:
“We combine this with research, prototyping, and written proposals to see around corners and get feedback from the team across time zones”
Product engineers also understand how their product fits in the business landscape. They know the businesses using their product, and the competitors working on similar products. They know what makes them special, and can continue to build to expand this gap.
All of this helps them create insights that help them build better products. Product engineers back up their opinion with data and knowledge of the competitive landscape. This helps them and their teams ensure they are working on the right features.
The end goal of a product engineer is to ship a great product. Briefs, mockups, written reports, and presentations are not a great product. Prototyping, shipping, and experimenting are closer, and that is what product engineers focus on.
Product engineers ideate new ways to make the product better. They then iterate on these ideas for improving the product and do it fast. This means a lot of experiments and tests. Tools like A/B tests and feature flags help with this.
Because they build prototypes and are self-reliant, product engineers often have a history of doing just that. They are more likely to have side projects they’ve built themselves. Some might be former founders or have unorthodox, self-taught backgrounds. They make great teammates in hackathons. Ghost looks for these people:
“The majority of our team is made up of former founders, freelancers and self-starters who are confident and comfortable working independently and getting things done.”
Shipping fast and talking to customers requires time on top of engineering. Product engineers get this time by relying on devtools and automation. Ideally, they are spending little of their time on testing, infrastructure, and deployment. Companies might have separate teams for this or rely on the growing number of product enabling product engineers (like some of the ones we’ve quoted here). Developer tooling is a key part of Ashby’s team:
“Great developer tooling. Our CI/CD takes ~10m, and we deploy at least 5x a day. Everyone on the team has contributed to developer experience 💪🏾”
A great developer experience enables product engineers to ship fast and focus on the other parts of the work. Having to deal with integration, deployment, and infrastructure prevents them from focusing on shipping features, talking to customers, doing research, and other important tasks. A company like incident.io invests heavily in developer experience to enable this:
“Investing heavily in the developer experience: whether it’s metrics, logging, tracing and error tracking, or development workflow. Build times are blazing fast: our CI to deploy time is ~5m. Everyone uses a M1 Pro Macbook, and you have budget for other equipment should you need it.”
From these characteristics, we can define the skills product engineers have, here’s a list:
Ship features that users care about, wherever they are on the stack. Ship rapidly and iterate.
Develop opinions, be able to communicate them, and turn them into features. Be able to explain why a feature matters to customers as well as its importance in the competitive landscape.
Create prototypes and test them with users. Run experiments and understand their results. Be able to design for yourself and use design systems.
Talk with customers, analyze data, and be aware of the competitive landscape to understand what to build.
Use tools that automate non-product work like infrastructure, integration, deployment, and testing.
"As a product engineer, writing code is just one part of your job. You'll also talk to users, get involved with design, and develop an opinion on what needs to exist in the world. Then you'll move with urgency to make it happen." - Kushal Byatnal via Joe Albanese
Product engineers write code, talk to users, ship products for those users, and own them. This helps them achieve their ultimate goal of building great products. Building a great product that solves important problems for users was the pathway to success for many companies.
What product engineers do now is what is thought to be the path to startup success, but never combined into one role. Now, a growing number of people are developing the skills needed to become successful as product engineers. On the other side, a growing number of companies are looking for people with these skills, as well as building products for these people. This combination is creating the product engineering wave we are seeing now.
As long as building great products is an important goal for many companies, product engineers will continue to be important.