Number of Jobs by Programming Language
The Viking writes "I was curious about which programming languages are hot with employers, so I did an informal search of several job search engines. The results are interesting (to me, at least). Are these numbers relevant? We can certainly debate whether or not the online job search engines are representative of the actual employment landscape."
This isn't offtopic, it's research into the right buzzwords to get a job. Do you know even one serious programmer who can't code in any language if presented a pocket reference guide? Citing specific languages in a job search is all about buzzwords for resumes.
Furthermore, the searcher omitted C. C is still a very popular language for embedded applications. Everybody I know around here that got hired recently got hired to write C or assembly for hubs, cell phones, TVs or printers. I program almost entirely in C for work but I program in Java for fun.
These job sites are not the way to go. I'd say a survey of recent CS grads, and people that recently got new jobs would give much different results. Even a slashdot survey saying "Which language do you use most at work?" would be better.
It h-has become a disturbing trend in recruitment circles to advertise jobs you don't actually have, in order to mine résumés for potential employer contacts. I know that this is especially common in the UK. I'd bet that less than half of these jobs are real.
Another worrying trend is that I know people who've responded to job ads, and even gone for interview, and have been told that the job doesn't exist, but that they wanted a healthy batch of résumés on file for when the economy picks up(!!)
Th-th-the best people to ask are the freelance workers, the people actually here on Slashdot. What languages are most in demand?
In the main, as a programmer myself, I find that specific, er, languages are not demanded so much. People want solutions, unh, not languages. That said, from the REAL ads I see (I'm in numerous freelance work groups), PHP and MySQL are way way way at the top of the tree, followed by Java.
mogorific carpentry experiments
Seems to me its more important to know algorithms, data structures, how to implement parsers, how to optimize databases(or knowing when its better to use a custom data structure rather than a database), etc.
But the job ads almost universally ask for knowledge of the specific language. I've worked with C++, Java, VB, Perl, SQL, XML, Javascript, and others, but in my experience knowing what to do with these languages far outweighs knowing the language itself. Why don't recruiters see this?
No, Thursday's out. How about never - is never good for you?
I strongly disagree with that approach.
I've picked up a working knowledge of many languages over the years but I'm not to say that I am an expert, or even proficient.
Expertise in a language implies you know the compiler and runtime environment very, very well. It also implies that you know the common pitfalls, strengths concerning the langauage and you know how to deal with them.
It's all vague "proficient", "expert", "knows". I'd say what you discribed wouldn't pass for more than "familar", ie. "familar with language x"
I am very wary of people that list 20 different languages on their resume, or suggest that they know these languages otherwise. Not that I'm in a position to make hiring decisions right now though.
Based on upvotes, Ageism is the only "-ism" Slashdotters care about and think isn't SJW
This table is completely disheartening if you're a programmer. Monster has over 250 cities/areas you can search (on their US site, that is), making an average of 10 or so jobs for the top 3 languages PER AREA. Yuck. Obviously this won't be the case, but that means some areas will have NO jobs listed for a particular area. With a total of 9741 job listings, that makes a total paper average of ~40 jobs per area. I really hope things start looking better than this.
Another thing to consider, of the total 20K jobs across all 3 services, how many of those are dupes? Maybe half? More?
Do you want your compiler saving registers and setting up stack frames behind your back?
[Set Cain on fire and steal his lute.]
This is a common argument, and there is obviously some element of truth to it, but it's still flawed for two big reasons.
If you think you can take a Java programmer, even one with several years of experience, and get him to program industrial strength C++ with a good book and a couple of weeks of on-the-job practice, I think you're mistaken. He'll write code that compiles, but it won't use the RAII idiom to avoid resource leaks, base classes won't have empty virtual destructors, large class hierarchies won't be divided into a sensible arrangement of files resulting in hideous dependencies at build times, he'll pass random boolean parameters to functions where enumerations are appropriate, etc.
Similarly, you try taking a guy who's used to C and getting him to write functional code using high-level functions, currying and lazy evaluation. The mindset just isn't there, and takes time to develop, not a copy of Learn This Fab Language In 30 Seconds.
The experience issue just isn't as straightforward as some (mostly theoretical, with a heavy CS background) people make out. Experience with general programming technique is very important, but experience with the actual tools still counts for a lot, too.
And before anyone flames, be aware that I'm a professional developer with experience using several diverse languages, and a CS qualification from a well-regarded university, so I don't have any axe to grind against CS here.
If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
It seems to be that companies are moving from VB to .NET, not that Java developers are moving to .NET.
.NET than VB- not because Java is conceptually further away from .NET than VB is (it definitely is not) but because it comes from a different vendor (Sun). That makes it harder for MS to write a good porting tool. And people generally chose Java in the first place because they wanted to deploy their stuff on Unix and Linux servers (thus avoiding the vendor lock-in and security issues associated with Windows) while still being free to develop on their Windows laptops- on which the OS choice is a relatively minor project consideration. So there is that.
.NET isn't as trivial as the VB->VB.net migration. J# gives you Java-like syntax. But while syntax seems like a major issue from a beginner's perspective because it's the first thing you have to learn, it's minor compared to library support. You eventually invest more time learning the library than the syntax. The .NET framework is a completely different animal than the Java libraries that you've learned and that your Java programs have been compiled against. And seriously, who would want to use J# for a new project when C# is available?
.NET are:
.NET framework APIs.
.NET brings to the table. Actually, that was a nice thing about J++/WFC a few years ago. Having to choose between VB or C++ w/MFC just sucked. (Although there are certainly alternatives: Python/Tkinter, Mozilla/XUL, etc.)
.NET on their resumes. Although .NET will quickly succumb to this too. But a programmer who knows both is that much more employable than one who knows only Java. Still, and this cannot be emphasized enough, companies want expertise in their field. Knowing a programming language isn't enough- you should also know the gritty details about a specific industry (trucking, pharmaceuticals, retail, online pornography, accountancy, whatever). If you're a nervously employed Java programmer, learning .NET might not help you as much as becoming an expert in whatever your company does- even if that is the boring part of your job. By gaining industry expertise, you help yourself stick out from all the $7/hr people in India who are itching to replace you.
This is not surprising at all and it's what I've been hearing from everybody. Java code is harder to port to
The migration path from Java to
VB and VB.net are both MS creations and MS is exerting pressure on the VB community to switch. A VB programmer can practically feel Microsoft's bayonet in his back pushing him down the VB.net migration path. And the porting tools are relatively straightforward for MS to implement, since they control both technologies. So if you program VB (ASP or not) for a living, I think you'd better learn VB.net ASAP.
If you're a Java programmer, however, it isn't as clear. The best arguments I can think of for learning
-The obvious conceptual similarity to Java means that you've already mastered at least the fundamentals- even if you still have a lot of studying ahead to learn the
-Java is generally considered inadequate for Windows client applications. (Unless you're developing on Linux using SWT/gcj and cross compiling to generate a Win32 EXE, or you're just compiling against the SWT library using javac and distributing a JAR and DLL. SWT does give your Java program that nice "C++ feel" you always wanted.) This isn't really Java's fault, it's Sun's for providing horrible GUI APIs like Swing/AWT. They make it way too obvious to everybody that you implemented your program with Java. Even though MS marketing still has its head stuck up its ass with this "XML web services" hype, the relative ease of writing simple desktop applications for Windows is a major thing that
-Java/J2EE skills (and server programming skills in general) may turn out to be insufficient for paying the rent/mortgage (tech slump, telecommuters from Calcutta, etc.), and not many people (yet) have
And, right there, you have an explanation of why most software teams fail, most commercial software products suck, and so many people keep buying junk development tools: software teams in industry don't have a clue what they are doing. They are just plugging together a bunch of library routines. They don't know whether to use quicksort or mergesort. They are mystified by what a garbage collector does and how to tune code to perform well. They have no clue what happens when they write "new object". TCP/IP might as well be ESP.
Thank you for demonstrating this point so clearly for us all. PS: Would you mind telling us where you work, as a warning?