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."
forth use = if unemployed then
"Everyone is entitled to their own opinion, but not their own facts."
That was quick. Here's the important part (without the table tags):
Number of Job Listings by Programming Language (January 3, 2003)
monster.com hotjobs.com dice.com %
Java 2739 1000* 1957 27.82%
C++ 2103 1000* 1534 22.65%
Visual Basic 2070 969 1127 20.35%
Perl 955 517 577 10.01%
Javascript 925 455 498 9.17%
C# 290 235* 183 3.46%
Ada 384 175 57 3.01%
Fortran 124 68 48 1.17%
Scheme 39* 138* 46* 1.09%
Python 58 43 33 0.65%
Smalltalk 42 27 32 0.49%
Lisp 12 4 9 0.12%
9741 4631 6101
* hotjobs.com changes a search of "C#" to a search of "C", so I averaged monster and dice.
* hotjobs.com limits the number of results that a query can return to 1000.
* Searching on the term "scheme" may result in false positives.
Tarsnap: Online backups for the truly paranoid
I work for a computer consulting company which deals with mainly Fortune 500 companies. Java is the most requested language with VB/ASP coming in next. .NET is starting to grow and we anticipate it will continue next year. It seems to be that companies are moving from VB to .NET, not that Java developers are moving to .NET.
If only we had some numbers on the average pay for each position, I'de be willing to bet that while Java is real popular, you would get much higher pay for fortran.
Maybe the price of the programmers is also affecting which language people are hiring for.
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
PHP is the defacto standard used by newbies and children who don't want to learn a real language like perl or Java. PHP is shit.
I think PHP has a valid niche in building throwaway code for demos. Things I've used it for include:
- extremely low cost web sites with limited functionality. A person looking to get a site on the web with a concept can build a php site and put in on a shared server for $10/mo in hosting fees.
- prototyping - some times it's necessary to put together a prototype of an idea to show to a client in a hurry.
For serious work, I agree with you.
That depends on the environment and what objects it exposes for scripting. There are a lot more implementations out there than you'd think:
There are doubtless other examples.
Il n'y a pas de Planet B.
Since after all, the whole point of signing up for Monster is to start getting INCREDIBLE amounts of spam. That's what happened to myself and the whole department I was in when we got laid off and we'd all signed up with Monster.
Please troll elsewhere:
Yahoo Embraces PHP, Expands Open-Source Commitment
PHP Usage Stats
One of the nice things about knowing and using a number of languages is that you get to pick the right tool for the right job. People like you, Kunta Kinte, seem to believe it's a good thing to limit tools; sometimes just because you have a hammer doesn't mean that everything should resemble a nail. Ever tried to write a compiler in FORTRAN, for example? Ever listen to an MSCE extoll the virtues of a certain company's products for every conceiveable problem?
Now, on my resume I list the "languages" LEX and YACC (lately more Flex/Bison), because I have found that applications-specific scripting languages can improve quality and make maintenance far easier than trying to do everything in, say, C. Many of the projects I work on are tools, not end-user apps, so providing a scripting language suited for the task makes it easy for my customers to concentrate on their jobs instead of how to get my software to do something they really want to do. Even when the scripting language is used exclusively internally, I have found that the quality of the resulting program is far higher because I've removed opportunities to screw up by using a level of abstraction. C++ and other object-oriented languages try to create a one-size-fits-all version of this, but sometimes it's just easier to think about the problem with a more free-form syntax without worring about inheretance issues, constructor/destructor conflicts, garbage collection, and the other baggage that seems to come with now-"traditional" OO programming.
How many environments do you work in? I'm equally at home in the embedded space, personal-computer applications, Web applications, secure e-commerce applications, network stuff, and man-rated programming. Each area has its own set of tools -- why shouldn't I mention them as I'm versed in using them?
Or perhaps you are of the school of "jack of all trades, master of none"? Sorry, I like challanges. I may be 50, but I can still write code. Maybe not as fast, but I'll stack the quality of my code against any person here.
New poll topic! But I don't think very many would vote for Visual Basic in this site..
A few months later, in a PHB-meeting: "Apparently there's an innovative language called 'Cowboyneal' that's been very popular.."
What time is it/will be over there? Check with my iPhone app!
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.
The people posting the jobs are insane, incompentent, idiotic or all of the above.
Favorite post:
Must have Exchange 2000 on Solaris 8.
This
PHP 189 224 31 2.12%
Which would put it somewhere between Fortran and Ada.
Tuus crepidae innexilis sunt.
jobs by OS on dice: Windows 2229 Solaris 685 Linux 399 AIX 367 AS/400 or OS/400 287 HP/UX 191 Novell 165 VMS 61 Mac or MacOS or System 7 58 RTOS 58 VM 31 IRIX 18 BSD 18 OS/2 13 SCO 8 Darwin 6 BeOS 0 CHORUS 0 MINIX 0 HURD 0
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?