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.
Why I started this blog
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.
Best hits
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
solidbook.io
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.
To mastery
β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?
To mastery.
Discussion
Liked this? Sing it loud and proud π¨βπ€.
Stay in touch!
We're just getting started π₯ Interested in how to write professional JavaScript and TypeScript? Join 10000+ other developers learning about Domain-Driven Design and Enterprise Node.js. I won't spam ya. π Unsubscribe anytime.
View more in Life

You may also enjoy...
A few more related articles




Trending Content
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 10000+ other developers learning about Domain-Driven Design and Enterprise Node.js.
I won't spam ya. π Unsubscribe anytime.
4 Comments
I've bought the solidbook and love it. Eagerly awaiting for the rest of it!
Thank you for everything, Khalil.
Loved the book.
Congrats for what you did!
What you wrote (are writting) is GOLD and make so much sense even for non junior developers!
I wish you the best for your new full time position, and hope it will make you happy and meet your expectations ;)
Keep going, cheers
Thank you for your hard work! It's priceless for everyone, who wants to become better at software engineering