Programming is not like it was 10 years ago. Today, having a  programming job is EXTREMELY lucrative and is a highly in-demand career. Besides getting formal training, either by college courses or Microsoft’s own MSDN certifications, you need the right tools to learn, apply, and do the job. Luckily I have compiled a short list of things to check out on your own. They are divided in three sections:
Resources, Integrated Development Environments, and Source Control.

Resources:

Everyone needs to start learning somewhere. Thankfully, Microsoft has created an excellent beginner’s site, the MSDN Beginner Developer Learning Center

is another great resource. Dev Shed caters towards open source tools and links to other open source programmingimage

If you need books, look no further than ! Google has been digitizing a huge amount of books available online – and almost  all of them are available for FREE! Forget about your local library, use Google Books

Integrated Development Environments (IDE):

The IDE is the heart and soul of your programming experience and is where you, as a programmer, will spend most all of your time developing and testing your programs. The IDE is your visual source code editor, compiler or interpreter, build tools, and debugger all in one environment – hence is why it is called an Integrated Development Environment!

If you are looking to get started with some entry level programming using languages such as Visual Basic, VB.NET, C++, C#, plus a bunch of other languages and project types then Microsoft Visual Studio 2010 Express

Java is the most popular programming language in the world and Java programmers are the most in-demand in the programming job market. A fantastic IDE for Java is and works on all three types of operating systems, Windows, Mac OSX, and Linux. New releases of come out quite often and provide more features than the last edition. The current version of NetBeans

Source Control, Storage, and Sharing:

So now that you have an IDE and references to start programming, what are you going to do about managing your source code? Managing source code may be a bit too advanced for the beginner, but if you start to develop an advanced program you need to manage certain aspects of the app lifecycle. You might have a team of programmers and you don’t want them to work on the same parts of the program. Maybe you need versioning control or maybe you just want to share your app with the world!

One of the more popular places to share and store your programs is . SourceForge has been around for a very long time and is funded by the colleges, universities, and several large IT businesses. You can manage your projects, team members, and control your code. Sign-up and hosting is free at SourceForge

is Microsoft’s answer to SourceForge. It works in a different manner, but does the same job. You can do the same things in that you can in SourceForge, but is designed to be more social. I have one of my own projects hosted on Codeplex here

Last but not least is Subversion (SVN). SVN is used strictly for versioning and source control. It is designed to be set up in a central  place, such as your desktop or a server, and you ‘check-in’ or ‘check-out’ certain parts of your code. It is the most widely used applications used for source control and is very easy to set up. Also, because SVN is open source and is not locked down to a specific IDE you can use SVN in most every development environment for free! One of the best SVN clients is TortoiseSVN

Well that about does it for this post ladies and gentlemen. If you have any other suggestions, resources, or tools that you like to use feel free to leave a post. Enjoy!