The very first step towards creating long-lasting software is figuring out how to write clean code.Ĭlean code is code that is easy to understand and change. Here it is below! To fork the repo, read my detailed write-up and download it in high-res, click here. While I think the stack is good to see the bigger picture of how everything works together, the map is a little bit more detailed (and inspired by the web developer roadmap) and as a result, I think it's more useful. Similar to the OSI Model in networking, each layer builds on top of the foundation of the previous one.
I've broken it down into two artifacts: the stack and the map.
Here's my roadmap for how to learn software design and architecture. This past year, I've been going hard in software design and architecture, Domain-Driven Design, and writing a book on it, and I wanted to take a moment to try to piece it together into something useful I could share with the community. It's crazy to me to consider the fact that Facebook was once an empty text file on someone's computer. This article is a summary of what I'm writing about in my newest project, solidbook.io - The Handbook to Software Design and Architecture with TypeScript.