Why senior developers fail to communicate their expertise
This article dissects the core communication breakdown between senior developers and the business, attributing it to a fundamental mismatch: developers prioritize complexity management while businesses chase uncertainty reduction. It smartly introduces two business loops (speed for market feedback, stability for customers) and proposes a 'quicker' communication strategy for developers. The piece gains traction on HN by hitting a common pain point for engineers and speculating on how AI might exacerbate these tensions, offering a thought-provoking solution.
The Lowdown
The author argues that senior developers often struggle to effectively communicate their expertise because their primary concern is complexity management, ensuring system stability and maintainability. This clashes with the rest of the business, which is driven by uncertainty reduction and the need for speed in bringing new ideas to market.
- Two Business Loops: The article describes two concurrent business loops: a 'first loop' focused on market exploration and rapid feedback (driven by product, marketing, sales, CEO) where uncertainty is the monster, and a 'second loop' focused on serving paying customers and ensuring service continuation (often managed by senior developers) where complexity is the monster.
- Communication Gap: Senior developers frame their concerns in terms of complexity (maintenance costs, understandability), which fails to address the business's need for speed and uncertainty reduction.
- Proposed Communication Strategy: Senior developers should reframe their solutions in terms of uncertainty reduction. Instead of saying 'no' to complexity, they should ask, 'Can we try something quicker?' This acknowledges the business's goal while allowing developers to leverage their resourcefulness.
- AI's Double-Edged Sword: AI is seen as accelerating the 'speed' loop but destabilizing the 'stability' loop by introducing more complexity and reducing understandability without taking responsibility.
- Decoupling for the AI Era: The article suggests a radical decoupling: a 'Speed' version of the system for rapid experimentation (potentially AI-driven) and a separate 'Scale' version designed by senior developers for stability and long-term maintainability. Senior developers would transition from 'writers' to 'editors.'
Ultimately, the article posits that senior developers' expertise lies in knowing what not to build and how to be resourceful. The key to better communication and navigating the AI-driven future is to align their stable, complexity-reducing solutions with the business's need for rapid uncertainty reduction.
The Gossip
Nuance Niggles
Commenters generally appreciate the premise but push back on the article's 'blanket statements,' arguing that the ideal senior developer adapts their approach to the specific context of the company (e.g., startup vs. large enterprise) and product type (e.g., critical firmware vs. CRUD SaaS). They emphasize that complexity isn't always bad and sometimes necessary, with the challenge being when and where to introduce it strategically.
PoC Predicaments
Many in the community resonate with the observation that 'proof of concepts' or 'experiments' rarely get rewritten and often become the production system, leading to technical debt and stability issues. There's a shared frustration regarding the perceived lack of accountability from those who prioritize rapid feature delivery over long-term maintainability and system health, highlighting a systemic problem beyond individual developer communication.
AI: Accelerant or Annoyance?
The discussion delves into AI's impact, with some agreeing that it accelerates speed but questions arise about the quality of 'hastily-generated AI features,' often branded as 'slop,' leading to customer dissatisfaction. There's a strong sentiment that business leaders, tired of perceived developer slowness, are embracing AI, potentially unaware of the long-term 'destabilizing' effects on code quality, security, and maintenance, shifting the burden onto the remaining human developers.