Software product engineer

All posts

Software product engineer - the missing startup role

Software

A product engineer helps you develop software which meets the user’s needs. It’s the glue between real world usage and technical engineering.

Software engineer (or developer) never felt like it accurately described my role at startups.

Then on Twitter I saw people talking about product engineer, which sounds like the role I actually do and am best suited for.

This role describes a person who has some level of ownership which extends beyond just writing code. They have a larger hand in the direction of the product and the UX than an engineer/developer would typically have.

Roles

In some ways roles and titles don’t matter. (Especially engineer and developer which are usually interchangeable.) But if they’re different enough they can tell you what a person contributes and how they think about their work.

I don’t know if I can rely on the term product engineer because it’s seldom used. Will people know what we’re talking about? I think we at least have to add software product engineer, as I’ve spoken to a number of people who say it sounds like physical product design.

Benefits

A software product engineer helps make sure you have a product which meets the user’s needs. It’s the glue between real world usage and technical engineering. They replace what would be a number of roles (or even teams) at a larger company. Which obviously saves a bunch of costs, but also makes them much more nimble and cohesive. They can do user research and then design features in a way which is efficient and achievable, then they can dive into the code to get the job done. Someone who takes pride and ownership of the software being developed.

I like writing code. But what I love is building software that makes peoples’ work lives better. I want to do that at little startups or companies that are punching above their weight and out designing the big guys.

A product engineer

A good engineer should already be doing more than just writing code, and should be able to contribute to most steps of the software development lifecycle from planning to release. A product engineer goes much further and takes partial ownership of the software. Kind of like being a co-founder for the product.

This would include some of:

  • Development - writing code is still a big part of the work
  • Design - this could be visual UI design, but it also means the overall product design ‘the way it works’
  • Ownership - someone in this role can partially fill the role of a typical Product Owner
  • UX - overseeing and designing the user experience of the software and how it fits into the user’s workflow
  • Direction - having a big picture vision for the product and shaping where the product is headed long term
  • User onboarding - a key component to the success of a SaaS product is getting new users into using the product
  • Marketing awareness - while they probably won’t work on marketing they will need to know how it works, where prospects are coming from and what benefits and selling points are

A product engineer is exactly what is needed in many small software companies and startups. There often isn’t enough budget for a UX person, and no one is devoted to product management. Engineers are often not thinking about the product from the user’s viewpoint, and even if they are, engineers are tend to be busy with new features, scaling and performance.

Types of engineers

There are engineers who are much more into the cold logical side where they want to have a great system design and everything pieced together nicely, with tests that cover everything. There’s those who love to get into performance or architecture or databases. There’s even engineers who are into dev ops.

I’m not really passionate about those things. To me those are more of a necessary means to an end. I’m much more into building something which is useful to the user and makes their life better. That’s the product engineer.

Testing and performance and architecture are important because reliability and speed are important to the user. But they’re not the things that get me excited. I’m excited when a user tells me they love how easy it is to use our software, and it’s saving them hours per week.

I also like to know the economics of my work. Given my hourly rate, how is what I’m doing contributing the bottom line? In bigger orgs with lots of complexity, it’s a very loose path - and some things take so long it’s hard to see how they can be worth so much time. In a little startup, it’s much easier to work out whether the ticket I’m working is really worth a day, or a week, to the business.

Summary

If you’re a larger company, you’ll have dedicated people for each of these roles. But if you’re a small startup or SaaS, you probably need a product engineer. Often developers are unofficially expected to cover these roles. Or in other companies things just fall through the gap.

Better to call it what it is and make the product engineer role more common.