Forgot your password?
typodupeerror

Comment It Depends (Score 1) 569

It depends very heavily on what you want to do. Even what operating system you intend to work with makes a tremendous impact on what the skillset should be. For instance, I'm a Unix programmer, and any experienced Unix programmer really should know C--even if it's not the actual language you'll spend most of your time with, C knowledge goes a long way on Unix. I personally find plenty of work in C, but then I believe that the fact that I'm rounded out with knowledge of several other useful languages does a lot for my chances in comparison with other candidates.

I've avoided Windows work where I can (it's just not my thing), so take my advice about it with a pound of salt, but my impression is that C# is a very good language to know right now. C# is really quite similar to Java, and so a lot of knowledge from one will transfer to the other (the chief differences may not be in the languages themselves, but between .NET and the Java Class Library). Knowing a little C++ and a solid understanding of using it in a Microsoft environment (which is perhaps more important than knowing C++ solidly for many jobs), will go a long way toward bringing you ahead of other C# candidates that don't have much C++; there are many limits to what you can accomplish in the real world with .NET alone.

I don't really enjoy working with Java, but I think it'll be a long time before Java programmers start running out of work. Writing phone apps seems like a pretty easy job to get with Java.

My personal creed is to learn the languages and technologies I want to know; I usually give little thought to how useful it will actually be for my career. That philosophy is admittedly somewhat naïve, and would absolutely need to be adjusted in a truly awful job climate; but it has worked well for me so far. I think I tend to snag jobs in which I'm happier, since I'm working with technologies I like (note, though, that in the larger picture, comfort with the technology really plays a very minor role in total job satisfaction).

There's a limit, though, to how well this can work for you. Several languages I've got good understanding of, such as PostScript or Haskell, I have no illusions of applying any time soon in a job. Similarly, I expect that knowing Fortran these days may have limited practical usefulness, especially when those jobs that do require Fortran can probably find much more experienced folks than a college grad. (However, you may find that familiarity with m4 is at least occasionally useful, and more so if you work in a Unix environment that depends on autoconf and the like).

Slashdot Top Deals

"I am, therefore I am." -- Akira

Working...