Introduction
Hi! Welcome to The C# Academy!
It’s great to have the opportunity to help you on your journey. I hope The C# Academy will give you some direction! I’m a self-taught software developer, and I got my first job in my thirties after years of relentless daily coding practice. I often felt lost. I certainly can't complain about the number of resources available online compared with what previous generations had, but I still found it difficult to connect the dots. I often felt hopeless and second-guessed myself whenever I got stuck. That's what led me to create this resource for others going through the same experience. If you want to know more about my journey, please read this Reddit post.
What to Expect
We won’t teach you how to code. We’ll teach you how to teach yourself and nudge you in the right direction with real projects that you'll develop on your own, with our help. You have to do it yourself if you want to have any chance of succeeding in a real job. Even if you hire us to be your full-time code teacher, if you don’t learn how to learn on your own you don’t have a chance in this industry.
That being said, you will have all the support you need to go from beginner to advanced. You’ll never be alone. If you get lost or stuck during your journey, you’ll always find help in our Discord community. We can offer you a clear pathway, feedback on your work and a supportive community. Let's take a look at how.
And yes, the whole thing is free. There are extra resources you can access by becoming a member, but if you never wish to pay a dime, you can complete the entire program and have your code reviewed just like everyone else. No tricks, no gimmicks and no paywalls.
Community
Have you ever heard that it takes ten thousand hours to achieve mastery? That applies to programming too. During your journey, you’ll spend countless hours by yourself in front of your computer, banging your head against the wall, solving problems and creating beautiful applications. Chances are you’ll feel lonely and isolated at times. Connecting with people who are going through the same experience makes a difference. You’re not alone! We’re here to help. Join us on Discord. If the link isn’t working, add me and send me a personal message at pablocappuccino. No message will go unanswered.
Clear Pathway
It’s very important to have clear stepping stones and benchmarks as references for your work. It’s easy to feel lost in the sea of information and possibilities the web gives us. You need to give your brain a rest by laying out a pathway that will be in the back of your mind throughout your journey. Decision fatigue is exhausting and frustrating. It can undermine your progress and ultimately lead to failure.
At the C# Academy you can find a roadmap with all the steps necessary to become a full stack web developer. Your progress won't be linear. There will be ups and downs and ultimately you'll learn from many sources. You’ll be constantly revisiting the previous items on the program, and closing knowledge gaps. Here's the roadmap. You have to be logged in (yes, for free), to see it. We recommend you register via your Github account. You can create one in minutes if you don't have one.
You can also tweak it and lay it out as you wish, but whatever you do, we recommend you have a list of clear steps easily accessible and if possible memorized. Without that, your journey might be derailed. There's a risk you'll jump from tutorial to tutorial, always starting the new exciting thing, while those who persist are getting the jobs.
Prefer a Course?
If you don't want to follow the roadmap, you can learn through one of our self-contained courses instead. For example, we've just launched our first Unity course, so you can start building games with C# while following a clear, guided path.
Feedback
As you progress through our roadmap, you’ll build projects and a portfolio, create a resume and prepare for interviews. We’ll give you feedback on all of them. Each project has a list of requirements, but many details of its design, implementation and code style leave room for your individuality. There are almost always several ways to achieve the same result in code, so we will provide feedback when we see implementations that aren't considered good practice.
Organisation
You need to do some housekeeping before starting. I’m sure there are messy disorganised high achievers in this world. But in my experience, creating the right environment, organising your life and your priorities and removing the clutter (mental and physical) will improve your chances of becoming a successful programmer. Here are some things to consider:
Gear
Get a good machine. I started with a 2014 Dell. I quickly realised I needed something better and bought a 128GB 2019 Mac. About a year later I realised having Windows made things way easier for .Net development and I bought a 500GB 2020 Mac to have more space for a virtual machine. Two years later a bought a powerful HP/Windows machine so I could use the full potential of Microsoft’s tools for .NET developers. I’m definitely not rich, but I wanted to learn to code so badly that I just worked hard and saved the money to upgrade my set up. It’s part of the “I’ll do whatever it takes” mentality.
A slow machine can be a nightmare. You can absolutely achieve your goal with a bad computer, but again, your life will be much easier if you get a powerful machine. It doesn't matter if it's second hand, but it should have enough power to run at least a code editor and a database server. You don't need Windows to become a .NET developer. Having a Windows machine does make things easier at first, but not only it’s not necessary, but using a different operating system will also teach you important skills such as using the command line and troubleshooting the .NET environment, which will ultimately make you a better developer.
Also, I highly recommend getting an extra screen. It doesn’t need to be fancy. You just need to be able to connect extend your computer's screen onto it. Watching a tutorial having to close your video every time you need to code will waste a lot of your precious time. Here’s a picture of my setup when I started. I got this ugly screen from a friend that didn’t use it anymore.

Time
You have to carve out time in your life if you want to learn programming. I admit it was easier for me because I started work at 11 a.m., so I would wake up at 4 a.m. every day and code as much as I could. I suggest studying first thing in the morning. If you can’t, do it as soon as you get home from work. If you leave it until bedtime, it will be much harder to focus and retain new knowledge.
You will have to say NO to requests for your time. I've sacrificed relationships because I wasn’t willing to give up my morning to spend time with anyone. My morning was sacred, it was coding time and I would only sacrifice it for something extraordinarily serious, otherwise I would be coding. Find what your sacred time is and protect it fiercely.
Also, track your time. I’m a geek, so I track every hour of my day. You don’t need to go that far, but I suggest tracking at least your coding hours. I always aimed for 28 hours of programming per week. Even though I rarely achieved it, I never coded for fewer than 20 hours a week, partly because I had set an ambitious goal. Start recording your results today and lay them out in a spreadsheet. Try to beat your daily, weekly and monthly records.
Notes
You need to take notes. Don’t worry about taking notes on theory unless that’s how you learn best. Instead, record the steps you take to complete a project, the errors you encounter and how you solve them. Notes should be practical and useful. You will need them in the future.
A combination of my notes and previous projects saves me many hours of head-banging. I use RoamResearch. I think it’s superior to anything I’ve ever used, but Evernote, Google Docs and even your computer’s notepad will do. Keep your notes organized. Other options with great reviews are Notion and Obsidian.
One Thing At A Time
I have a wandering mind, extreme curiosity and several areas of interest. If I don’t keep a tight leash on my mind, I'll be constantly starting new courses and projects and end up not doing anything well. I can’t stress enough the importance of doing one thing at a time.
Don’t work on ten projects. One at a time! Actually, to be honest, I always work on two things, so If I get bored or stuck I can always jump to the other to make me feel better. But still, one of them has to be your main goal.
I know so many clever students who have been learning for a long time and have nothing to show for. No portfolio, no projects, nothing. And doing too many things is one of the reasons.
The same applies to your daily life. Don’t cram twenty tasks into your daily schedule. Do one or two big things a day and consider yourself successful for that day. My thing was always coding. If I did my four hours, I won the day. You can have a study goal and a parallel goal such as running an important errand or working out. But keep it achievable. You want to win your days.
Mindset
I read a lot. I attribute a lot of my success in my programming journey to the scope and depth that reading has given me. I understand it's hard to find time to read, but audiobooks solve this problem. You can quickly listen to a book while doing chores, running errands or exercising. The same applies to podcasts. They can be life-changing.
If you don’t have some form of input in your life, you’re missing out. Today, technology gives us easy access to curated information at any time. We can be mentored indirectly through podcasts, audiobooks and YouTube channels. You can gain wisdom from some of the best minds in the world just by tapping a button on your phone. Isn't that absolutely amazing?
There are a few exceptions out there, but the vast majority of high achievers, the people who run things in this world, are avid readers. We believe books are superior to other media because you'll focus your attention on that topic for a few days or weeks. It's a type of immersion that you don't get from articles or blog posts. If you don’t like it, start liking it. It will pay off. I promise.
There are many books I could recommend to get you started but to keep it simple, the most important are:
Atomic Habits by James Clear – It will help you to get your habits in order. Backed by many amazing anecdotes and scientific studies, if you listen to it over and over, trust me, you’ll be a better person.
Grit by Angela Duckworth – This book will demonstrate, also with science and anecdotes, that you should forget about the word talent. Most folks who achieve great success are the ones that SHOW UP CONSISTENTLY and do the hard work.
What Happens From Here
Once you finish reading this page, read The C# Academy Intro Guide for a quick overview of how the academy works. Then, join us on Discord and introduce yourself. If the link doesn’t work, add me using my nickname: pablocappuccino. You can use this website as a reference and source of project ideas, or you can follow our Roadmap. If you choose to follow the pathway, you can register to track your progress in our Dashboard, participate in our Leaderboard and have your code reviewed. When you update your profile with your LinkedIn and GitHub accounts, those links will appear on the leaderboard for everyone to see, including potential recruiters.
If you really want to take your learning seriously and keep yourself accountable, we offer a VIP Membership Area, where you can find exclusive tutorials and detailed explanations of our projects (including all the challenges) in our VIP Membership Area. Becoming a VIP doesn't affect your progress in The C# Academy. You'll still get your code reviewed. Everything here is free and will always be free.
How Ads Help
You’ll see some advertisements while using The C# Academy. The revenue from these ads helps cover the cost of hosting, maintaining and improving the platform, allowing us to keep the complete learning pathway and code reviews free for everyone. Thank you for supporting the academy simply by using it.
Final Word
If you want instant rewards, or if you believe you’ll start earning six figures doing something that doesn’t require a lot of effort, this isn’t for you. If you can’t stand the long hours of hard work, or if you don’t like getting stuck and taking days, sometimes weeks to fix a problem, you might not have the grit, or be passionate enough about coding to make this happen. Maybe programming isn’t for you and that’s fine. It might sound harsh but that’s the reality of what it takes to become a programmer (and I would guess, to be good at anything for that matter).
Most people who start learning to code quit in less than six months. If you stick to it, imagine that in two years it’s highly likely you will have gotten many interviews and gotten closer to a job. Five years training consistently? You’ll probably not only be employed but also making decent money. Now imagine ten years consistently building stuff. The sky is the limit. And don't let anyone tell you that AI is the end of programming. It's actually just the start. 😎
I’ll let Jocko Willink say the final words, enjoy:
Comments
3 comments
Beni
10 Aug 2026, 2:10 PMgood intro and also best sections especially the Mindset section which introduces the books
AidanLDev
02 Aug 2026, 6:36 AMThis is inspirational, I've got a decent amount of experience as a Software dev so was tempted to skip the intro and get straight into the coding but I'm glad I read this.
Frankns7
31 Jul 2026, 2:39 AMThank you so much!