In the previous article in the «Roadmap for Beginners» series, we shared a detailed plan for those taking their first steps in Java development. As we continue to map out optimal learning pathways for motivated juniors, it's time to dissect the sphere of .NET.
Yulia Kramar and Oleksii Leunenko, experienced EPAM learning professionals, helped us outline a route from the absolute start to the Junior specialist level of knowledge in .NET.
Sure, there is no one-size-fits-all path, but our scheme will help lay a strong foundation for further growth in the direction. You can study the .NET Roadmap in more detail here.
Books and resources for self-study
C# is one of the most popular languages of the .NET platform, so it's impossible to avoid learning it for someone who chooses to work with .NET. Get started with the .NET Bible — CLR via C# by Jeffrey Richter. This timeless classic covers both the fundamentals of C# and more advanced development concepts. Although the book is beginner-friendly, it still contains a wealth of helpful information for more experienced readers.
Do you prefer the video format? Complement your reading by watching the Microsoft's C# 101 video series for beginners.
Once mastering the basics of C#, delve into the subtleties of using its capabilities effectively with Jon Skeet's C# in Depth, Fourth Edition. It provides a detailed overview of the language features added to C# versions 5, 6, and later.
Remember that reading books remains essential, regardless of the IT field you're researching, even though it's widely known that technology is evolving faster than books are published. Beginner-level publications offer reliable information and structured knowledge, which is extremely valuable for those just starting to navigate the ocean of lectures, tutorials, and video courses.
What else to pay attention to?
Learn to write good, clear code right from the beginning. The must-read for every developer (not only of the .NET direction), Clean Code by Robert Martin, will help to develop this skill. You'll learn about the principles, patterns, and techniques for writing clean code, complete with plenty of examples and exercises. By applying those principles, anyone can start working more efficiently on larger projects and avoid leaving a mess for other developers to clean up later on.
Don't ignore the topics listed in the Project Essentials section of our scheme, which include tools and methodologies for project collaboration, such as version control systems (namely, GIT) and project management models (such as Scrum, Agile, and Kanban).
Learning the theory without putting it into practice is a waste of time. Here are some excellent collections of exercises and tasks to apply the newly acquired knowledge.
- C# Exercises — more than 50 C# exercises to help consolidate the theory and identify gaps in knowledge.
- C# programming exercises with solutions — already finished the previous tasks? These are slightly more challenging C# exercises divided into 3 difficulty levels.
- 350+ C# Practice Challenges — even more C# exercises with 6 difficulty levels available.
Remember, you don't need to master all the topics listed before you can start writing code. Start practicing at the first stages of training, constantly learn something new, develop skills and move on.
Here are even more recommended resources
- C# 10 in a Nutshell: The Definitive Reference. Joseph Albahari — a simple yet comprehensive guide to C#10 and .NET6.
- Pro C# with .NET 6. Andrew Troelsen, Phil Japikse — expanded 11th edition, containing information about Entity Framework, Razor Pages, and Web APIs; recommended for developers of any level.
- Pure C#. William Robison — the book is devoted to the issues of C# programming with an analysis of syntax and programming methods.
- C# 11 and .NET 7 – Modern Cross-Platform Development Fundamentals. Mark J. Price — a guide to C# and .NET 7 for entry-level and intermediate developers.
- Pro ASP.NET Core 6: Develop Cloud-Ready Web Applications Using MVC, Blazor, and Razor Pages. Adam Freeman — a detailed description of the ASP.NET Core platform and existing frameworks.
Web resources and guides
- Microsoft .NET Guides — .NET tutorials from Microsoft to help you learn how to write and run code.
- How to (C#) — a collection of articles on C# from Microsoft for beginners and experienced developers.
- C# Examples — a selection of examples and templates suitable for copy and paste.
- Nick Chapsas — .NET insights from an experienced engineer.
- C# Language Highlights — short videos analyzing some aspects of the C# programming language.
- Learn C# with CSharpFritz — more than 70 videos in a talk-show format, with interactive examples and answers to frequently asked questions on the main topics.