The Pragmatic Engineer thumbnail

The Pragmatic Engineer

How to work better with Product, as an Engineer with Ebi Atawodi

Building High-Performing Engineering and Product Teams: Lessons from Uber, Netflix, and Google

Having worked across leading tech giants like Uber, Netflix, and Google, I've had the privilege to observe and participate in the dynamics that make software engineering and product teams truly excel. This blog post distills key insights and practical advice on how engineering and product can work seamlessly as one team, what makes standout engineers, and how to cultivate a culture of ownership, trust, and continuous learning.

The Rocky Start: Aligning Engineering and Product

Early in my management career at Uber, my first experience collaborating with a product manager was challenging. We had different expectations and communication styles, which initially caused friction. For instance, the product manager candidly shared tough feedback from product review meetings that demotivated engineers because they were unaware of such forums. However, this honesty was a blessing in disguise, as it revealed a gap in transparency and communication.

We learned the importance of:

  • Sharing product context regularly: Introducing monthly product review updates helped engineers understand what matters to the business.
  • Breaking down silos: Product is not a separate entity but a collective responsibility encompassing product managers, UX, data science, and engineering.
  • Open communication: Encouraging direct and honest conversations helped build trust and alignment.

Working Like a Startup Inside a Large Company

Despite being part of a large $60 billion company, our team embraced a startup mindset by fostering close collaboration and ownership:

  • Regular one-on-ones between engineering managers and product managers helped build understanding and trust.
  • Starting meetings with product updates created space for engineers to engage with business objectives and contribute ideas.
  • State of the Union sessions provided transparency on team accomplishments, challenges, and market dynamics — fostering empathy and shared purpose.
  • Personal connections mattered: Sharing meals and personal stories outside work strengthened relationships, making collaboration smoother.

This approach led to a stable, motivated team with very low attrition over several years, despite competing offers from other tech companies.

Cultivating Product-Minded Engineers

A standout characteristic of successful engineers is their product mindset. Engineers who:

  • Care deeply about the business impact of their work.
  • Actively seek to understand key metrics and customer needs.
  • Propose ideas that drive growth and improve user experience.

These engineers often accelerate their professional growth and contribute meaningfully beyond coding. As engineering managers and product leaders, fostering this mindset by sharing context and encouraging ownership is crucial.

Getting Headcount and Funding for Engineering Projects

Securing resources can be challenging even in large organizations. Our strategy involved:

  • Bootstrapping projects with minimal resources, building prototypes or initial versions that demonstrate value.
  • Using real business problems as a foundation for new initiatives, which makes the case compelling.
  • Showing measurable impact (e.g., revenue generated, user growth) to justify further investment.
  • Collaborating across teams to pool resources and prioritize the most impactful work.

This approach helped us launch significant initiatives like web payment platforms and scale payments processing to billions of dollars in annual run rate.

The Power of Human Connection and Team Rhythm

Beyond processes and metrics, the human aspect is vital:

  • Know the person behind the role: Understanding team members’ personal lives and motivations builds empathy and trust.
  • Maintain a consistent cadence of meetings and check-ins to create rhythm and predictability.
  • Allow space for vulnerability, where people can express doubts, mistakes, or personal wins.
  • Celebrate successes and be honest about challenges as a team.

These elements foster psychological safety and a cohesive team culture.

Traits of Standout Software Engineers

Across Uber, Netflix, and Google, exceptional engineers share several key traits:

  1. Lifelong Learners: They never stop learning, often experimenting with new technologies and concepts independently.
  2. Hands-On Doers: They are willing to roll up their sleeves and write code themselves, not just delegate or theorize.
  3. Strong Conviction with Openness: They hold strong opinions based on deep thought but are open to being wrong and changing their minds.
  4. Effective Communicators: They can explain complex ideas clearly and patiently without alienating others.
  5. Empathetic Collaborators: They don't make others feel inferior and actively build trust within teams.
  6. Product Mindset: They understand the business and user impact of their work, not just the technical side.

Beware of the "genius jerk": brilliant individuals whose negative behavior drags down the team. True standout engineers balance technical excellence with emotional intelligence.

Mentoring and Career Growth

Mentorship and sponsorship are crucial for career advancement:

  • Be a product leader regardless of your role: Contribute actively to product discussions, data analysis, and vision setting.
  • Treat your career like a project: Have regular check-ins with managers, seek feedback early, and plan your growth proactively.
  • Seek sponsors, not just mentors: Sponsors advocate for you behind the scenes and open opportunities.
  • Build genuine relationships: People remember those who care and do great work, which opens doors unexpectedly.

Playing the Long Game

Success in tech careers is a marathon, not a sprint:

  • Focus on doing excellent work for the right reasons, not just promotions or perks.
  • Build trust and relationships that last over years.
  • Embrace learning, humility, and collaboration.
  • Understand that challenges and setbacks are part of growth.
  • Support others and cultivate a culture of generosity.

Final Thoughts

Engineering and product collaboration thrive when built on trust, transparency, and shared ownership. Standout engineers are curious, humble, and deeply engaged with the product and business. Leadership is not about titles but about fostering relationships, mentoring others, and playing the long game with care and conviction.

If you're an engineering or product leader, consider:

  • Building regular, honest communication channels.
  • Sharing business metrics and context openly.
  • Investing time in personal connections.
  • Empowering engineers to think product-first.
  • Bootstrapping initiatives to prove value before seeking headcount.

Great teams don’t happen by accident—they are crafted through deliberate culture, empathy, and relentless commitment to learning and growth.


About the Author:
Drawing from years at Uber, Netflix, and Google, I share insights on building high-impact software teams and navigating the intersection of engineering and product management. Follow for more stories and strategies on leadership, collaboration, and career growth in tech.

← Back to The Pragmatic Engineer Blog