Fog Creek Software
Discussion Board




Number of Jobs by Programming Language

Anyone noticed this over at Slashdot? The methodology is a bit dodgy but food for thought if you are looking for a job:

Number of Jobs by Programming Language
http://www.bitbreather.com/programming_languages.html

Matthew Lock
Sunday, January 05, 2003

I kept track of this awhile back and in early 2001 there were 24,000 listings for java.

Crusty Admin
Sunday, January 05, 2003

I'd never hire someone or expect to be hired just for knowing language X... If a person can't pick up any unfamiliar language within a week, they're not worth hiring. Unless you are just looking for a warm body...

Dan Maas
Sunday, January 05, 2003

Dan, that was spoken like a true comp-sci sophomore. If you honestly beleive any programmer can master an unfamiliar language in a week, enough to be productive and write quality code, you're obviously a beginner.

Learning basic syntax in a week is possible, but mastering even the simpler languages, and learning their ins and outs, not to mention the libraries, takes a lot longer than a week, and anyone who's actually worked as a programmer realizes that.

Troy King
Sunday, January 05, 2003

I dunno troy, I have never really even "known" any of the languages I've worked with before being put on the job. I learned C/C++ on a sysadmin job I had in college, and every other job , where I've worked with java, perl, or python, I've just said "i know C++" and got hired. It maybe took more than a week to learn the basic language, but not much. People have these weird arguments about "mastery", but really, you should only learn enough to get the job done. There is no reward to becoming a guru, in most cases...

clumps
Sunday, January 05, 2003

Clumps,
Are you working as a sysadmin who needs to use certain scripting or programming languages occasionally or as a progammer working full time producing code in them; there is a difference

Stephen Jones
Sunday, January 05, 2003

i've been a programmer since the college sysadmin job where i learned C++.

clumps
Sunday, January 05, 2003

Learning a language is easy...  learning the ins and outs of whatever libraries are tied to the language is another story altogether:

For C/C++ you have the STL (which very few people are all that good at) and the API for whatever OS you are using (also tricky stuff).

For Java, you have the Java class library as well as the countless number of additional frameworks.  This also goes for C# and the .net experience.

For Visualbasic, you have the VB API (classes, controls, etc) and the various DB libraries (ADO, DAO, etc) which have their strange quirks and issues.

...and on and on...

Wayne Venables
Sunday, January 05, 2003

Every job offer in the world ask for Java and VB, and most recruiters add C++ because well "it seems to net the really smart ones." And oh yeah, "you must have 20 years Java experience". I hope everyone understands that one ought to read this report with a (meteor-size) grain of salt.

Li-fan Chen
Sunday, January 05, 2003

To be a guru, you generally do need a few years working with the language AND the particular libraries and frameworks associated with the language.  So a Java guru would not only know Java's syntax, but would also know Swing, AWT, EJB, RMI, JSP, JDBC, and JNDI.  You don't learn all of that well in a few weeks.

However, while they write the ads as if they want a guru, when they actually hire somebody (who probably had to lie and claim that he/she had 5 years of C#) based on the ad, that person is paid only $50-$60K and writes programs based on specifications handed down by a senior employee.  Gurus are almost never hired from an Internet job ad.  Either they are already there in the company, or they get a full-time offer after being hired as a contractor.  Or thru networking.

On the other hand, there is some small justification in looking for specific languages even for non-guru programmers because there are so many programmers who are miserable at learning a new language, because they failed to acquire the conceptual background (whether on the job, self-taught or in school) to do anything beyond the specific language they have been using.  Somebody from a purely COBOL background, or whose only experience is a Visual Basic job which they got hired for a few years ago without any computer science training (school or otherwise), may not have the background to understand pointers and object-oriented principles, and is likely to have a very hard time working on a C++ or Java project.  Observations at my company have confirmed this problem.

But still, it is the conceptual background and general "smartness" and enthusiasm that will matter more than the specific language.  Companies should look at the conceptual background that the candidate's experience covers, rather than a letter-for-letter match of programming languages.  A Smalltalk expert who has been writing programs for DNA analysis is probably not going to have any trouble picking up Java.  I remember a couple years ago it was a long-time Smalltalk programmer who won a JavaWorld programming contest with his first Java program.

Unfortunately, the HR drones who post these ads and scan resumes also don't have the conceptual background to understand that Delphi experience would provide a good foundation for Visual Basic, or that C++ experience with CORBA would translate well to Java and EJB.

T. Norman
Sunday, January 05, 2003

I've worked with several guys that were able to learn a new language in a week. 

At least they thought they had learned it.  :/

Samuel
Sunday, January 05, 2003

Wither Delphi? And I've never heard of Scheme...

John Topley
Sunday, January 05, 2003

I don't understand how somebody can claim to be a programmer yet never have heard of Scheme.  You ought to be flogged.

rally monkey
Sunday, January 05, 2003

Scheme is a LISP varient developed for advance AI research during the late 1960's and 70's (at MIT I believe).
I believe Rice University developed this free Scheme learn enivronment: http://www.drscheme.org/

Cheers
MAD

A Software Build Guy
Sunday, January 05, 2003

When I say "pick up a new language within a week" I don't mean achieve complete guru-level mastery; but I believe one should at least be able to track down problems with a debugger, etc... Also I assume that applicants should be *expected* to already have exposure to each major field of programming languages (e.g. one from the C/C++/Java/C# family, one from the Python/Perl/Tcl family, one from the LISP family, one CPU assembly language, one database query language, etc)... With that background it should not be difficult to adapt to an unfamiliar member of the same families. (a few weeks ago I was asked to fix a broken Java program; even though I'd never used Java before, my experience with C and C++ helped enough that I got it done in a few hours).

Dan Maas
Sunday, January 05, 2003

It's okay if you have never heard of Scheme.  It's okay if you are only conversant in one "world" of programming language/environment.  Each world is self-sufficient enough these days that there is no fundamental need to cross over into the other worlds.  In fact each world is so large that once you've made a sizable commitment to one world, it requires some serious motivation (your career path requires it, or shooting for guru status) that most people don't have the energy nor time to dig deeply into the other worlds.  Nobody can truly be a guru these days in all the software worlds out there.

You don't need to know one Germanic, one Romance, one Slavic, and one Finno-Ugric language to write classic literature.  Sure, knowing Latin might come in handy (depending on your chosen language), but it's not a requirement.  Now if you're a linguist, that's another matter, but how many of those are there compared to authors?  Besides, most linguists are doing research, not writing novels.

So if someone doesn't know the same exact industry/academia factoids as you do, don't bash them.  There are many paths to the same level of general computing knowledge, and your particular path is more likely than ever these days to deviate significantly from the next person's path.  Even if it feels like you've focused your efforts only on the need-to-know subject areas, I'll bet that someone out there has a different definition of need-to-know that is just as valid.  And if neither one of you can lay your egos and single-world-view aside, you will both look down on each other, and no amount of debate will persuade you to change your mind.

ODN
Sunday, January 05, 2003

Golly, Dan, I guess I'm only 3% as smart as you.  It's been 9 months with C#/.NET and I'm only now comfortable with my understanding of best practices, performance considerations, interop, the 6,500 CLR classes, deployment and debugging.  Think of how much better off we'd be if we hired the "one week guru".

Maybe I'll cure cancer next week.  Should only take me 3 or 4 days to learn the basics of cellular biology.  Nah, Middle East peace sounds interesting.  No more than a week to study the region's layout.  No, perhaps supercomputing.  After all, there's only N and P silicon.  What idiot can't figure that out?

How about I just E-Mail you the 600 page spec to our app and you can send us a binary?  No later than Thursday.  I told marketing they can believe in you.

Bill Carlson
Sunday, January 05, 2003

Appologies Dan, for the last post.  I didn't see your clarification.  Sorry, all!

Bill Carlson
Sunday, January 05, 2003

I'd take those numbers with a grain of salt since the actual number of jobs will probably significantly vary.  Not a large majority of companies use only those two job boards (Monster and Dice), and many don't even fill positions through online means at all.  Instead most of the openings are filled through current employees who either switch over to the new positions or recommend a friend or family member to the HR dept. for hiring.  So those positions rarely even make it to the message boards. 

HeyMacarana
Sunday, January 05, 2003

it does only take 3 or 4 days to learn the basics of cell biology.  or at least in the biology course i took, that was all the time we had to learn it. ;-) 

p135
Monday, January 06, 2003

Bill Carlson:

Could you please mail any links you have with respect to .NET, C#.

Thanks a lot,

Prakash S
Monday, January 06, 2003

"I don't understand how somebody can claim to be a programmer yet never have heard of Scheme.  You ought to be flogged."

Flog away!

John Topley
Monday, January 06, 2003

Here you go: http://www.htus.org/Book/2001-11-13/

Samuel
Monday, January 06, 2003

Damn, now I know my prospects for getting that job writing that CAML application are even lower... Guess I should just stick to my bread and butter, LOGO.

Ian Stallings
Monday, January 06, 2003

T. Norman wrote, "Somebody from a purely COBOL background, or whose only experience is a Visual Basic job which they got hired for a few years ago without any computer science training (school or otherwise), may not have the background to understand pointers and object-oriented principles, and is likely to have a very hard time working on a C++ or Java project.  Observations at my company have confirmed this problem."

I think you have got something here with your observation. 

Being able to pick up something within a short period of time really depends on the context.  That is, the situation in which you have to apply your new knowledge.

Heck, just being a really good business software developer with one PC development platform (i.e. Java, C++, VB, etc.) is a very difficult thing to do.  Then again, I think of business software development as being something more than simply coding.

One Programmer's opinion
Monday, January 06, 2003

I just love the job listings that want "5 years of .NET experience," or something similar that's completely impossible.

Super
Monday, January 06, 2003

John Topley -- Great sense of humor. We need more people like you, instead of language snobs.

My humble assessment: Scheme is worth learning as an intellectual exercise; it'll teach you about functional programming and different ways to approach problems you may come across. But don't expect to use it, ever. And don't put it too high on your list of things to learn.

Joe Grossberg
Monday, January 06, 2003

Scheme may seem pretty useless and it probably is.  But it's a good way to enter the parentheses based programming world along with LISP and other similar languages.  It's nice for developing certain types of rules based and artificial intelligence work, and does the job much easily than something in C++, Java, etc. can since they are declarative languages.  But those types of jobs aren't mainstream and will mostly appear only in obscure places like at a space agency, or perhaps when developing AI bots for a video game, etc.

HeyMacarana
Monday, January 06, 2003

I don't know if we need more people like Topley or not, as I've never met him.  I also didn't really want him to get flogged.  Maybe joe could use a better sense of humor, or maybe I should have put in a little smiley face :). 

LISP, whence sprang Scheme, was used to write Viaweb which later became Yahoo! Store.  It's quite a viable language.

http://www.paulgraham.com/avg.html

rally monkey
Monday, January 06, 2003

rally:

And I use emacs daily, which is written in a cousin of Scheme.

Glad to hear you're a wiseass and not just an ass. :)

Joe Grossberg
Monday, January 06, 2003

I like scheme, and i like paul graham's writing. But the only part of yahoo store written in scheme is the part nobody uses...

schemer
Monday, January 06, 2003

er, i meant "lisp"

schemer
Monday, January 06, 2003

We definitely need more people like me! ;-)

I've heard of LISP of course but I don't thing anybody could ever call Scheme a mainstream language. The point I was trying to make - which kind of got buried - was that I'm surprised that Delphi wasn't in there.

John Topley
Monday, January 06, 2003

Sorry, typo. I meant "I don't THINK anybody..."

John Topley
Monday, January 06, 2003

Delphi's down towards the bottom:

Delphi 157 55 0.68%

schemer, which part is it?

rally monkey
Monday, January 06, 2003

rally - the part that lets you define custom page templates. 

schemer
Monday, January 06, 2003

That's strange, when I first looked at this thread and clicked on the link, the page had a big graph, now Delphi's clearly visible. Hmmm...too much sherry at Christmas, maybe!

John Topley
Tuesday, January 07, 2003

Good thing they got rid of scheme.  While it would be nice for scheme to actually be used in real projects, I just doubt that it had so many more listings than lisp.  The only large segment of demand I could imagine was from academia.

Another site they link to uses Google in their rankings.  It's not clear if people can really extrapolate trends from Google, since they change their algorithms.  For the lesser-used languages, these changes may have large impacts, the noise outweighing signal.

Tj
Tuesday, January 07, 2003

Not too much sherry John. He changed the site a couple of days ago, adding new languages, presumably  including Delphi, and excluding scheme.

I personally reckon the SQL figures are completely skewed, as what the search engines have found is a load of jobs for system admins and DBA's who need to look after SQL server or MySQL, rather than such a large number of programmers using the language.

Presumably the graph was changed to a table to save bandwidth

Stephen Jones
Tuesday, January 07, 2003

*  Recent Topics

*  Fog Creek Home