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!
Top comments (7)
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.
Thanks a lot for the kind words @fpaghar!
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" !
Very well explained 😍
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.
Love it 😍
This post really resonates with me, especially the idea of Product Engineers taking a bigger role in both technical and product responsibilities. It reminds me of what Iman Rahmatizadeh (Firebase EM) said about developers starting by proposing projects, delivering them, analyzing the results, and finally monitoring. I’ve also seen similar expectations for senior engineers in companies like SoundCloud, where they act as builders, not just coders, and understand both the product and the customer.
AI has made this approach even more accessible. It allows smaller teams to take on bigger responsibilities by breaking products into smaller parts. Tools like ChatGPT and GitHub Copilot are great for speeding up some tasks, but engineers are still needed for critical work that AI can’t fully handle. For example:
1. Understanding the task: Engineers need to know the codebase well to avoid breaking things—AI can’t do this.
2. Writing maintainable code: AI helps, but engineers still have to ensure the code is clear and meets standards.
3. Managing dependencies and side effects: Engineers need to check that changes don’t impact other projects.
4. Writing and reviewing tests: AI can create tests, but you still need to give it detailed prompts, review the output, and make sure it’s clear.
5. Stakeholder approval: Engineers need to ensure the work meets the needs of users and the business.
That said, AI is super helpful for things like documentation, working with new libraries, or finding solutions quickly. For example, I used AI to help me build an MVP for a startup. It let me focus more on the business logic while handling technical tasks faster, even though it was just a small MVP.
Conclusion:
AI can definitely make projects faster, but how much depends on the size, dependencies, and standards of the project. It’s a great tool to help engineers focus on bigger responsibilities and creative problem-solving.
😮💨
@eterima
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.