THIS POST has ongoing contribution

Why do we keep having the same conversations?

In every product engineering discussion I’ve had over the past decade, the same frustrating patterns emerge. Teams everywhere are wrestling with identical problems, asking the same questions, and getting trapped in the same dysfunction cycles. It’s like watching different companies make the exact same mistakes, over and over again.

Almost in every discussion around product engineering culture following two or three things come up constantly:

  • Code without tests or writing test cases is not developer’s responsibility.
  • People keep wasting time on PRs (I will write another blog post about “Unbranching software, unleashing productivity”)
  • Many people keep asking me how to measure developer productivity.

When I hear these conversations, I said “all this is hopeless” - unless people change fundamental behaviors. But then I started wondering: Why do smart, capable people keep getting stuck in these patterns? What makes these problems so persistent that they appear in company after company, team after team?

The answer lies in our collective reluctance to confront uncomfortable truths. We ponder these issues because deep down, we know something is fundamentally broken, but changing it requires admitting we’ve been doing things wrong - sometimes for years.

Here’s what I’ve observed as truly “hopeless” - and why these patterns persist:

  • having code without tests is hopeless

    The Quality Delusion

  • Having code without tests is hopeless - Yet teams do this because writing tests feels like “extra work” when deadlines loom
  • Relying on QA instead of test automation is hopeless - But it’s easier to hire someone to “find bugs” than build quality into the process
  • Thinking QA is quality assurance and not quality automation is hopeless - Because we prefer the illusion of safety over actual safety

The Product Management Confusion

  • A PM who doesn’t work stories with research and acceptance criteria is hopeless - Yet many PMs become glorified feature factories because that’s what leadership rewards
  • Treating product manager as project manager is hopeless - But controlling delivery dates feels more manageable than empowering product decisions

The Organizational Dysfunction

  • Instituting managers to manage people in product engineering is hopeless - Though we do it because traditional hierarchies feel familiar and safe
  • Having CTO and CPO both is hopeless - Yet companies create these roles to avoid hard decisions about unified leadership
  • Treating product and engineering as separate teams is hopeless - But silos provide clear blame boundaries when things go wrong

The Measurement Trap

  • Trying to measure product engineering productivity is hopeless - We attempt this because executives demand metrics they can understand, even when they’re meaningless
  • Treating estimates as commitments is hopeless - Yet we do it because uncertainty makes stakeholders uncomfortable

The Communication Breakdown

  • Having meetings with more than 4 people is hopeless - But large meetings let everyone feel “included” without actually contributing
  • Having meetings without agendas is hopeless - Though unstructured time feels collaborative even when it’s wasteful
  • Using wrong language to express problems is hopeless - (Think “resources” vs “people” - dehumanizing language reflects dehumanizing thinking)

The Knowledge Gaps

  • Having product engineers who don’t understand data is hopeless - Yet we hire for technical skills alone, ignoring business acumen
  • Having a team that doesn’t understand the business, customer, or product is hopeless - But keeping teams “focused on code” seems more efficient
  • Having data science without data foundation is hopeless - Though ML and AI sound impressive in board meetings

The Culture Problems

  • Work-life balance is hopeless - We say we want it while rewarding those who sacrifice everything for work
  • As startup founders, expecting a 9-5 life is hopeless - Yet we’re surprised when this expectation burns out our teams
  • Everyone has an agenda - having no agenda is hopeless - Because politics emerge whether we acknowledge them or not

The Technical Decisions

  • Not having hands-on engineering leadership is hopeless - But promoting good engineers into pure management roles feels like career progression
  • Having a separate DevOps team is hopeless - (DevOps is culture, not a team, but creating a team is easier than changing culture)
  • Calling/treating people as resources is hopeless - Because viewing humans as interchangeable parts makes planning feel simpler
  • Not treating engineering, product, and design teams as one team is hopeless - Yet separate teams provide clear accountability boundaries

Why do we ponder these problems endlessly instead of fixing them?

Because each represents a fundamental tension between what we know works and what feels safe, familiar, or politically expedient. We discuss them in circles because the solutions require uncomfortable changes - admitting we’ve been wrong, restructuring teams, having difficult conversations, or challenging established power structures.

The hopelessness isn’t in the problems themselves - it’s in our collective unwillingness to make the hard changes needed to solve them.

What “hopeless” pattern have you observed in your organization? Share your thoughts - this list grows with every honest conversation.

  • relying on qa and not on the test automation is hopeless
  • thinking qa is quality assurance and not quality automation is hopeless
  • treating product manager as project manager, and not giving them autonomy is hopeless
  • instituting managers to manage people in product engineering is hopeless
  • trying to measure product engineering productivity is hopeless
  • work life balance is hopeless
  • As startup founders expecting a 9-5 life is hopeless
  • not having hands on engineering leader is hopeless
  • having CTO and CPO both is hopeless
  • treating product and engineering as separate teams is hopeless
  • having product engineers who don’t understand data is hopeless
  • having data science without data foundation is hopeless
  • having a separate team for devops is hopeless (devops is a culture, not a team)
  • Using the wrong language to express a problem is hopeless. (Think resources vs people)
  • Everyone has agenda, either you fit your colleagues agenda, or they fit your agenda, having no agenda is hopeless :-)
  • having a team that doesn’t understand the business is hopeless
  • having a team that doesn’t understand the customer is hopeless
  • having a team that doesn’t understand the product is hopeless
  • calling/treating people as resources is hopeless.
  • treating an estimate as anything other than an estimate is hopeless
  • having meeting with more than 4 people is hopeless
  • having a meeting without an agenda is hopeless
  • not treating engineering, product, and design teams as a one team is hopeless

I will keep adding to this list, and I am sure there are many more things that are hopeless, if you have any, please do share with me on X (Twitter)

With Contributions from: Deepesh Naini, Sahil Kharb, Mahesh Lal, Ranjan Sakalley