- Published on
Engineering Team vs Product Team: The Eternal Struggle
- Authors
- Name
- Haikal Tahar
Introduction
i've been both in engineering team and product team.
always loved building things, solving problems, and shipping code.
then came the inevitable question: "should i move to product?"
this doc covers my journey, the challenges, and what i learned along the way.
Table of Contents
- 1. The Crossroads
- 2. Engineering Team Life
- 3. Product Team Life
- 4. The Microcomponent Architecture
- 5. The Good, The Bad, and The Ugly
- 6. Future Plans
1. The Crossroads
i started noticing a pattern after being in both engineering and product team.
stay in engineering team or move to product team?
both paths seemed valid, but very different.
found out it's not just about code anymore.
it's about people, processes, and product strategy.
2. Engineering Team Life
what i loved
- building microcomponents for products with different designs and features
- looking at senior developers work on building the Form Rendering Engine (FERE) which auto-generates multi-step forms from a form schema, without requiring developers to handle design, styling, and form logic
- creating micro components for product teams
- the satisfaction of navigating around design system built by designers
what i struggled with
- managing feature requests from product teams
- communicating technical limitations to product teams
- maintaining components used by multiple products
3. Product Team Life
what i loved
- building insurance products using microcomponents built by engineering team (awesome microcomponents and easy to use)
- leveraging FERE for form creation
- understanding customer needs for insurance products
- managing dependencies on engineering team's capacity
what i struggled with
- limited FERE documentation forcing frequent senior dev consultations
- dependency on senior devs just to request FERE features
- fixing broken components built by others when engineering team is busy
4. The Microcomponent Architecture
the system
- engineering team builds core microcomponents
- senior engineers maintain the Form Rendering Engine
- product team assembles insurance products
- reusable components speed up development
the challenges
- capacity constraints in engineering team
- feature requests piling up
- timeline mismatches between teams
- technical debt vs new features
5. The Good, The Bad, and The Ugly
The Good
Product Team
- business mindset becomes second nature
- customer-focused thinking
- stable tech stack - no need to chase latest trends
- clear impact on business metrics
- predictable work with established patterns
Engineering Team
- exciting technical challenges
- opportunity to innovate
- fast-paced environment
- solving complex problems
- building foundational systems
The Bad
Product Team
- can feel boring compared to engineering
- limited technical growth
- repetitive work with similar patterns
- dependency on engineering team's capacity
- less hands-on with new technologies
Engineering Team
- constant pressure to keep up with trends
- high expectations for innovation
- complex problem-solving every day
- need to maintain systems
- balancing new features vs technical debt
The Ugly
Product Team
- frustration in doing the same thing over and over again
- business pressure vs technical reality
- misalignment with engineering priorities
- slow progress for career growth
Engineering Team
- senior engineers leaving when vision misaligns
- abandoned innovations without maintenance
- documentation gaps when experts leave
- technical debt from rushed features
- burnout from constant innovation pressure
- systems becoming unmaintainable
- knowledge silos when experts depart
6. Future Plans
- improve capacity planning process
- enhance component documentation
- streamline feature request workflow
- build better communication channels
- create clearer prioritization framework
- develop better estimation methods
- establish better knowledge sharing
- plan for technical succession
the journey continues.
maybe the best path isn't choosing one or the other.
maybe it's about finding ways to make both teams work better together.