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. Take a leap in your software developer career and completely change the way you approach software design.

Enroll now
Enroll your team

"Unlike other courses, the course is not language-oriented. I mean, although it is based on Python, the principles described here can be used with any programming language."


"I must admit that I'm a bit ashamed that I didn't do this sooner, I've been an 'ok' software developer for 9 years, but now I want to be a good software developer."

Joaquin, Software Developer.

"This course has provided me with tools that I didn’t even consider when writing code. I now think about these concepts beforehand."

Salvador, Software Engineer. 



"It focused on the actual way of thinking about the problems, not just the mechanics of implementation, or dwelling on the beginner-type content. I usually never buy courses, only books, because the courses usually disappoint (not at all with this one!)."

Matt, Solution Architect.

People who bought The Software Designer Mindset gave it an NPS score of 68 with 73% Promoters, 22% Passives, 5% Detractors. 

What's a good NPS score? Read more about it here.

Did you know the difference in salary between a junior and a senior developer in the US is around $65,000 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. You need to know how to structure problems logically so you can translate them into software.

How do you close the gap between the junior and senior level?

There’s a lot of helpful material online, but there’s also a lot of wrong, outdated information and bad coding practices that are still being promoted today.

You can try to climb that ladder alone and spend a lot of time figuring out what you need to learn, only to have to unlearn things if you've followed the wrong adviceYou 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 can be part of a community and be surrounded by peers. A path where I’ll be there to guide you, and teach you the best practices of software design that get you results. That path is available to you right now.

Hi, I'm Arjan

I've loved programming since childhood. After studying Computer Science at the university, I spent 20 years teaching computer science, always trying to improve how to effectively present information so that my students were able to learn and apply it quickly. In 2016, I decided to quit my teaching job and throw myself into a new challenge: I started a software company.

I soon discovered that startup life isn't easy. Understanding your customers and building a product they love is challenging. We had to shift focus several times and make major changes in the software products we offered.

As a result, I had to become really good at designing the software in a way that made it easy to rewrite parts of it so we could move faster as a company. I spent a lot of effort learning and perfecting this skill. I started developing my own methodologies for designing software that's really easy to maintain.

I learned that being great at software design doesn't mean that you need to spend a lot of time refactoring your code. It simply means that you take slightly different decisions at the start that don't take extra time but that will lead to extraordinary results.

In short, you need to develop a mindset that allows you to take better software design decisions.


Meet The Software Designer Mindset!

This online course is a modern take on software design. It contains everything I know about software design, structured in such a way that you will: 

  • Consistently make better design decisions
  • Gain the technical knowledge you need to get to the next step of your career
  • Design complex software
  • Improve your existing code immensely
  • Create software that is easy to change and scale

Ultimately, its only goal is to make you unlock your full potential.

On top of that, you'll be part of a private student community where you can exchange with people all over the world, find friends, and get extra support when you need it.

Good to know

In this course, I use Python for all code examples. The beauty of Python is that it's flexible: it supports both object-oriented programming as well as functional programming. That makes it the ideal language to teach software design. However, even though the course uses Python, you can apply the principles that you learn in this course to any programming language and software project.

This course is for you if:

  • You have basic Python 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 for a software problem.
  • You want to connect with like-minded people all over the world, and you're not afraid to ask questions.

This course is

NOT for you if:

  • You have no Python programming experience at all. In order to follow the course, you need to have basic Python knowledge. However, if you're able to follow my videos on YouTube, you'll be able to follow the course.
  • 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 gives you recipes to do a specific thing. This course focuses on something deeper: the principles behind the recipes, and the mindset you need to come up with your own recipes.
  • You hate Python :)

What my students say about the course

"It actually did help me to de-blurr my thinking about more complex projects. I learned how to put the design patterns together to get a better structure in the code. Also, I learned what actually is the goal above that all (like decoupling and increasing cohesion). There were enough practical examples to understand these principles. I did really like the lesson where by using a simple protocol class you could remove (almost) all dependencies which was quite an eye-opening moment for me."

Adam, Software Developer.


"I have been writing Python for my models since 2015. But, without a CS background, my code was smelly. I would say my model is more of a complicated calculator instead of a software, but the techniques you taught in the videos really helped me improve a lot. Thanks!"

Songmin, Researcher Modeler.

"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 course lets you understand the underlying principles of software design in a very accessible 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 :-)"


Full course curriculum

Here’s an overview of what you’ll learn inside The Software Designer Mindset:

Each part of the course has code examples written in Python that you can download. There are quizzes and exercises so you can sharpen your design skills. 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.

The Choice Is Yours

Pick whichever version of the course is right for you!



Everything you need to become a software design expert

  • Full access to the main course content (7+ hours of material)
  • Code examples
  • Exercises and quizzes
  • Private student community on Discord
  • Certificate of Completion
  • Lifetime access

Pay in EUR? Click here.




Take your software design skills to the next level

Everything included in Basic, plus:

  • Building an API from scratch (2+ hours of extra material)
  • Quick wins to improve your software design (15 videos)
  • Lifetime access

Pay in EUR? Click here.




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



Pay in EUR? Click here.


The Software Designer Mindset for Teams


Next to helping individual developers improve their skills, I also work with companies to help their software development teams make better design decisions, get rid of legacy code and build flexible, future-proof software.

The Software Designer Mindset team packages are a great fit for multidisciplinary teams that include not only software developers, but also data scientists, researchers and designers.

Enroll your team

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 course is that you can learn all the software design best practices, taken from my more than 20 years of 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...


Enroll now

Other courses you might like

Check all courses