Become a Confident Crafter. Write Scalable, Testable TypeScript (React & Node) on any layer of the stack.

Make real progress & create new opportunities. Master what matters (without hundreds of books & courses).
40% off in the Early Adopter v2 phase

Join at the lowest rate it'll be until the official launch.

Enroll today


Why Should I Care About The Software Essentialist?

Shifts in the developer space.

Remember back in 2017?

When you could study HTML, CSS, buy a 25+ hour React.js course on Udemy and land a job within 3 months?

Remember when all you needed to pass your interview was a Vue.js weather app on your GitHub?

That was an easy ticket to $80k/year.

Wild times, man.

There's been a massive shift in recent years, though.

And it’s not that hard to see.

  • Thousands of new devs are entering the market every month
  • My favourite frontend devs I've ever worked with getting laid off
  • Self-taught devs getting hired at great companies, strictly from the Twitter (X) DMs (this is how I got landed my best gigs)
  • Frontend developers struggling with burnout & imposter syndrome
  • And mid-level generalists who do the boring stuff well, sitting comfy with decently sized promotions (this is what I'm all about - keep reading)

What’s going on here?

Here’s what I think: we’re seeing a shift that I’ve personally been arming myself & my audience against for years.

I call this shift the Value Differential.


The Value Differential

Staying up to date (with more than just the latest libraries & tools)

Abstraction is about encapsulating low-level, super-specific work.

Good programmers understand this. 

It’s just the natural order of how things go.

What used to take an entire fleet of frontend developers only takes a single full stack dev with access to GitHub Copilot.

Where a dev with a deep specialization in Webpack was once an organization’s saving grace, nowadays, a few ChatGPT prompts will do.

I've long been extremely wary of an over-concern about libraries, frameworks, tools & technologies — don't get me wrong, I think they're important…

But there had to be a reason why the frontend consultancy I used to work at, all their clients and closed up shop.

I've heard this story quite a few times in the frontend space.

We knew this is where we were heading.


Who Is This Guy?


I’ve been obsessed with finding the answer to question of “how to write scalable, testable code” ever since 2017.

It was born out of frustration, actually.

I followed the traditional path.

I graduated with a 5 computer science bachelors degree and a diploma in networking engineering.

I worked in terrible codebases at consultancies & launched my first startup (which took longer & longer to add features to) — only to realize that there was little that 5 years of university taught me which could prepare me for the real world.

It was a free-for-all.

I realized formal education had completely failed me.

Eventually, I said enough is enough and decided to take matters into my own hands.

I chose to figure out what it really takes to get good at this skill.

I didn't care how long it'd take me either.

I just had to know.

Hey, I’m Khalil

I turn developers into confident crafters developers without having to buy, read & digest hundreds of complex programming books.

Over the last 6-7 years as an educator and an ex-developer advocate at Apollo GraphQL, I’ve been following my curiosity — coding, blogging, studying software design, psychology, neuroscience, human-computer interaction, philosophy & reading every single one of the classic programming books from over the last 40 years — all while seeking advice from their original authors, on Twitter.

Over that time, here’s what I’ve been focused on:

  1. growing a Discord community of developers who want to be really good at what they do

  2. helping new devs get up to speed on the world of software design, architecture & testing in solidbook.io

  3. coaching developers 1-on-1 in The Software Essentialist Mentorship Training

  4. and in 2023, we launched the initial early adopter version of The Software Essentialist based on the mentorship training

My philosophy is Value Creation. It's what I'm most passionate about.

My vision is to create the best place on the planet for developers to ramp up on what really matters — and do it fast.

I'm helping developers become Value Creators themselves, in everything they do, without having to spend as much time as I did.

And while I believe that Mastery is key, it’s not the goal. 

It's merely the first step toward what you authentically want to Create — in your career, for your family, for your life.

That’s what I’m all about, personally.

Software Essentialism

There’s a faster way to learn how to write scalable code (on any side of the stack)…

...Without reading complex books, watching endless YouTube videos, surface-level courses, or having to learn new libraries & frameworks

The Software Essentialist is an online course that teaches professional JavaScript developers how to write scalable, testable code, fast.

This is a program for junior to mid-level developers who want to become infinitely valuable and irreplaceable developers.

Regardless of where you're currently at.

Maybe you’re trying to get your first job.

Maybe you’re trying to “do DDD”.

Or maybe you’re the “Experienced Junior Developer" (ie: you know a ton of different libraries & tools, but still — you seem to struggle with testing, feeling confident in your design & architecture abilities and knowing if you’re doing the right thing). 

“The top software developers are more productive than average software developers not by a factor of 10x or 100x or even 1000x but by 10,000x.” — Nathan Myhrvold, former CTO of Microsoft

Software Essentialism is a new way to think about code.

It’s about drastically reducing what we focus on.

It’s about what really matters.

Design, testing, architecture & strategy.

Based on Aristotle's Metaphysics and the philosophy of Essentialism, I’ve synthesized together 12 Essentials that cover the vital 80-20 — the Pareto's Principle of wisdom passed down by the experts from over the last 40 years.

The 12 Essentials make up the most important parts of:

  • Domain-Driven Design
  • Test-Driven Development
  • Object-Oriented Design
  • Functional Programming
  • Design Patterns
  • Design Principles
  • Architectural Styles & Patterns
  • Architectural Principles
  • DevOps & Continuous Delivery
  • and more…

And in The Software Essentialist, we'll master each of these 12 Essentials by going through a process I call the Phases of Craftship.

Enroll today


What Will I Learn?

You’ll learn this in ~8 weeks.

Part 1

The Metaphysics (The Mental Models & the 12 Essentials)

Imagine trying to hit a home run, but you're facing the opposite direction.

Thats kinda what it's like these days if you’re focused on learning the wrong things. Lets re-align to the first principles.

In this first part of the course, we clarify the foundational philosophy of Software Essentialism.

You'll gain a minimal, stripped down, sythensized picture of what matters & what doesn't.

This first part of the course sets us up to take massive action on what get you the most results.

This is where you'll:

  • Learn the critical role mental models play in your skill level as a developer
  • Understand the purpose of software & software development & how to become a Value-First developer
  • Break down the 4 pillars, why it's so hard to master them independently & what we'll do instead
  • Discover where you currently are in your developer journey & how we'll progress using the 5 Phases of Craftship
  • Learn the 12 essential mental models that make up the 80-20 of DDD, TDD, BDD, architectural patterns, styles, design patterns, object oriented & functional programming, functional programming, deployment pipelines & more.

Part 2

The Five Phases of Craftship

The bulk of the course is The Five Phases of Craftship — distinct phases of lessons, labs, demos, exercises & assignments to move you from wherever you are now to the next phase and beyond.


  • In the Code-First phase, we’ll focus on turning you into a full-stack developer who understands the core fundamentals of abstraction, abstraction layers, MVC, and each part of the stack involved with shipping value into the world.


  • In the Best Practice-First Phase, we’ll focus on shifting away from the typical “best practices” to the real best practices.
  • You’ll set up an incredibly strong foundation built on TDD, BDD, object-oriented design & understand how to not only write valuable tests using a testable architecture on any side of the stack, but how to:
    • clarify what you build before you build it
    • safely refactor existing features
    • decouple from infrastructure using a Hexagonal Architecture
    • set up a scalable project architecture
    • fix your flaky E2E tests
    • embed valuable tests in a deployment pipeline
    • use a combination of valuable, customer-focused E2e, unit & integration tests for both frontend & backend
    • and more


  • In the Pattern-First Phase, we’ll focus on understanding the domain, the ubiquitous language, the patterns used to organize your code, and test with a higher level of flexibility & dexterity.
  • You’ll learn how to:
    • discover the data, rules & relationships of the domain using DDD techniques
    • create a domain model to house the core of your application
    • organize your code into various frontend and backend patterns, enabling you to decouple from infrastructure and implement new testing strategies
    • use event-driven techniques to write your features in a scalable way
    • introduce even more powerful testing strategies on any side of the stack
    • and more


  • In the Responsibility-First Phase, we’ll learn how to use a design method to decompose and design solutions to problems at the most atomic level.
  • You’ll learn how to:
    • balance coupling & cohesion at the deepest level
    • develop core design confidence using the 3-Step RDD process to design anything
    • use the Stereotypical Architecture to select & integrate libraries & frameworks
    • and more


  • In the Value-First Phase, I'll teach you my new Systems Thinking-based FA²STR framework, which gives you a consistent, repeatable process to design, test, and develop your way through any challenge from first-principles-based techniques.
  • Also in this phase, you'll build & refactor features from within 5+ projects (backend, frontend, desktop, chrome extension, custom integration, etc) using everything we've learned throughout the Phases.

Regardless of which phase you're at, the course is designed so you'll be able to make progress & get to the next phase — which will skyrocket you to new professional and creative heights.


Part 3

Mastery is Not The Goal

Again, Mastery is key but it's not the end goal. It's just the first step towards your next phase of evolution to do and Be whatever is most authentic to you.

We wrap with guides on what to do next once you’ve reached the next phase of craftship

  • How to market yourself as a developer
  • How to attract the opportunities you want
  • How to validate & test ideas for products you can build


Q&As (from the Early Adopter Phase)

Over 20 Q&As, Webinars & community discussions covering topics such as: E2e testing, frontend architecture, Domain-Driven Design, BDD & entrepreneurship.

What’s included in the course?

Value-Packed Written & Video Lessons

You’re going to get the step-by-step path of content that shows you what you need to know, when you need to know it — in a mixture of video & written lessons.

Course Discord Community Membership

You'll get exclusive lifetime access to The Software Essentialist Discord Group w/ me, the other students on the same path as you, and The Software Essentialist Mentorship Alumni.

Code (Repos, Samples), Demos & Discussions

There’s going to be a lot of code to learn from. You’ll get access to all the code samples, access to demos & discussions going over fellow student submissions.

Hands on exercises & assignments

This is a hands-on course. To get the most out of it, I’ve set up multiple assignments and exercises at each stage for you to get real experience with.

+ Valuable Bonuses

You’ll get instant access to the current version of solidbook (if you don’t already have it), the upcoming Pattern Catalog, new content added weekly, and much more.

Enroll today


Why ~550+ Crafters Already Joined as Early Adopters

A community of Value Creating developers.


Join the Early Adopter v2 (40% off)

($1169) $699 

Temporary price until the official launch

Enroll in the Early Adopter v2 today 

40% off The Software Essentialist | Early Adopter v2


$699.00 USD
The Software Essentialist (40% Off)

2 monthly payments of $374.00 USD
Enroll today

What Past Students Said

Who This Course Is For

  • Professional JavaScript developers
  • Front-end developers
  • Self-taught developers
  • Go-getters
  • Developers willing to do what it takes to get to the next level

Who This Course Is NOT For

  • Developers not willing to master testing
  • Developers who don't care about scalability
  • Developers who would prefer to learn the basics using the latest tech
  • Developers not willing to take instructions (and prefer to figure things out on your own with trial and error)
  • Developers not willing to putting in the work
  • Developers who expect things to be easy
  • Developers who won't do the exercises or assignments
  • Developers who passively watch video courses & YouTube videos but don't balance it with equal amounts of action
  • You're not willing to join an Early Adopter program
Enroll today
Got questions?

Make sure you're making the right decision

Here are some answers to common questions.

Got another question?
Join 🌀-the-essentials-chat on Discord or shoot us an email @ [email protected].

© 2024 Enjoy! Innovations
By visiting this page, you agree to terms and conditions, privacy policy & earnings disclaimer.