DEV Community

Viljami Kuosmanen for epilot

Posted on • Updated on

What is a Product Engineer?

Read the full Product Engineer Manifesto at productengineer.org

Not Just Coders, but Builders

Picture this: engineers who don't just speak in code but in product design and customer problems.

Product Engineers are a special breed of engineers that don't just see themselves as coders or developers but as builders who deeply care about the products they build.

They're driven by a professional pride and desire to build great products, transcending the traditional developer role to become genuine drivers who go on to put their names behind great products they themselves played a key role in shaping.

The Counter to Hyperspecialisation

The tech world has seen for a long time a trend towards hyperspecialisation, with engineering roles becoming increasingly narrow.

We have frontend engineers, backend engineers, iOS engineers, DevOps engineers. We have developers defining their careers with a specific language: JavaScript engineers, Swift engineers, C# engineers, Python engineers. We even have developers that seemingly dedicate their entire careers to a single framework or tool: React Engineers, .NET engineers, Unity Engineers, Ruby on Rails engineers.

Feels like it's only a matter of time until we see job postings seeking for-loop engineers and variable naming engineers.

Jokes aside, specialisation isn't totally without its merits as it has allowed engineers to build deep expertise in specific technologies, a key component in building quality software. However, it also lead to silos where collaboration and broader product understanding became a nice-to-have, and often not even an expectation or focus for engineering roles.

Product Engineers stand as a counter-movement to this trend. They embody a holistic approach to engineering, where understanding the entire product and context around it is just as important as the technical skills required to build it. This broad perspective enables them to bridge gaps between different technical domains and ensure that the product serves its customers effectively.

AI: The New Playground

The rise of artificial intelligence (AI) tools in software development is rapidly setting new expectations for engineers. With AI tools becoming more sophisticated and capable, engineers are now expected to leverage these tools to enhance their work, not just in terms of speed and efficiency but also in terms of broadening their area of responsibilities.

Engineers in a post- ChatGPT and GitHub Copilot world are now expected to be able to work in more languages, incorporate more tools and libraries, and simply be able to deliver more, using a broader range of technologies and disciplines in their daily work.

It's probably not a great time to be the platform engineer whose job is to set up Jenkins pipelines for the product teams, when ChatGPT can easily help teams do it themselves.

For Product Engineers however this has unlocked a higher level of abstraction. With AI tools handling more of the routine and specialised tasks, engineers can allocate more time to creative problem-solving, ideation, and exploring new ways to meet customer needs.

This new level of abstraction allows Product Engineers to concentrate on product strategy, user experience, and overall system architecture without being bogged down by the intricacies of individual technologies.

The incorporation of AI into software development encourages a broader perspective, where the choice of technology becomes a means to an end, rather than an end in itself.

While AI didn't create the Product Engineer role (examples have been around for much longer); AI has made becoming a true Product Engineer much more accessible as a career path for software engineers.

Combining Product Thinking and Technical Execution

Product thinking involves understanding the user's needs, the market demands, and the business goals that drive a product's development. It's about seeing beyond the immediate task to grasp how each piece fits into the broader puzzle of the user experience.

Product Engineers ask the crucial questions: "How does this feature add value to the user? What impact will this improvement have on the product's overall vision? How can we measure the success of our work?"

They don't just build features based on specifications; they contribute to the design and roadmap of the product through a robust understanding of the customer's needs and business strategy.

This approach requires a balance of skills: the ability to dive deep into coding and system architecture, while also keeping an eye on the product roadmap and customer feedback.

By combining this mindset with quality technical execution, Product Engineers can uniquely ensure the product is headed to the right direction both technically and strategically, ensuring that their work directly contributes to the product's long term success.

The Manifesto: A call to Product Engineers

I've published a Product Engineer Manifesto on GitHub to more formally define the Product Engineer mindset.

Consider giving the repository a star if Product Engineering philosophy resonates with you!

Manifesto

Top comments (6)

Collapse
 
fpaghar profile image
Fatemeh Paghar

The call for a balance between product thinking and technical execution is crucial. Product Engineers play a pivotal role in ensuring that the products they build align with the user's needs and contribute to the overall success of the product. The Product Engineer Manifesto is a great initiative to formalize and promote this mindset.

Collapse
 
anttiviljami profile image
Viljami Kuosmanen

Thanks a lot for the kind words @fpaghar!

Collapse
 
manikandan_sp profile image
Manikandan SP

Impressive take on defining and understanding about product engineering !!! I have personally felt that different roles associated directly or indirectly with software engineering like SDE, QA, data engineers, business analyst, product managers etc should have been amalgamated with product engineering as this is a building block of efficient softwares

Also we should take one step back from our current roles or designations to have the view of product engineers so we could see from customer's view along with a builder's view to grasp the user empathy

Key takeaway is "finding balance" !

Collapse
 
keremnalbant profile image
Kerem Nalbant

Very well explained 😍

"How does this feature add value to the user? What impact will this improvement have on the product's overall vision? How can we measure the success of our work?"

The way to be a better product engineer is to ask the key questions and have teammates who will give you the key answers. In other words, not only you, but also your team needs to understand the product and the users.

I think we have achieved this very well at epilot.

Collapse
 
eterima profile image
Eka Terima

Love it 😍

Collapse
 
echoglobal profile image
EchoGlobal

On top of "what" it is also important to know "how to hire a good product software engineer".

Some comments may only be visible to logged-in visitors. Sign in to view all comments.