This is my complete recommended curriculum for becoming a .Net web developer. It’s separated out into topics, which include learning resources, and projects. These are purely suggestions — you may find that other resources work better for you for mastering a topic.
The projects are proof to yourself that you have a firm grasp on the topic. The ultimate goal is to build out a few projects you can include in your portfolio to show potential employers. Your portfolio will likely just include your complete .Net applications. The earlier projects are still important for building foundational skills.
There’s no such thing as learning too much, so if you find other resources are benefiting you, keep on it. The curriculum below is what I find most essential for junior developers to know, and includes most of what I myself knew when starting my first development job.
Topic: Front-End Development: HTML, CSS, and Bootstrap
Resources:
- Responsive Web Design Certification – complete Introduction to Basic HTML and HTML5 through Responsive Web Design Principles (That’s 5 sections)
- Front End Libraries Certification – complete Bootstrap
Chrome DevTools for Beginners: Get Started with HTML and the DOM, and Get Started with CSS
Projects:
1. Create a simple website. For example, a webpage about your pet or featuring your resume.
2. Take a bootstrap theme and edit it to create your own portfolio website.
Topic: Source Control and How the Internet Works
Resources:
Ebook: Introduction to HTTP
Comic: How DNS Works
Ebook: A Guide to Git and Github
Topic: Basic Programming with C#
Resources:
The C# Yellow Book, Chapters 1-3
Projects:
Build a simple C# console application. For example, a game such as tic tac toe or rock-paper-scissors. You can find examples of people building C# console applications on YouTube.
Note: I am recommending learning C# basics before Javascript because I find C# to be a more beginner- friendly language. Others may disagree and prefer to start with Javascript.
Topic: Front-End Development: Javascript and jQuery
Resources:
FreeCodeCamp: Basic Javascript
Codecademy: Introduction to jQuery
Chrome Dev Tools: Get Started with Debugging Javascript
Project:
Build a webpage that calls on data from an API and uses it in some way. For example, I created a birthday present for a friend that displayed a random video game gif on button press using the giphy api. FreeCodeCamp also has a some good project ideas.
Note: At this point, you can choose whether to continue onto back-end development, or dive deeper in front-end development. If you find yourself really enjoying HTML, CSS, and Javascript, then you may be better off going into front-end development. The rest of this curriculum won’t help you with that, but fortunately there are plenty of other free resources out there, such as the remainder of FreeCodeCamp’s curriculum.
Topic: Object-Oriented Programming with C#
Resources:
The C# Yellow Book: Chapters 4-5
Projects:
Build a more complicated C# console application. For example, make your last console app object-oriented, or create something new like a role-playing game.
Topic: Database Basics
Resources:
Ebook: Introduction to SQL
Topic: Building .Net MVC Applications
Resources:
Article: Get Started with ASP.NET Core MVC
Article: Get Started with ASP.NET Web Api 2
Note: I learned these topics through a coding bootcamp, so it’s difficult for me to give specific resource recommendations. There do appear to be several free or affordable courses online for learning this information, such as through Microsoft Virtual Academy and Udemy. If you can afford it, Pluralsight is probably the most beneficial resource, as courses there are taught by well-known professionals in the field.
Projects:
In addition to whatever tutorial you build for initial learning, create 2-3 more .Net MVC projects. Build at least one .Net API. There are multiple different projects you could choose for this. Make sure that whatever you build includes multiple user roles with different permissions.
These are your portfolio projects and should be included on your own portfolio website. Put effort, time, and quality into these, as it is what potential employers will be looking at to gauge your skills.
Some ideas:
- A personal blog
- A library application that keeps track of books and who has checked them out
- A calendar that manages multiple different schedules
- A school application that keeps track of students’ grades and assignments
- An online ordering system for a restaurant
Building an API will be trickier, as you will need a large source of data. I recommend pulling information from your city or state’s open data portal and building something people would find useful. This could be a user interface for displaying budget information, demographics, legislation, ect.
Once you’ve gotten through this curriculum, the next step is actually applying for jobs and interviewing, something I may write a future post on. For now, when you get through any of these topics, congratulate yourself on a job well-done! Learning web development is a long and difficult but ultimately rewarding journey.