Comment My Experience (Score 1) 569
Let me start by saying that I think it's best to learn some fundamental concepts of programming that are mostly language independent. You should get comfortable with object oriented design and the design patters associated with it. You should get comfortable with relational databases (M$ SQL Server, Postgresql, mysql, Oracle, etc.). You should learn about threading so when you have to develop multi-threaded software you don't make a mess of things.
I have been programming for almost 4 years; primarily as a .net developer. I started out in a .net web development position using asp.net with C# as the server side language. C# is a lot like C, C++, and Java (more like Java than C++, but still). I definitely recommend learning C# as it is a very easy language to learn, and you'll be able to use some of the more complex features of it and the .net framework fairly easily. I also have 2 years of experience with Win32 C++ development and I can honestly say (IMHO) that Win32 C++ development shouldn't be something that you strive to learn as a new developer in the field. Other people may disagree with me intensely on this, but I think your time would be much better spent learning a higher-level language and the framework (if there is one) that it is part of (whether that is Java, C#, VB.net (*shudders*) ... pick your poison).
Some advice:
An Oracle DB guy I worked with stressed the importance of knowing the size of the software project that you're working on. If you go into a project not really having a good grasp on the size of it and all the different systems that are working together, you're pretty much setting yourself up for failure (of some sort, to some degree). Basically you'll probably end up re-writing code because you didn't think of certain things before you starting coding. Related to his point and more important is ALWAYS take the time to come up with a plan, or a software design before you start actually working on and coding for a project.
Have fun!
I have been programming for almost 4 years; primarily as a
Some advice:
An Oracle DB guy I worked with stressed the importance of knowing the size of the software project that you're working on. If you go into a project not really having a good grasp on the size of it and all the different systems that are working together, you're pretty much setting yourself up for failure (of some sort, to some degree). Basically you'll probably end up re-writing code because you didn't think of certain things before you starting coding. Related to his point and more important is ALWAYS take the time to come up with a plan, or a software design before you start actually working on and coding for a project.
Have fun!