Update: I'm Teaching Software Design & Architecture Full-time @ khalilstemmler.com
Well, everybody. The time has come.
March 31st, 2022 was my last day at Apollo GraphQL. After about 3 years, countless blog posts, 4 talks, 3 trips, I'm stepping away from my Apollo fam to focus on teaching devs how to write testable, flexible, maintainable code.
I'm going to miss the team; and while I believe that the supergraph is seriously the future, duty calls. I'm returning to focus primarily on my book, courses, blog, videos, and open source work.
I started this blog in 2019 after having successfully tanked the quality of the code for my own startup company called Univjobs.
Freshly graduated from university, I was surprised at how ill-prepared I actually was in the craft of software design.
Not knowing how to organize business logic, write tests, or write code in a way that it gets better instead of worse after time, I sought out answers. I decided that I was going to study, practice, and master the craft of software design.
The most popular articles I've written from 2019-2021 are:
- An Introduction to Domain-Driven Design - DDD w/ TypeScript
- Client-Side Architecture Basics
- How to Learn Software Design and Architecture | The Full-stack Software Design & Architecture Map
- Introduction to Test-Driven Development (TDD) with Classic TDD Example
Documenting my learnings here on the blog and within solidbook.io (a guide to software design and architecture), over 2500 developers have purchased the book!
I've been blown away by the feedback I've received even though it's only about halfway done (and only a first draft)! Not only that, but the open source project we build in the book, DDDForum, has over 1200 stars and 240 forks.
Thank you everyone for your support, feedback, and PATIENCE - especially you early book readers. I appreciate you tremendously.
“Rule of thumb: The more important a call or action is to our soul's evolution, the more Resistance we will feel toward pursuing it.” ― Steven Pressfield, The War of Art: Winning the Inner Creative Battle
Complexity is chief antagonist of well-crafted software. A naturally occuring phenomenon, if we do nothing about it, it will only get worse. To you, the reader:
- who is learning how to write code that fans the flame of complexity
- who is thinking strategically about feature-development because you know that "just making it work" once != good code
- who is learning how to use tests to gain consistency and reliability in their work
To you developers - you who feel the pull...
... where are we going?
Liked this? Sing it loud and proud 👨🎤.
Stay in touch!
Enjoying so far? Join 15000+ Software Essentialists getting my posts delivered straight to your inbox each week. I won't spam ya. 🖖
View more in Life
You may also enjoy...
A few more related articles
Software Design and Architecture is pretty much its own field of study within the realm of computing, like DevOps or UX Design. Here's a map describing the breadth of software design and architecture, from clean code to microkernels.
Learn how to use DDD and object-oriented programming concepts to model complex Node.js backends.
Want to be notified when new content comes out?
Join 15000+ other Software Essentialists learning how to master The Essentials of software design and architecture.