Get the book

Pricing

FOR PROFESSIONAL DEVELOPERS

Wiki & book

$29.99

Over 600 pages. Seriously.

Access to the online, wiki version of the book

PDF + EPUB


Looking for team pricing? What's the size of your team?

About The Author

Hey! I’m Khalil @khalilstemmler.

I’m a writer, developer, musician, and ex-Apollo GraphQL developer advocate currently working on essentialist.dev.

I spent years following my curiosity, trying to master what the experts from over the last 40 years of software design, architecture & testing discovered actually works. It took me around 7 years of reading and synthesizing their books with practice to developed my own practice (called FA^2STR) and a set of principles that guide my work today, which I call "The 12 Essentials".

Ultimately, my mission with essentialist.dev is to help developers master what matters so they can take on new opportunities with confidence. It's a community of developers committed to becoming great at what they do so that they can get more out of their careers and their lives.

What you're looking at here is the wiki I created along that path. It's an ontology, a map, a world that explains all of the major topics (OO, RDD, Design Patterns, Design Principles, software craftsmanship, etc) and how they connect together.

This initial world-building was really important for me - to stick with it and untangle the web of topics to see the bigger picture.

If you're just coming into this space and you'd like to understand (from the bottom up), how everything fits together, solidbook can help you with the first step: clarity.

If you're not familiar with my work, check out my blog. You'll find topics on Domain-Driven Design, Enterprise Node.js, and Client-Side React Architecture.

Frequently asked questions

Why did you write this?

The truth is, not a lot has changed about the fundamentals of software design over the past 20 years, but there's a huge lack of training on it.

I tend to agree with Eric Elliot, who writes excellent content about software composition.

He says, "99% of working developers lack solid training in software design and architecture fundamentals. 3/4 of developers are self-trained, and 1/4 of devs are poorly trained by dysfunctional CS curriculum. And almost zero companies make up for those deficiencies with in-house training and mentorship. In other words, if you simply accept the status quo and refuse to offer training in-house, your team will be the blind leading the blind."

The fact that over $85 billion was spent fixing bad code in 2018, and that massively influential engineering companies like Uber are only now discovering Domain-Driven Design and other essential architectural patterns after 2200+ microservices, is a sign we could do better.

“Those who know not of history are also doomed to repeat their mistakes” (Santayana’s curse).

Software development is a relatively young trade compared to other trades out there. The way we perform our jobs isn't normalized the same way building a house or fixing a car is. Software developers with livelihoods and reputations can't afford to make big mistakes.

Who is this for?

Anyone paid to write software to provide value for a business, and to do it consistently.

Developers who want to learn how to design large-scale applications.

Developers frustrated with writing buggy code and breaking things all the time.

Developers who care about shipping quality code and want to learn how to write code that can actually be tested.

Developers who want to see their codebase actually improve as more code gets added to it, rather than degrade over time.

Junior full-stack developers who are comfortable with JavaScript & Node.js that want to learn how to write clean, flexible, testable, and maintainable software.

Bootcamp graduates who are curious to learn more about backend development.

Team leads, engineering managers, and CTOs who want a single resource to ramp their Junior developers up.

Blog readers interested in Domain-Driven Design.

How can I get future updates?

The wiki is done! But if there are any updates, you'll get an email and can check out the Updates tab in the wiki.

Tell me about the wiki

Books aren’t great mediums. They go out of date and they’re hard to update.

I take all my notes and manage my knowledge in Notion. I wrote a program that takes my Notion and executes a script that converts it to both a book (PDF, EPUB) and the wiki!

Readers who have purchased the book have access to the wiki, which lets you bookmark pages, download new versions, and submit feedback.

Refund policy?

Sorry, we can't offer refunds on this one.

Do you offer Purchasing Power Parity or Student Discounts?

Get in contact with me and I’ll hook you up with a discount.

I already bought the book, how do I download new versions?

Jump over to the wiki and go to the Downloads) page. If you’re not logged in, you can send yourself a login link by entering your email.

How do I access the wiki?

If you’ve bought the book, you can use your login link to read the wiki. If you’re not logged in, you can send yourself a login link by entering your email.

Your site’s not working!

The wiki won’t work properly if you have Third Party Cookies disabled. If you’re using Chrome, you can fix this in chrome://settings/cookies. If you’re experiencing any other issue, let me knowand I’ll fix it.

I have another question!

Hit me up. I’m happy to hear from you.