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, Software Testing, Diátaxis, and State Machines.
References
- Tiger Style — TigerBeetle’s opinionated engineering style guide