About this site
Software engineering is not an exact science, but principles can help you craft better software faster. This site collects and describes those principles, drawn from personal experience, observation, and reading.
I hope it proves useful to others looking to improve their craft. Many of these principles would have been valuable to me earlier in my career. The content will evolve over time through learning, discussion, and experience, though there are always more principles worth knowing than I could ever cover here.
Disclaimer
None of these principles are set in stone or apply everywhere. They are based on personal opinion, experience, and the work of people who have shaped how I think about software. Think about them and apply them wisely to your own situation, not blindly.
Python in the examples
I use Python for code examples for two reasons; I am very familiar with Python and I find that it can express abstract ideas using very few lines of code, making it perfect to describe ideas in a succinct way. The principles described on this site should however be usable regardless of programming language or tech stack.
A note on artificial intelligence
AI is used to structure and improve the content on this site, and sometimes to generate a starting point for content. All content is initiated, checked, and approved by a human.