Hacker News new | past | comments | ask | show | jobs | submit login

Offhand and IMHO, some possibles can be:

  - fear or lack of understanding of a legacy codebase
  - fear or lack of understanding of a 3rd party component
  - time pressure
  - too many edge cases to handle
  - intra-team communication issues or stylistic differences
  - lack of domain experience to understand those edge cases
  - lack of time to build the correct design, or rebuild a design if it won't fit
  - project management pressure against big-design-up-front and to "start now" when making something more organized is required
  - unclear requirements
  - not interested in work or company anymore
  - lack of use cases representing all possible usage scenarios
  - it's actually not their code that was bad, but they are coupled to bad systems that are themselves bad/leaky/error-prone



Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: