How to Become a .NET Developer

So you want to know how to become a .NET developer either because there is a position you want that requires you to have these skills or perhaps you’re just interested in .NET development. It is after all one of the mostly widely used languages for development. This article will server as a How To guide for anyone wanting to become a .NET developer through the use of resources such as: books, development tools, and links. These are the absolute must haves for aspiring .NET developers:

Learning .NET Development

The latest version of the .NET framework is 3.5. The Beginner’s Guide to Beginning ASP.NET 3.5: In C# and VB is part of a series of books written by programmers for programmers. It’s a comprehensive book on development using .NET 3.5. It’s very comprehensive and its written for people who have never done any programming. It takes you step by step, teaching you first the basics, then the more complex tasks, and also some best practices. Even though 3.5 is the latest version, .NET 2.0 is still widely used. The examples are in both C# and VB, I’m personally more of a fan of C# but some are partial to VB. By reading this book you could literally build a web site from scratch in which ever one you choose.

ASP.NET 3.5 In C# and VB

.NET Development Tools

The Integrated Development Environment or IDE used for .NET Development is Microsoft Visual Studio. The latest version is Visual Studio 2008. There are many editions of this tool but I’ll just focus on two: the free one and the not so free one. For those of you with a few hundred or maybe thousand to spend or an organization willing to spend that much there is Visual Studio 2008:

Visual Studio 2008

While you could down grade and get the now cheaper 2005 version of Visual Studio, in order to maximize .NET 3.5’s programming features you will have to the 2008 version. It can range any where from a $200+ for the Standard Edition to $4,000+ for the Team System Edition. OR if you’re not so inclined to spend your money, you have two options: download the trial version or Visual Studio Express which is FREE:

Visual Studio 2008 ExpressThe Express version is definitely good enough to create and launch a web application, but it does have its limitations. So beware. See the at the end of this article for some free tools that make up for some of these limitiation.

Database Tools

While .NET applications can use many different types of database such as Oracle, Access, or MySQL, the most commonly used is Microsoft SQL Server. The latest version is SQL Server 2008.

SQL Server 2008

Once again you have the choice of buying one of the official version of SQL Server, these range anywhere from $40+ to $1600+ depending on which version you get; or downloading the free version SQL Server Management Studio Express.

SQL Server Management Studio Express

There are limitations in the free version, of course, but I’ve discovered that using the Express version poses little trouble for use only on your development machine or small applications. Once you get into bigger applications or running jobs and other complicated process, a pricier version of SQL Server might be required.

BONUS: Top 5 FREE Tools for .NET Development

If you’re a complete novice to programming you might want to bookmark this page and comeback to this list later. These tools will come in handy once you actually get into development.

As you might or might not already know, .NET development can get rather expensive; compared to the other languages like Java, which has a free IDE: Eclipse. In any case, here are some most free open source tools that will make your life A LOT easier, trust me.

1. NUnit

Unit Testing is a must for any serious developer who wants to put out functional, bug free applications. Microsoft offers its tool for unit testing, MSTest, but only in certain versions of Visual Studio. NUnit is the .NET version of Java’s JUnit, an open source unit testing framework.

2. NAnt

Deploying a website can be a hassle. There are connection strings to update, configuration files to change. NAnt makes these things easier by automating these various changes. Like NUnit, its the .NET version of Java Ant.

3. CruiseControl.NET

As your application grows and you continue adding new features, it always important to integrate your new code with your old code and ensure that everything works. CruiseControl.NET helps with this through its Automated Continuous Integration Server. CruiseControl.NET, you guessed it the .NET version of CruiseControl for Java, is amazing. It works in conjunction with NAnt to anything from run your unit tests each time you add new code to emailing you if someone checks in bad code the breaks the build.

4. NHibernate

This isn’t necessarily a tool, so much as it’s a framework, but I had to put it on the list because it’s made me significantly more efficient. Once again this is a .NET port of the Java based Hibernate. NHiberante acts as the persistence layer between your application and its database. For those of you who hate writing long complicated SQL statements like me, NHibernate is perfect. It allows you to write the usually tedious select statements or the very complex join statements in a fraction of the team. Micrsoft’s LINQ can also be used in the same way. I do, however, think that it needs time to mature and grow before it is on the level of NHibernate.

5. Mono

Last but definitely not least is Mono. Do you for whatever reason not have IIS or do you want to use other platforms like Linux or OS X? Well you’re in luck, Mono, which is sponsored by Novell, offers an alternative to IIS for those not using Windows.

In closing…

.NET is an awesome framework. Its very powerful and there are tons of libraries that allow you to do some amazing things. Once you learn it, you’ll be able to do a lot. One thing to note though: some lists of system requirements might tell you that you only need to have 1 GB of memory to run all of the tools such as SQL Server and Visual Studio. My suggestion is that you at least get 2 GB of memory on your development machine. As cool as they are, the applications can be resource hogs and you want to make sure you’re developing efficiently.