Update: I'm Teaching Software Design & Architecture Full-time @ khalilstemmler.com

Last updated Apr 6th, 2022
Focusing all my efforts to teaching software developers how to write testable, flexible, maintainable code.

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:

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 πŸ‘¨β€πŸŽ€.


4 Comments

Submit
Peter Lazar
a month ago

I've bought the solidbook and love it. Eagerly awaiting for the rest of it!

Joshua
23 days ago

Thank you for everything, Khalil.

Loved the book.


Florent
22 days ago

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

Ivan
21 days ago

Thank you for your hard work! It's priceless for everyone, who wants to become better at software engineering


Stay in touch!



About the author

Khalil Stemmler,
Developer Advocate @ Apollo GraphQL ⚑

Khalil is a software developer, writer, and musician. He frequently publishes articles about Domain-Driven Design, software design and Advanced TypeScript & Node.js best practices for large-scale applications.



View more in Life



You may also enjoy...

A few more related articles

Non-Functional Requirements (with Examples)
Non-functional requirements are quality attributes that describe how the system should be. They judge the system as a whole based ...
4 Principles of Object-Oriented Programming
The four principles of object-oriented programming (abstraction, inheritance, encapsulation, and polymorphism) are features that -...
How to Test Code Coupled to APIs or Databases
In the real-world, there's more to test than pure functions and React components. We have entire bodies of code that rely on datab...
How to Mock without Providing an Implementation in TypeScript
Having to provide an implementation everytime you create a test double leads to brittle tests. In this post, we learn how to creat...

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.

Get updates