Elevate your coding game to senior developer status
Unleash your potential to solve not just any, but the most intricate software challenges, crafting code that's clean, maintainable, and extendable.
Don't just imagine, make it your reality. Take a leap in your software developer career and completely change the way you approach software design.
What my students say about this course
"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 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 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!
A software developer and educator with a passion for building beautiful, efficient, and reliable software. I've been passionate about programming and computer science since I was a kid.
I've completed a Master's 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.
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.
Full course curriculum
Here’s an overview of what you’ll learn inside The Software Designer Mindset:
Module 1: Mastering The Tools
Module 2: The 7 Principles Of Modern Software Design
Module 3: Being A Responsible Developer
Module 4: Developing An API [COMPLETE/PROFESSIONAL Edition Only]
Module 5: Design Wins [COMPLETE/PROFESSIONAL Edition Only]
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.
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 :-)"
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!
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
Frequently Asked Questions
Do I need to know how to code before I start?
What if I still have questions?
Can I upgrade to the Complete or Professional package later?
Is the course regularly updated and do I get access to the updates?
How does the code review in the PROFESSIONAL version work?
I don't have a credit card. Is there another way for me to pay?
Do the videos have English subtitles?
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.