news.volyx.in

Ask HN: Strategies for working with engineers that are too smart?

509 points by throwitawaaay · 1331 days ago · 474 comments on HN

Article summary

The article discusses the challenges of working with extremely smart engineers who tend to add complexity to systems and have different coding styles. The author struggles to argue against their proposals, which often make the system better in some ways but also more brittle and harder to reason about. The author seeks advice on how to work with these engineers in a productive and friendly way. The issue is particularly relevant in embedded systems, where simplicity and maintainability are crucial.

Main themes

  • working with smart engineers
  • code complexity
  • coding style
  • maintainability
  • teamwork
  • communication

What commenters say

  • Some engineers prioritize solving problems in a neat way over simplicity and maintainability, which can lead to unnecessary complexity.
  • Setting clear coding standards and norms can help avoid debates about code style and complexity.
  • Under-challenged engineers may seek to add complexity to systems as a way to challenge themselves.
  • Adding simplicity to a codebase is often slower and harder than adding complexity.
  • Engineers who prioritize density and brevity in their code may be used to working on throwaway code or academic projects, rather than maintainable software.
  • A balance between complexity and simplicity is necessary, and engineers should consider the needs of their teammates and the long-term maintainability of the codebase.
  • Some commenters suggest that these engineers may lack empathy for their fellow developers or be too focused on showcasing their intelligence.
  • Others argue that these engineers are simply underutilized and need more challenging problems to work on.