Introduction
So you’ve decided to start your backend journey using C#. You should be excited! .NET is a vast, powerful framework with endless tools for developers. There will always be something to learn! If you haven't yet, read The C# Academy Intro Guide for a quick overview of how the academy works.
From now on, you're going to start installing pieces of software. Some of the names you'll encounter might be confusing. We suggest reading this quick article on the Difference Between .NET, .NET Core ASP.NET before proceeding.
Now there’s a bit of preparation to do. But don’t worry, if you have a decent internet connection and a minimally functioning computer, you’ll start writing code in a few hours. You do need space in your machine. If you install the .NET environment and run out of space, your experience will be painful. In that case, free some space up, upgrade your hard drive or invest in a new computer.
Code Editor
The first thing you’ll need is Visual Studio (VS), which is the IDE used in most companies that use .NET C#. It’s totally possible to use other editors such as the super popular Visual Studio Code (VSC). I suggest you use VS because it’s specially designed to work with .NET, but it’s totally up to you.
However, you’ll need to watch many tutorials online to close your knowledge gaps and most of them use VS. Dealing with the project structure in .NET can be a bit confusing in the beginning, so having juggle different editors can add to the confusion. With some experience you’ll be able to use VSC or other editors if you really want to.
On the other hand, a good reason to use VSC instead would be if you have a computer that’s too slow or doesn’t have too much space. VSC is much lighter and uses less memory to run. Additionally, if you're on a Mac, VS will be retired in August, so unless you use a paid IDE such as JetBrains' Rider, you'll have to use VSC.
.NET Environment
To get started, let’s install our IDE. When installing Visual Studio, you’ll also install the .NET Standard Developer Kit. If you’re confused about things like SDK, runtime, .NET framework, etc, you’re not alone. Here's a stack overflow question where some of these terms and tools are (somewhat) explained.You can also find detailed instructions on .NET installation here. Click on the dropdown at the top of the page to switch operation systems.
VS for Windows looks completely different from the Mac version. Make sure you follow a specific tutorial for the machine you’re using. If your machine is too slow, I highly recommend you use Visual Studio Code.
Visual Studio for Windows
Visual Studio Code for Windows
Visual Studio Code for Mac
Visual Studio Code for Linux
Source Control
Ok, almost good to go. Now you need a source control system. This is where you’ll back up your work and share it with other people. It’s an absolute must for developers and I recommend you set it up right now. The most common source control system is Git. One of the tools invented by the genius Linus Torvalds, the creator of Linux. The most common platform is Github. Here's a quick tutorial on how to create a Github account.
To use all the functionalities of git you should learn to use it from the command line. But for now it will be enough if you can integrate it with Visual Studio. There are many other options better visualization and management of your repositories such as Github Desktop and Sourcetree. They’re very good tools with the main purpose of dealing with Git, but for a beginner, Visual Studio 2022’s Github integration will do just fine.
But remember, professional developers need to know git from the command line. User interface tools will help but not replace the CLI. As you get comfortable with Git, create a list of commands so you’re not dependent on anyone tool.
Taking Notes
The last thing you need to get started is a decent note-taking system. You don’t need to go crazy on your notes. Don't let them paralyse you. I recommend you use it to optimise your time. Write lists of steps of the things you do repeatedly. Create notes with commands you keep forgetting. Create checklists for tasks that demand them.
There’s an infinite amount of note taking tools out there. You could use a physical notebook. If you’re an Apple user, “Notes” app is running on ICloud, which means your computer’s notes are integrated with your phone and Ipad. The system I recommend is Google Docs. It’s free, it has plenty of space for thousands of notes, the interface is very friendly and easy to organise/visualise and you can easily share your documents or work with someone else in the same document.
If you want to go fancy, try Evernote, Notion, Obsidian, or the one I use on a daily basis: Roamresearch.com. It’s paid but it’s the best I’ve seen so far. Whatever you do, keep your notes simple and organised. Back them up and protect them with your life.