Become A Senior Developer

Imagine being able to solve more complex software problems than ever before and write beautiful code that’s easy to maintain or extend. Imagine taking a quantum leap in your software developer career and completely change the way you approach software design.


Enroll Now

Did you know the difference in salary between a junior and a senior developer in the US is $40,000 on average per year?

This shows how important it is to invest in yourself: the potential gain is enormous! Becoming a senior developer means you have to be a great programmer. To become a great programmer, you have to know how to solve the complex problems that no one else can solve. Learn to structure problems logically so you can translate them into software. You have to adopt the mindset of a software designer.

But how do you get there? There’s a lot of great material online that will help you, but there’s also a lot of wrong, outdated information and bad coding practices that are still being promoted today.

You can try to walk this path alone, spend a lot of time trying to figure out what you need to learn, and then having to unlearn things again if you follow the wrong advice. You might end up farther away from your goal of becoming a senior developer, throwing away thousands of dollars per month because you’re not able to make that next move in your career. 

But why make it so hard on yourself if there’s another path

A path where you’re intentional about investing in yourself.

A path where you’re not alone, where you’re surrounded by peers.

A path where I’ll be there alongside you to guide you, to teach you the best practices of software design that get you results, and to make sure you unlock your full potential.

Introducing: The Software Designer Mindset

This course provides a modern take on software design, and teaches you a designer mindset that will allow you to consistently make better design decisions, getting you ready to take the next step in your career where you’ll be able to design complex software, immensely improve your existing code, and create software that is easy to change and scale.

The course uses Python for all code examples. Having some knowledge of programming in Python is therefore recommended before following this course. However, what you'll learn in the course you'll be able to apply to any programming language and software project.

Solve complex software design problems with ease

Refactor existing code to be future-proof and scalable

Take a major leap in your career as a software engineer

Easy-to-follow examples in Python

I'm Arjan

I've been passionate about programming and computer science since I was a kid. I've completed a Master and PhD in Computer Science and I have more than 20 years of teaching experience. I've launched several startups and designed and built complex software products from scratch. My goal with this course is to help you become a senior software engineer, by teaching you everything I know about software design.

What my students say about the course

"It is refreshing to see this complicated matter being explained in a way that is easy to understand, in easily digestible parts that are not too long, thereby providing insights I didn't have before. Such as to not focus on design patterns per se, but on the underlying principles: e.g. strategy can be implemented also without using protocols/abc (or interfaces in Java)"

"The course lets you understand the underlying principles of software design in a very accesible way. Good examples and also you discuss trade-offs. And it teaches very well that there are no hard and fast rules that apply always. There are the principles that guide you in when to apply what ('the mindset'). You still have to think for yourself :-)"

"I liked how your course (and your Youtube Channel) is mostly focused on software development and only uses the language to teach the concepts. I think that is, if not unique, something that is missing from a lot of other people doing programming content."

"It's much more fun to work on my own code now after applying some of the principles I've learned from your course to it!"

"I've enjoyed the way that you treat the concepts, making it very easy to understand with your explanation. I've also appreciated the content to the course, focus on more theory and principles, aming to teach why things are the way they are and why some ways are better than others."

"The challenging quizzes and the deep dive into before and after codes. Also, showing different methods to achieve a similar goal. My main objective is to apply high cohesion and reduce coupling in our current code as best as I can. Our current code = Spaghetti."

This course is for you if:

  • You have some programming experience and you want to take your skills to the next level.
  • You truly want to become a better software developer and you’re willing to invest in yourself and put in the work.
  • You want to grow into a senior software developer position, but you want to do it efficiently.
  • You love writing beautiful code that feels like it’s the perfect fit to a software problem.
  • You want to learn how to setup larger software projects without breaking a sweat.

This course is NOT for you if:

  • You have no programming experience at all. 
  • You expect results without putting in the effort. You have to be serious about becoming a senior software developer and be willing to put in the time and follow the principles.
  • You expect a course that covers in-depth software testing techniques. This course focuses on software design. However, applying the principles will lead to software that’s a lot easier to test.
  • You expect a course that covers design patterns. This course focuses on something deeper: the principles behind the patterns, and the mindset you need to come up with your own patterns.
  • You hate Python :).


Every learning journey is unique, but there are core concepts that hold true for everyone. Here’s a sneak peek of what you’ll learn inside the 15 core video lessons of  The Software Designer Mindset:

Part 1

In the first part, you’ll learn about types, data structures, and abstraction in Python, but from a very specific point of view: the designer’s point of view. In particular, it covers which data structures you should use in what situation, and why types and abstractions are so important.

Part 2

The second part of the course presents the 7 Principles Of Modern Software Design. It takes many of the existing design principles and adapts them to the needs of the modern software designer. It goes way beyond object-oriented design by teaching you generic principles that apply to any programming language and paradigm, whether that’s object-oriented, purely procedural, or functional.

Part 3

The third part of the course focuses on writing more robust code by being able to handle errors, avoiding certain structures in Python, and you learn how to setup a larger software project, as well as optimize your coding environment so you can work quicker.

Complete and Professional Edition Only

If you purchase the Complete or Professional edition of the course, you'll also get:

  • An in-depth, practical video series where I teach you how to build an API from scratch in Python. I'll go through the entire process with you covering every aspect ranging from the scaffolding of the project, designing the data structures, creating the architecture of the API software, applying the principles you've learned in this course to make the code future-proof, and showing you how to add unit tests to make the code more robust.
  • 15 quick design wins: this is a really fun series of short videos, each highlighting one simple thing you can do to improve your software's design that takes only a few minutes.

Each part of the course has code examples written in Python that you can download, there are quizzes and exercises for you to sharpen your design skills, and each lesson is filled to the brim with tips and tricks taken from my own experience of teaching computer science and developing complete software products.

Enrollment also includes access to a private student community. Connect with people from all around the world who are on the same learning path as you, exchange ideas, find new friends to start exciting software projects with, and get extra support when you need it!



Everything you need to become a software design expert

  • Full access to the main course content (6-7 hours of training)
  • Code examples
  • Quizzes
  • Private student community on Discord
  • Lifetime access



Take your software design skills to the next level

  • Everything included in Basic, plus:
  • Building an API from scratch (1-2 hours of material)
  • Quick wins to improve your software design (15 short videos)
  • Lifetime access



A premium, personalized course experience

  • Everything included in Complete, plus:
  • A one-time custom code review by Arjan, in Python, JavaScript or Typescript
  • Lifetime access

Don’t forget: it’s completely risk free

I’ve packed a lot into The Software Designer Mindset, because not only do I want you to succeed as a senior software developer, but I want to guarantee that you don’t fail.

And to make it a no-brainer deal for you I’m giving you a 30-day 100% money-back guarantee with your purchase of The Software Designer Mindset today.

That’s right: go through the course material, follow the steps, put in the work, and if you don’t love it in the first 30 days of your purchase, send me an email and I’ll refund you immediately. No questions asked, no hard feelings.

If The Software Designer Mindset doesn’t work for you, I’d much prefer for you to take your money and invest it where you will be happier and get results. I just want you to unlock your full potential!

Frequently Asked Questions

The beauty of The Software Designer Mindset is that you can learn all the software design best practices, taken from my more than 20-year experience teaching computer science and developing products, skip all of the pain and mistakes that I made, all in one package, available 24/7, that you can go through at your own pace.

It couldn’t be easier or more convenient!

Do your future self a favor and be brave. Invest in yourself, get the training that you need, and unlock your full potential as a software designer. Your life will never be the same!

See you on the inside...