news.volyx.in

Developers spend most of their time figuring the system out (lepiter.io)

839 points by webmaven · 1629 days ago · 410 comments on HN

Article summary

The article discusses how developers spend most of their time figuring out the system they are working on, citing studies from 1979 and 2018 that show maintenance and comprehension taking up a significant portion of development time. The author argues that this time can be optimized by framing the problem differently and using tools that match the context. The article also introduces the concept of moldable development, which involves creating custom tools to extract information from data. The goal is to reduce the time spent on reading code and increase productivity.

Main themes

  • Software development productivity
  • Code comprehension
  • Moldable development
  • Documentation and comments
  • Mathematics and knowledge transmission
  • Leaky abstractions and API design
  • Custom tooling and data science approaches

What commenters say

  • Developers can better understand a system by talking to the original developers or architects, rather than just reading code.
  • Mathematics is a field where knowledge is built upon a small set of axioms and can be traversed across centuries and cultures.
  • The loss of original developers can make it difficult for new maintainers to understand a system, even with access to the code.
  • Good abstraction and documentation are essential for reducing the complexity of software systems and making them easier to understand.
  • Comments and documentation are important for making code readable and maintainable, but they can become outdated and misleading if not properly maintained.
  • The concept of leaky abstractions is important for software engineers to understand, as it can make it difficult to create effective and consistent APIs.
  • Creating custom tools and using data science approaches can help optimize the process of figuring out a system and reduce the time spent on reading code.