I often see questions in many ASP.NET community forums asking stuff like:
- Where to begin?
- Where do I start?
- How to get started?
So I decided to write this "boring" post to express my own personal opinion and hopefully this can help beginners find their way to get started with ASP.NET.
Based on my experience learning ASP.NET is just like learning how to play a guitar. Oh really? Why could I say that?
- First you must have this, what we call, "interest" because if you don't, you'll just waste your time for practicing stuffs that you don't like it at all.
- Choose what type of guitar that you would like to use, either electric (VB) or the acoustic (C#) one? Just choose the one that you would be interested in. Anyway, once you've managed to learn one of them then it’s easy for you to learn the other one, trust me.
- After you've chosen the type of guitar that you would like to use then you can start learning the basic chords and how the guitar acts or interprets your chords when you strum the strings. (Which means you should learn the basic concepts of OOP, how ASP.NET works and most importantly about request and response. I've interviewed many web developers from mid to senior level and some of them don’t even know about the request and response thing.) You would also need to know about data types, variables, flow control, syntax, basic data base interaction and how to write methods and classes. From there, you can muddle through and learn what you need to learn as you go.
- Start thinking a song that you would like to play using those basic chords. (Based on my experience, the easiest way to learn ASP.NET is to develop a sample application on your own. Think of an application that you would like to develop and apply the things that you have learned. You can grab a book and refer to online tutorials that would help you building your application and I'm sure you will learn many things as you go along. You can also download a starter web site kit and try to figure out how it works by looking at the code, and referring to some of the online resources.)
- Continue playing and learn advanced chords, clippings, plucking, power chords, broken chords and so on, and learn the proper way of how to execute those chords. (After you've learned the basics then continue learning other things like CSS, Client-side technologies, new features, best practices, design patterns, data architecture and so on and so on and so on and and so on. We are all still learning and will always be. Change is constant in the technology industry, especially when we work with progresses rapidly and we have to keep up.
- The more you practice, the more you learn something and the longer you play with the guitar you might be able to compose your own song that might make people happy or inspired. :) (Which means that the more you gain experience you might be able to develop your own AI, tool or framework that can be very useful to anyone.)
- Play in gigs, events, and help others to play a guitar (Give back to the community. I can definitely say that the developer community helped me to become a better developer. I myself is a self-taught guy. I remember when I got my first job that I've been assigned to develop solutions using .NET and it scares me because I don't have any experience in the framework and even worst I was not really familiar with the web and how stuff works in the stateless world. I struggled a lot during those times and with the help of the technical community I was able to understand the basics and I learned something each day.
Main Resources
Here are some useful resources that can you refer to to help you get started with ASP.NET:
Get Started: http://www.asp.net/get-started
Learn: http://www.asp.net/mvc, http://www.asp.net/web-forms, http://www.asp.net/web-pages, http://www.asp.net/single-page-application
Some Tutorial Sites
Few Tips
If you are having problems during your development then you can start finding a solution at Google first. If you can't find anything useful from Google then you can post your problem in forums like (http://forums.asp.net/, http://www.c-sharpcorner.com/Forums/, or http://codeasp.net/forums/). Here are some links that you can refer to to get started with searching for something and finding your way in forums:
How to Use Google and Other Tips for Finding Programming Help
How to ASK Questions the Smart way
Finding your way in the ASP.NET Forums - Tips and Guidelines
How to get your forum question answered - avoid thread-jacking
I hope someone finds this post useful!