Master Software Design

Create Solid Code

Land that Promotion

Programmers learn by making bad design decisions, working on the codebase for a year, and then find themselves wishing they could go back and do things differently. I can give you that experience in an hour.

James Koppel

Join one of our offerings

Starting very soon!

Sign up to our newsletter Arch-Engineer

Lessons on how to write better code directly in your inbox.

Sign up and receive a free copy of 7 Mistakes That Cause Fragile Code.

The Program

  • How to know when up-front design is simply premature optimization — and when lack of it can doom your codebase permanently
  • Calculate with machine-precision how a simple choice of representation can shape your code for years to come
  • Learn how certain choices can cause a project to fail — before you’ve written a single line of code
  • Spot the simple coding flaw that professional engineers make daily — and how it can make code nigh-impossible to evolve
  • Learn how to design code that simply can’t go wrong — and what designs are just bugs waiting to happen
  • Learn the surprising secret behind the power of a program
  • Know when automated tests are appropriate, and when to use a different means to aid correctness
  • Understand what it means to write testable code, and how to decide when enough tests have been written
  • Learn why simply reading code is not enough to determine it is fully tested

From the one trick that can let you understand a codebase three times as quickly, to understanding the true nature of modularity, new content is added on a regular basis.


Jimmy has a wizardly knowledge around software design. There were several instances in which I asked him questions that I didn’t expect would have a nicely packaged answer, and he somehow was able to arrive at one. He’s able to take the ambiguity of how to “design a software system” and be very explicit and clear about how things should or shouldn’t be done, and the reasons behind them. There really isn’t another place or person I know of that’s able to teach software design as uniquely and effectively as Jimmy. I frequently see many of the topics I’ve learned come up in practice and now know what to do in those situations.

Chase, Palo Alto

Jimmy took me from being that coder that people tolerated because of “potential” and taught me so much that I had Google and Facebook fighting over me, then had all the hottest teams at Facebook fighting over me.

Oh, and my salary increased 67%.

Sarah, Palo Alto

Ready to Learn?

Starting very soon!