Build software that scales beautifully
Learn the mindset that will allow you to effortlessly build and maintain scalable software systems. Become a software architect.
What my students say
I liked the examples supplied to the concepts. I also liked how you approach the concepts from a practical but also theoretical perspective and always viewing pros and cons.
I liked the way you show off and present concepts making them look 'easy to understand'. I have been able to strengthen and expand my knowledge.
I've recently purchased the 'Software Architect Mindset [Early Bird]' course, and I must say, it's been an incredible experience diving into the content. I've found it immensely beneficial and am eager to explore more of what you offer.
You're a junior or an intermediate-level developer who already knows programming. But you can't find a clear, step-by-step approach on how to turn your prototype software into a running, scalable software system that is available to your users.
There's a lot that goes into building a complex software system. Of course, you need to think about how to write clean code that's easy to maintain. But building a software product involves a lot more. You need to think about:
- What APIs and services your software talks with,
- What the components of your software are on a system level,
- How you store data in a way that is aligned with what your software does,
- How you manage access to that data by your users in a secure manner.
On top of that, you need to decide how your application is going to be hosted and what types of cloud resources you'll need for that! 🤯
Most resources online will provide just a single piece of the puzzle, leaving you to come up with the rest of the solution.
Or they'll be way too specific, so it doesn't apply to your own use case at all. And since cloud technology evolves all the time, you may not even realize that a solution is outdated, and you run into problems when you try to implement it.
As a result, you find yourself diving into a spiral of scrolling through Wikipedia and endless StackOverflow discussions. Even ChatGPT is not going to help you since it will give you generic advice that's hard to translate into actions because you don't know the right questions to ask.
Unfortunately, making the wrong architectural choices at the start often has devastating consequences. Your software won't run smoothly, the user experience will be bad, it's going to be very hard to scale, and maintenance is going to be a nightmare. On top of that, you'll likely be overpaying for a ton of unnecessary cloud resources, which gets very expensive very quickly. Fixing these problems after the fact is a lot of work.
It really makes me sad when I hear stories like this because Software Architecture doesn't have to be hard. If you know how to lay a solid foundation and follow a basic set of best practices, you'll make way better choices and avoid most pitfalls. Once you have this understanding and know what to look for when building your application, this will save you and your colleagues a ton of time and money.
I've created many complete software products from scratch and every time has been an immense learning process. I now have a standard approach to creating software products that avoids a lot of development time, focuses on keeping things as simple as possible, uses minimal cloud resources, and applies scale only when it makes sense and in a cost-effective way.
Most of the courses out there are theoretical and cover concepts at a high-level without providing the practical path you need to actually get your software out there. I'm not saying that an architecture course shouldn't cover theory. However, in my view the ideal software architecture course should do more than that:
- It should show you how it's actually done, from A to Z
- You should be able to easily use any of the code examples and settings for your own projects without limits
- The course should promote best practices for both software design and architecture
- The course should provide you with a system that will make it easy for you to make the optimal architectural decisions.
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.
Now, I combine all my experiences to create YouTube videos on my channel, ArjanCodes.
Introducing The Software Architect Mindset 🚀
The Software Architect Mindset is a combination of prerecorded, bite-sized videos that will teach you everything you need to know about Software Architecture, with exercises and quizzes to train your skills, challenges, downloadable reading material, and more. The videos have all been produced following the high standards of the ArjanCodes YouTube channel.
I built the course to be very practical and be a true game-changer. I didn't just create a generic course with some video lessons and a couple of quizzes. I took this way beyond what a normal course would offer.
In fact, I developed a complete production-ready software-as-a-service platform that is used as an example throughout the course. And when I say production-ready, I mean it!
You get access to:
- The full source code of both the Python backend and Typescript frontend
- DevOps scripts and settings
- Full implementations of various authentication mechanisms and role-based access control
- Examples of connections with common services such as an email sending service and a database
- A step-by-step overview of how we built the product and why we built it this way.
You can use the platform as a starting point for your own projects, potentially saving you weeks if not months of development time.
There are many architectural challenges when you develop a platform like this:
- Since it's web-based, you need both a frontend and a backend service. And that means thinking about technologies to use for each service as well as determining how they communicate, whether they should be monoliths or microservices, and so on.
- The backend needs to integrate with other services, such as a database and an email-sending service, in a way that still makes it easy to test the backend.
- The platform needs an authentication and access mechanism so that users can securely interact with it.
- The cloud architecture needs to be easy to manage when the platform scales and be cost-effective at the same time.
Not only did my team and I address all of these points when developing the platform, we took it even further:
- We used a combination of Python/FastAPI for the backend and Typescript/React for the frontend to show you the capabilities of each of the technologies. The platform is addressed in several videos of the course as an example, and we've added videos dedicated to explaining the design choices of the platform.
- We made sure that components and services such as the email-sending service and the database can be easily replaced by something else, using abstraction, dependency injection, and other software design best practices.
- We didn't just build one authentication mechanism. We built 3 different mechanisms that you can easily swap out to see how each of them works.
- We've carefully crafted the cloud architecture to be both scalable and cost-effective, looking at various options such as serverless functions, managed containers and a full-on Kubernetes cluster. The course contains an in-depth discussion covering all of these options and their pros and cons.
It took us several months of full-time development work to create this platform. And you get all of this included when you purchase this course.
Full course curriculum
Each module of the course has code examples written in Python that you can download. There are also 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 are an intermediate to senior-level developer
- You are comfortable reading Python and Typescript code (though you don't need to be an expert in either)
- You have time to focus on the course
- You struggle with turning your application idea into a scalable software system that's easy to manage.
This course is NOT for you if:
- You're a beginner programmer
- You're a seasoned engineer with many years of experience developing large-scale cloud applications - you will not learn anything new during this course
- You're not willing to put in the time and effort needed. This course is not a magic bullet.
What this course offers
- Theory lessons so you can brush up on your knowledge of Software Architecture foundations to move toward more practical situations.
- Exercises in Python so you can get practical experience with the general Software Architecture concepts.
- Quizzes so you can test your knowledge throughout the course and make sure that what you learn sticks.
- Code examples so you have illustrations of the concepts we go over and can get started quickly, without starting from scratch.
- Access to a full SaaS platform I created exclusively for this course and that I use throughout the lessons. You'll have access to everything so you can use it as a starting point for your own projects.
- Practical projects and challenges throughout the chapters so you go through the entire process of building a complex software system in bite-sized steps, following the best Software Architecture practices out there.
- Downloadable content like worksheets, cheat sheets, and more that you can use right away. Even better, you can re-use those in future, to help you structure your work more clearly.
- A Certificate of Completion that you can share with your network and your team on social media or put in your CV, to highlight your achievements and wins.
- Lifetime access including any course updates so you are able to revisit the course whenever you want, get access to all future updates made to the course and benefit from new insights.
SUPER VALUABLE BONUSES
(COMPLETE/PROFESSIONAL package only)
- One additional chapter focusing on Scalability, Performance and Cost that teaches you what you need to look for to adequately scale your cloud setup while keeping the costs low.
- Recordings of 3 Q&A sessions I did with some Early Bird participants, where I answered their questions and gave them feedback on projects they shared with me.
- Extra case studies, covering several different platforms that I developed in the past and the things I learned from it. Just this part alone will help you get dramatic improvements in your architectural decision-making.
My courses get 5-star Google reviews!
Get the course now ⚡️
In this course, I've put my 20+ years of experience building software products from scratch and everything I've learned in a structured, step-by-step package so you can see a real difference in your work and its structure.
Being a university teacher, I've organized everything logically so that the concepts and best practices will get you results as soon as you apply them in your work. If you had to get this knowledge on your own, you'd have to train and work for several years and get in-depth coaching from senior developers.
Now, let's see how much that would cost you!
Just following a university-level course that covers Software Architecture theory can already cost you several thousands of dollars (this course would cost around $3000, based on Dutch university fees). But this type of course lacks the most valuable parts of the course: practical tips gained from an experienced developer (value: $8,000), and a full-fledged code base (value: $9,000).
This brings the total value of this course to a whopping... $20,000! 😵💫
Of course, I would never ask you for this amount! It's completely insane. You can get access to all of this in the Software Architect Mindset, starting at $449 only! This is a no-brainer, really.
I wish I had access to a course like this when I started out.
Basic
Everything you need to become a Software Architecture expert
-
In-depth video lessons (almost 7 hours of material)
-
PDF downloads
-
Quizzes
-
Exercises
-
Custom-built case study platform 🤯
-
Lifetime Access
-
Certificate of Completion
Complete
Take your software architecture skills to the next level
Everything in BASIC, plus over 5 hours of extra video material:
-
Access to the module: Scalability, Performance and Cost
-
2 extra case studies
-
Q&A session recordings
-
More quizzes
-
BONUS lesson: my past architectural mistakes and how to avoid them
Professional
A premium, personalized course experience
Everything in COMPLETE, plus:
-
Custom video by Arjan with code and architecture review, tips, and feedback.
Don't forget: it's completely risk-free
I've packed a lot into The Software Architect Mindset, because not only do I want you to succeed as a software architect, 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 Architect 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 course 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!
Get ArjanCodes Courses for Your Team
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.
Our team packages are a great fit for multidisciplinary teams that include not only software developers but also data scientists, researchers, and designers.