$1,199.00 USD


Full Course

No risk. 14-day refund policy
See everything that is in the course:
This interactive course lets you elevate your software design skills at your own pace, whether you're looking to become a team leader or just seeking to refine your craft.

Guided by software design expert Jimmy Koppel, you'll delve into six comprehensive units, each dedicated to a unique aspect of software design, from the Hidden Layer of Logic to Future-Proofing Code. You'll gain a deep understanding of principles like Hoare triples, Embedded Design, and Representable/Valid Principle, enabling you to write clean, robust code and make design decisions that save hundreds of hours down the line.

Aside from didactic learning, you'll gain access to a curated library of readings, selected by Jimmy himself, comprising insightful articles and academic papers that further enrich your understanding of the art of software design.

This course is designed for engineers with at least a year of professional experience who are looking to upskill, take on more responsibility, and make a tangible impact on their team and projects.

Engage in self-paced learning that translates into real-world impact, becoming a better engineer and mastering the art of advanced software design with us.

If you want to know more before deciding to sign up, book a call with either Nils or Jimmy

Here’s a link to Jimmy's calendar: 

And here’s a link to Nils calendar: 

See everything that is in the course:

Preview | First lesson Unit 1: A Story About Stories

What People Are Saying:

I was fired from a FAANG and told I would never reach the next level, but somehow got hired to that level at a different FAANG anyway. But it’s thanks to Jimmy I was able to perform at that level. Within months, I had senior employees assuming I must have been there for years, and was exceeding manager expectations. The only explanation for my improvement is working with Jimmy.

Amir, Software Engineer, New York City

I’ve learned more from the first 2 weeks of Mirdin’s course than from 2 years of grad school

Dennis Lumpkins, Principal Engineer, T-Mobile

Don’t repeat yourself. Don’t use magic numbers in your code. As experienced developers, we’ve all heard advice like this. We have decent intuition for “good” code. After watching Jimmy’s Strange Loop presentation and his explanation of citrus advice, I realized that much of the software design tips available have some truth embedded in them, but are imprecise. There are deeper truths for those who want to find them. Jimmy created a set of principles that we can use to build better software. From his principles, advice like those above can be derived and understood. The course is challenging, but Jimmy will go out of his way to make sure you grasp the material. After the first week of the course, I noticed improvements in my code. By the middle of the course, I was more aware of all the decisions I was making when writing code, and I started changing some of my old habits. I particularly enjoyed the refactoring exercises and one-on-one coaching sessions. If you are committed to improving your software design skills, work with Jimmy.

Bryan Andrade, CTO, Atlas Health

After working 1-on-1 with Jimmy years ago, I had both of my engineers take Mirdin’s course recently. Since taking the course, I have sensed during design reviews that their understanding of software design has greatly elevated. As a result of their improved understanding and communication, we now routinely achieve better clarity on a design in 15 minutes than we previously could in an hour.

Yoonseo Kang, CEO, Guidebolt Robotics

As a tech lead at Google, I have always been trying to improve my software design skills. I decided to sign up for Jimmy’s class after looking at the overview of its content. Jimmy is a fantastic instructor. He spends a lot of time reviewing my homeworks & answering questions. The reading materials & exercises are top notch. Before Jimmy’s class, I had vague ideas of how to write code “the right way.” After this class, I have a lot more clarity in terms of writing good code and designing better software. I find myself better at articulating my design rationale, and having easier time aligning people’s opinions on difficult decisions. My colleagues also said they noticed my code reviews are a lot more objective and convincing.

Ned Nguyen, Staff Engineer, Google