Understanding and writing best practice software
Good design is paramount these days for good software that creates value for users–that is, software that is good and enjoyable to use. I suggest that to that end, a good definition for ‘good design’ is, good design is when a creator makes thoughtful decisions by taking into account everything that reasonably impacts their target/known user base. There’s nothing frou-frou or easy about good design, nor is it primarily concerned with how things look. It’s a fundamental approach that needs to affect every aspect of your software.
Resources for writing better software
More resources can be found on our page for supporting codebases at work.
- CodingHorror’s awesome post, “Password rules are bullshit”
- Refactoring: Improving the Design of Existing Code, by Martin Fowler
- Beautiful Code: Leading Programmers Explain How They Think, by Andy Oram
- Debugging: The 9 Indispensable Rules For Finding Even the Most Elusive Software and Hardware Problems, by David J Agans
- Design Patterns: Elements of Reusable Object-Oriented Software, by Erich Gamma
- Test Driven Development: By Example, by Kent Beck
Becoming a better developer
- Apprenticeship Patterns: this awesome book is free online!
- Level up as a dev, great article.
- “If you want to level up as an engineer, read the code. All of it.”
- New Programmer’s Survival Manual
- Developer’s Edge: “How to become a senior developer”