Software engineer syllabus
This is an ad-hoc list of posts or books that would form part of my software engineering syllabus if I were to make one. The list grows when I remember something I’ve read before or discover something new.
Source control
Testing
- Property-based testing. Since many people start with Python, I’d start with the Hypothesis docs.
Design
People skills
- Turn The Ship Around, and its sequel, Leadership Is Language, by David Marquet.
Documentation
- Look at some examples of truly first-class documentation. https://reference.wolfram.com/language/ref/Graph.html is interactive documentation (if you have Mathematica) that is absolutely superlative. From another angle, the Rust book is widely agreed to be excellent.
- The nature of documentation: https://documentation.divio.com/
Things everyone always gets wrong
Things are in this section to make sure that you recognise that they are hard.
- Unicode. The article is from 2003, but the only thing which has aged is that everyone agrees now that UTF8 is the correct way to go (it was pretty new at the time of the article).
- Time
- Names
- Addresses
- Cryptography
- Package managers