Software engineering is the discipline of building software that works under real-world constraints: changing requirements, imperfect people, incomplete information, and a need to keep running long after it was first written. It is broader than programming alone, covering design, testing, operations, and the social dynamics of a team.

This hub links out to related notes like Systems Programming and Software Testing.

References

  • Tiger Style — TigerBeetle’s opinionated engineering style guide