You are here:
- Home
- >
- Knowledge Hub
- >
- Thought Leadership
- >
- How to Become a C# Developer.
9 March 2021
Programming is a great job and a great hobby. Often, the path people take into a career in software development is by teaching themselves how to code. The vast array of books and online courses ensures that it is easier than ever to learn how to be a C# developer. If I was teaching myself C# again, this is the path that I would take…
Firstly, I would learn how to make my first console application. In C#, you can create command line applications. Starting with a console application is great because you can focus on the problem to be solved rather than worrying about what it looks like. An example problem could be searching through a Windows directory and writing all filenames matching a given pattern to a text file. You will need an integrated development environment (IDE) to create a console application. As such, I recommend Visual Studio 2019 community which is free.
Secondly, I would learn how to use databases. I would learn how to use Entity Framework. There are some great guides out there, such as Getting Started with EF Core by Microsoft. I recommend using SQL server, which has a free version called SQL Server 2019 Developer. Using Entity Framework and SQL Server, modify the example problem so that instead of writing to a text file, you write to a database.
Thirdly, I would learn how to write automated tests, such as xUnit. Test projects allow us to quickly run our code with various scenarios to see whether it performs correctly. This is vital for making sure that any changes you have made to the code have not broken a previously working feature. In our example project, we can use xUnit to check that for given sets of inputs our program will always provide the same results. You will quickly find that testing against real databases and file systems is difficult. Perhaps, the solution is using interfaces, so that you can create fake versions of your repository pattern and file system search…
My example project was simple and quite dull. I recommend thinking up your own problem and using the steps above to solve it as this will make the learning process more enjoyable.
Once you are confident with the above technologies, you are pretty much ready to apply for jobs as a Junior Developer. If, however, you would like to take your learning a step further, please see the recommendations below.
If you are at this point, you are doing great and I hope you are applying for jobs. If, however, you would like to to learn even more, please see below.
At OCC, we do not only use Xamarin for mobile applications, we also use Flutter and React Native. These are not C# based, but are another avenue to explore if you discover that mobile applications interest you.
At this point, I hope you have found the area that interests you the most. Play with it. Try different personal projects. There is no substitute for experience. The process to complete this list is not quick but if you manage to make it to the end, you will have acquired a wide range of skills that employers would love to have.
If you want to become a professional Software Developer, I would advise you to get a job at a company like OCC. We will take your self-taught skills and turn you into a professional Software Developer. Our careers page shows our current vacancies.
Good luck on your journey.
Tim Palmer, Head of Project Delivery