Slashdot Mirror


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."

48 of 590 comments (clear)

  1. PHP??? by Reservoir+Penguin · · Score: 4, Insightful

    Where is it? PHP has become the defacto standard for developing new websites. There are certainly more PHP jobds then Python ones. It would also be interesting
    to learn about employment oportunities for ppl with older skills like Cobol, Fortran, Assembler.

    --
    US-UK-Israel: The real Axis of Evil
    1. Re:PHP??? by Billly+Gates · · Score: 4, Insightful
      Like ASP, PHP pages have the engine compilied as a module that loads with the HTTP Server. This makes it lightening fast like asp. I would think in heavy websites that php would be alot better then interpretive languages like Java or Perl. I do not understand your argument on why php is used by only a small to medium websites. It frankly can scale quite high and maybe the only solution available besides ASP for really high end websites.

      Retailers have been on the web since the dawn of the web browser in the mid 1990's. They already standardized on their development tools years before php became what it is today. Like Perl and Java before it, it will take some time before it takes over.

      For a new website php is a compelling language to choose. For an existing website it may not be worth it due to the costs of retraining the developers as well as redeveloping all of the website code. As recent as the late 1990's the vast majority of websites still used only dynamic html and javascript with a few experimenting with asp.

      This happened even though perl and java EE were already out and capable. Infact Perl using cgi and Java EE are now just starting to become standard in the corporate community even though they have been ready for years. Its because companies like what they have and do not want to change. Same argument for php applies here.

      In 5 years I bet at least %25 of the big web sites will use php. That is unless trusted computing aka pallidium takes over where asp will be the only thing that will be accepted when doing commerce on the web. *shudder**

      p>Php is advanced and certainly is enterprise ready with loads of libraries and features. It is used on quite a few commercial websites already.

  2. Re:Already slashdotted by shaitand · · Score: 5, Insightful

    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.

  3. Ignorant, only PC languages were chosen? by Shivetya · · Score: 4, Insightful

    Gee, typical.

    Lets broaden the search to languages commoningly used in minis and mainframes. Perhaps the results will be more relevant?

    --
    * Winners compare their achievements to their goals, losers compare theirs to that of others.
  4. Re:Javascript is programming??? by jolujogat · · Score: 4, Insightful

    Perl is a scripting language too, and its up there.. it takes a bit of programming knowledge to write good scripts.

  5. What lousy methodology. by DeadSea · · Score: 5, Insightful
    Job openings are crammed with requirements that are not necessary. Applicant should have 5 years experience with C#. Applicant should be fluent in Perl, Lisp, Scheme, and Fortran (Yeah I'm sure you'll use all those).

    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.

  6. These figures aren't useful at all. by wackybrit · · Score: 5, Insightful

    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.

  7. Reap what you Sow by Malicious · · Score: 1, Insightful
    I think it should be pointed out, that advertising your jobs on hotjobs.com, or monster.com, or the like, is going to get thousands, upon thousands of Armchair warriors applying for the positions.

    If you want Highly skilled workers, who do actual programming, you're more likley to feild out the position to real people, University grads/students, and computer consulting companies.

    If you want a bunch of Joe Losers, who learned Java from Sally Struthers, so they could be rich computer technicians, working for peanuts, then you advertise on Monster.com

    --
    01101001001000000110000101101101001000000110001001 10000101110100011011010110000101101110
  8. Re:Slashdotted by shaitand · · Score: 3, Insightful

    C wasn't searched, only C++ was, and C++ programmer are not C coders.

  9. I've always wondered by Pinball+Wizard · · Score: 5, Insightful
    Why do specific languages seem to be more important to employers than CS concepts. Someone with a good background in CS should be able to work in a number of languages and be able to pick up new ones quickly.

    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?

    1. Re:I've always wondered by Anonymous Coward · · Score: 2, Insightful
      Companies (and recruiters) ask for specific languages because they aren't hiring programmers in a vacuum: most of the time there's already a code base to maintain, or there's a specific project they need a coder for. Programming language is usually chosen and decided long before you even get there.

      Hirers ask "do you know it?" rather than "can you learn it?" because if you don't know the language, there are plenty of people who do. The ability to actually code intelligently is usually considered part of "knowing the language".

      Another thing to keep in mind is that, at least these days in the U.S., most of the job postings you see online are from recruiters and consulting firms. They're the only ones hit harder in the last two years than IT professionals, and every time a new job opens up somewhere, a half dozen firms pounce on it with their absolute best prospects. If you get called by a third-party contractor and asked, "Do you know Java?" and your answer is, "No, but I know C++, they're pretty similar, I think I can learn Java fast." you're going to hear a sharp click as they move onto their next resume.

      In a tech market as tight as today's is in the U.S., there's no room to screw around.

    2. Re:I've always wondered by weiyuent · · Score: 3, Insightful

      While I agree that a solid understanding of computer science theory is what separates a SW engineer from a hacker, you should not dismiss the important of experience in a particular language.

      Different languages are fundamentally different in terms of capabilities, style and design philosophy. Use any one language for long enough and it will fundamentally change the way you think and work, partly due to the realities of the language, partly due to the unique culture of the developer community that surrounds it. Put a bunch of experienced VB, C and Perl developers in the same room and pretty soon the gulf between them will be apparent.

      Furthermore, when a job ad requires 5 years proficiency in C++ on Windows, the implication is that you would be intimately familiar with MFC and Win32 API. It takes a lot of experience to truly harness these beasts effectively, not least because they are so imperfect and unruly! In the real world, developers don't spend all their time implementing the bubble-sort routines they learned in a CS course.

      The "language matters much less than theory" refrain is only true for junior positions where nobody knows anything anyway.

    3. Re:I've always wondered by sql*kitten · · Score: 5, Insightful

      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.

      Problem is, no CS graduates do know this. Sure, they know how to implement a compiler from scratch in 68000 assembly language, but none of them know how to exploit SUNPro or VC++ features properly. Loads of them know about parsers, none of them know how to code to make things easy for a debugger. Loads of them know about fancy research OO databases, none of them know how to design an RDBMS.

      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?

      Speaking from experience, I always try to hire physics, engineering or philosophy graduates for programming positions. CS graduates are worse than useless because before you can deploy them on a project you have to make them unlearn all the crap their professors (who haven't been in industry for 25 years) have taught them.

    4. Re:I've always wondered by Pinball+Wizard · · Score: 3, Insightful
      Well, I wasn't necessarily making the point that people should hire people who know only the concepts but not the languages, but that they shouldn't do the reverse(hire people who know the languages but not the concepts) And I still believe its the concepts that are the most important thing as a result of having learned several languages.

      Another Spolsky article points out the dangers of say, someone who knows Visual Basic, but doesn't know how to get around its limitations. Yes, you should know the language and the API's you are working with. But you should also know whats going on under the hood.

      --

      No, Thursday's out. How about never - is never good for you?

  10. Re:Already slashdotted by Kunta+Kinte · · Score: 5, Insightful
    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.

    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
  11. Learn Java and then be a whore... by Mike+McTernan · · Score: 3, Insightful

    The results show the demand for people with different language skills, but gives little insight into the type of jobs that are available, or the languges that they use.

    Much more interesting would be a breakdown of the different tech sectors vs languages used, although I'm guessing that most of it would be fairly obvious (Web stuff using mainly php and perl, C for embedded etc...)

    From the question, it sounds like The Viking is trying to work out which language will give him the most job opportunies. My advice would be to select at least a couple of tech sectors to refine the search and then re-generate the stats. It might be that there are lots of very similar opportunities for VB programmers which The Viking would find to be boring as shit. Better to find a language with the maximal spread across different job types :)

    --
    -- Mike
  12. C# is HOT by rodac · · Score: 3, Insightful

    C# is all the hype now and it is hot.

    Similar to a few months after JAVA was released,
    you can get a GOOD job according to the ads that want people with 8-10years experience with C#

    If you can also say something like "I program XML in C#" then you are all set.

    On a different point, the downturn in IT industry is good. This just means that hopefully only skilled people can work there and no more ex-busdrivers hacking webpages.

  13. PHP vs. "enterprise" by Tablizer · · Score: 3, Insightful

    No one uses PHP at an enterprise level, nor is it ready to be used in such a manner.

    (Warning, karma-killing but truthful rant ahead)

    What the fsck is "enterprise level" anyhow? If that ain't a beaten buzzword, then I don't know what is (besides "XML web services").

    PHP apps tend to use the database for noun modeling and state, not objects (although it can do OOP). Thus, it's "size" depends on the database, not really on PHP itself. Now if you want to define "enterprise level" to mean "big fat bloated objects/classes", then you are right. PHP is not "there". If you want big fat tangled bloated objects/classes, then go with EJB. Perfect mess for job security. See:

    http://www.softwarereality.com/programming/ejb/i nd ex.jsp

    Relational theory and OO are pretty much at odds I have come to conclude, at least WRT to "business modeling". OO fans only want to use the "persistence" feature of relational databases. Beyond that they tend to re-invent the database from scratch in code, hand-coding their own indexes, joins, etc.

  14. Re:Already slashdotted by roman_mir · · Score: 2, Insightful

    I can code in these: Prolog, Lisp, Scheme, ML, C, C++, Java and JSP, Basic, VB and ASP, Perl, PHP, PLSQL, Assembler 86/87, Assembler 68000 Motorolla, JavaScript, Pascal (3-7), Turin and OOT, Fortran, PL1, Cobol, JCL, various shell scripts sh, csh, ksh and I am possibly missing a few others I used. These are only languages and already there are different programming paradigms. Lisp, Prolog, C, Java, C++, Perl - do you see how these languages are different? You better know exactly why you are using one and not another for the job you are doing and you better use it right applying good programming techniques and patterns and using all available libraries and frameworks. Sure you can use C to do all of the stuff you need but if the right tool for the job is Lisp or Java your work will be hindered, your results will possibly be not as maintanable and possibly could not be proven to be correct. A programmer who is unfamiliar with a functional programming paradigm will not be able to use Scheme to his/her advantage. A programmer who is used to the procedural paradigm will not use Java or C++ or Smalltalk or Eiffel effectively because his thinking will be limited to the only paradigm he/she knows/understands.

  15. Because abstract skills aren't as important by Ars-Fartsica · · Score: 4, Insightful
    This isn't a troll. I have found again and again working in industry that it is far more important to be very very good in the language of your code than to have a general grasp of concepts. Chances are your team will not be switching to a new language midstream, or trying to create a sorting routine faster than quicksort. Really, when is the last time you coded up new algorithms of a nontrivial nature? Often knowing the libraries is more important.

    Becoming a language guru will inevitably involve deeper issues anyway, as true language gurus often delve into the implementation tools (compilers, VMs) for their given language.

    "Big thinkers" on the other hand, tend to be just that. Lots of talk and little action. The bottom line is that you are trying to push out code to make money.

    1. Re:Because abstract skills aren't as important by geekoid · · Score: 3, Insightful

      great way to stay in an ever shrinking box.
      All the best programmers I have ever worked with have one thing in common, the understand the concepts of programming.
      I've seen people pick up and MASTER a new language in a matter of weeks.
      They are ussually the best at getting the job done, as opposed to figuring out how to work with a broken model because they don't know anything about basic concepts.

      --
      The Kruger Dunning explains most post on /. http://en.wikipedia.org/wiki/Dunning%E2%80%93Kruger_effect
  16. Re:Java & ASP by Anonymous Coward · · Score: 2, Insightful

    A few years ago a web "developer" was a web designer.
    "Hey look I can code in HTML !"

    That was a shame, but luckily the dot com bust removed a good chunk of those bozos.

    Next came the "e-commerce" guys. A much tougher task than just drawing pretty pictures.

    Nowadays people are spicing up there resumes with things like "Architecting reliable enterpise B2B web services and applications". Whatever.

    A good developer tries to thoroughly understand his task, and uses the right technologies to get it done. Buzzwords be damned.
    Still, its too bad that some of us get labeled "web" this or that because we happen to move data around using tcp/ip

  17. Re:Study innaccuracies by Anonymous Coward · · Score: 2, Insightful

    This is not a study, nor did the originator state such. It is a compilation of information pulled from various search engines and Web sites, each of which has different search parameters.

    The inclusion of Monster.com alone invalidates any sort of scientific or statistical rules. The contents change daily. Also, in most cases, the people entering job notices are HR types, not the techies that actually use the languages.

  18. Re:Already slashdotted by etcshadow · · Score: 4, Insightful

    No, I'm sorry I have to agree with the guy above (as well as you). It's true that *really* knowing how how to program is more valuable on the whole than being an expert in a particular language... however, on a specific project, and with certain languages (perl is a fairly good example), prior deep experience with the specific language can make a HUGE difference.

    [Just so you understand that I'm not talking out of my ass, I've been programming for 20 years, broken down for the large part (with some overlap) as about 9 C/C++, 7 FORTRAN, 5 BASIC , 4 assembly (various) and 4 Perl (plus a bunch of other pedagogical languages like scheme and so on).]

    I would consider someone a hell of a lot more valuable if they had a lot of experience with several different programming languages, because, as you said above, they are more likely to understand the fundamental concepts of programming. However, I'm working in a Perl shop right now (and unlike these other posters, I DO make hiring decisions), and at this stage, I wouldn't consider anyone for a senior position who didn't have consierable experience with Perl. There are a lot of reasons, but one of the biggest ones is: 3 months to get up to speed or 6 months? Consider how much they're being paid, and the opporunity cost of 3 more months, and its just not worth it.

    Perl is definitely derived from C (as well from shell and various others), but a guy with C and Java and COBOL and whatever else is just NOT gonna be able to run with Perl that quickly, period. Perl is too different in terms of the tools that you actually use (I'm not talking about syntax or silly little idioms and all of the magic variables in Perl). I mean, if you're programming in Perl, and you're not thinking "how would regular expressions and/or hash tables (for example) make this easier?" then you're probably just not doing it right (whatever "it" is). If you're really convinced that isn't how you should be using Perl for this situation, then you probably shouldn't be using Perl anyway. (I love Perl, but it's not the answer to everything).

    Ugh, I'm rambling now... anyway, I'd say that what you said is *mostly* true, but almost every language has things about it that separate it and make partiular expertise valuable (in at least some situations). Hire someone to write C/C++ because they know Java, C#, Perl and Basic? But they've never used a pointer!!!! Hire someone to write Java because they've used C/C++, Fortran, and PHP? But are they really thinking about threads from the get-go? Etcetera... I hope you see my point.

    --
    :Wq
    Not an editor command: Wq
  19. Re:Already slashdotted by shaitand · · Score: 3, Insightful

    I definately see your point, I even agree in general. I definately do not think you should throw a C programmer in a perl project and expect him to roll (whether or not I agree perl should be used for coding anything that could be called a "project" unless it's perl module is another matter).

    As an experienced programmer, when you look at a list like this, are you thinking in terms of jumping into a job with an unfamiliar language if it's number one on the list or are you looking at which language to look more closely at and in relatively short time be able to add it to your resume.

    Where we disagree I suppose is how much time it takes to pick up these things and identify them. For example with perl, it took me less than 24hrs working with it before I was asking myself "how would regular expressions and/or hash tables make this easier". When absorbing a new language the first thing I look at is syntax and basic functionality, then I start to look for the things that are unique or advantageous in that language.

    Basically I guess what I'm saying is this is nothing but a list of buzzwords so you can add them to your resume (even if it does take a month to be able to honestly do it).

  20. Re:Java way up there? by sql*kitten · · Score: 3, Insightful

    Last but not least, where are some other languages? What about... blah blah, long pointlesss list deleted

    Look, the languages that matter are C++, Java, SQL, FORTRAN and COBOL. I'm sorry the trendy open-source language "de jour" isn't there, and I'm sorry this week's academic favorite isn't either. The fact is, no-one gets paid for their "elite" Haskell or Glish or elisp "skills". Slahsbots can whine about this 'til the sun implodes, it won't make a difference. Learn a corporate standard or, to put it simply, don't bother looking for a job. End of story.

  21. Re:What about Haskell? by iggymanz · · Score: 3, Insightful

    I feel your pain....only 8 job listings in all of Dice for my favorite language, Ruby (probably 100's in Japan, but none in U.S.). Zero listings for Haskell (just 6 matches for a company that had "Haskell Avenue or something in address). Maybe someday I'll be lucky enough to have a job again where they only care about results, not the language used.

  22. Re:Slashdotted by macrom · · Score: 5, Insightful

    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?

  23. Not just how many jobs - how many applicants? by TekPolitik · · Score: 3, Insightful

    To decide what the best prospects for employment are you need to look at not only how many jobs there are using a particular language, but how many applicants there are for those positions. There's far more Java programmers on the market than anythings else, so that as an employer of people who write in C++, and people who write in Java, I find I can fill the Java position far more quickly.

    Also, a lot of the application space covered by Java competes with the application space covered by Visual Basic rather than that covered by C or C++. That is, Java is being used for pretty end-user stuff, particularly if it's web based or an in-house project, whereas you use C or C++ for applications that require high performance (and these applications do still exist), and for shrink-wrapped software deloyed widely. There is some overlap, and some other things I haven't taken into account here.

    Java is not necessarily used for platform independence. In fact even remaining on the same platform you have to special case things for different versions of the JVM, unless you have control of that, which you probably don't.

    So, the questions are:

    1. What type of software do you want to develop? If a specific type, target the language that is dominant for that type of software
    2. If your primary concern is immediate employability, how many jobs are open for the languages you're considering, and how many applicants are there for those jobs? Choose the one that has the best ratio.
  24. How's he counting? by CaptainCarrot · · Score: 3, Insightful

    I find it very surprising that there are no jobs listed at all for C programmers. Is he perhaps lumping C and C++ into one category?

    --
    And the brethren went away edified.
  25. Re:OT: Stuttering by wackybrit · · Score: 2, Insightful

    Mostly the latter. It's a trend. I'm waiting to see if anyone catches on. Knowing the (balls) mentality of most Slashdot contributors, everyone will be going 'In S-S-SOVIET RU-RU-RUSSIA' within days. Or not :-D

    Besides, Slashdot needs some new trends. Soviet Russia is way (clitoris) past its prime now, and hot grits, Natalie Portman, PROFIT!!, and Beowulf Clusters are truly dead and buried. See my sig.

    Another trend is throwing random porn related words into otherwise insightful posts and seeing if you still (cock) get moderated up.

  26. Re:Slashdotted by GreyyGuy · · Score: 3, Insightful

    Disheartening? Maybe if you own part of Monster.com.

    What percentage of all available jobs do you think are posted on the site? I'd bet good money that it is less then 5% and and I'd even feel pretty good on a bet that it is less then 1%.

    I'm prety confidant that there are more then 9741 job openings for programmers in the U.S.

  27. Re:Java way up there? by miu · · Score: 5, Insightful
    I do. Inheritance breaks encapsulation. If I want to pass around function points, I'll pass around function pointers; I'll not have the compiler doing it behind my back.

    Do you want your compiler saving registers and setting up stack frames behind your back?

    --

    [Set Cain on fire and steal his lute.]
  28. Delphi!?!? by cronostitan · · Score: 3, Insightful

    I really miss Delphi/Pascal/Kylix !?!?!? This list is far from complete since these languages are used a lot in rapid development....

    --
    Spelling errors were made for your amusement only...
  29. Gah! That damned myth again by Anonymous+Brave+Guy · · Score: 5, Insightful
    Why do specific languages seem to be more important to employers than CS concepts. Someone with a good background in CS should be able to work in a number of languages and be able to pick up new ones quickly.

    This is a common argument, and there is obviously some element of truth to it, but it's still flawed for two big reasons.

    1. You can pick up the basics of new languages quickly. Learning a serious language well, including a grasp of its idioms and at least an overview of the major library components, takes a few months, or longer if you don't have good supervision/training.
    2. It's relatively easy to transfer from one language to another where they follow the same paradigms (procedural, OO, functional, whatever) but learning a whole new paradigm also takes months.

    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.
  30. Re:What about Haskell? by StandardDeviant · · Score: 4, Insightful

    Ever occured to you that perhaps the language(s) used are part and parcel of the results? If you write your code in Haskell, and I write it in Java, assuming identical end functionality and other end-user quality metrics, which is better? The Java codebase. Why? Maintenance. It is *really* dumb from a business perspective to depend on any one person being in any one position. If the Haskell-codebase's maintainer died, quit, got sick for six months, shaved his/her head and became a Hare Krishna dropout, where does this leave the company? Searching desperately for a Haskell programmer, which may take a long time given that the number of really good Haskell developers is epsilon small compared to, say, the number of really good Java developers. [I'm using Haskell and Java as comparative examples here, you can sub in any(rare|common) couplet of languages you want.]

  31. Java the most popular? by Gary+Franczyk · · Score: 4, Insightful

    Java is just the buzzword that almost all IT managers think that their applicants should have.

    I have seen dozens of job postings for positions like System Administrator and Database Administrator that had NOTHING to do with Java, and yet, somehow, Java finds its way onto the list of requirements. I've seen several of my managers post job openings requesting Java experience while our department did absolutely no Java work whatsoever.

  32. Re:Java & ASP by MillionthMonkey · · Score: 5, Insightful

    It seems to be that companies are moving from VB to .NET, not that Java developers are moving to .NET.

    This is not surprising at all and it's what I've been hearing from everybody. Java code is harder to port to .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.

    The migration path from Java to .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?

    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 .NET are:

    -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 .NET framework APIs.

    -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 .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.)

    -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 .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.

  33. you wouldn't think so by g4dget · · Score: 5, Insightful
    I have found again and again working in industry that it is far more important to be very very good in the language of your code than to have a general grasp of concepts. Chances are your team will not be switching to a new language midstream, or trying to create a sorting routine faster than quicksort. Really, when is the last time you coded up new algorithms of a nontrivial nature? Often knowing the libraries is more important.

    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?

  34. Re:Already slashdotted by russellh · · Score: 2, Insightful
    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.

    Right, but the buzzwords land the interview. The experience section of a resume and the interview ought to cover the details. As an interviewer, you obviously would ask about all those twenty listed languages, and in the process would probably discover a lot. To leave the buzzwords and the even vague descriptive phrases off a resume is dumb.

    --
    must... stay... awake...
  35. Specific language knowledge is hugely important... by edashofy · · Score: 3, Insightful
    I was once given some code by a guy who had been writing code since far before my own birth and was learning Java. In there, I found a table:

    public static final int X_00 = 0;
    public static final int X_01 = 1;
    ...
    public static final int X_FF = 255;

    I asked him what was up with that. His reply? "Java doesn't have hex support built in." My reply: "Uhm, yeah it does. Always did, in fact." His reply: "Oh, well, I never found it."

    Knowledge of the language and its libraries are extremely important.

  36. Re:Slashdotted by Lucas+Membrane · · Score: 4, Insightful
    less than 2% of jobs are ever published

    That's not an accurate figure, either. In the US, most substantial governments and many large employers mandate that all jobs go through an open hiring process that does have most or all openings posted, published or advertised. These represent far more than 2% of jobs.

    Small businesses do much more hiring by other means, but they also do far more than their pro-rata share of firings and closings, too. In recent times around here, you cannot advertise a job vacancy for a decent tech job without getting deluged with hundreds of applicants, and if you give a phone number, you are out of business for weeks answering calls. Small businesses can't stand this and find other ways to hire. Of course, the current employment situation for tech workers makes it very likely that anyone needing to hire a tech worker already knows well two or three very qualified candidates needing work. In this situation, building a network of casual acquaintances is less help than one might hope, because everyone not tied up by a formal hiring process is hiring close friends and relatives.

    I have been looking at job openings closely for about three years now. I estimate that advertised tech job openings in my area fell about 75% between 6/2000 and 9/2001 and have fallen another 75% since then. Advertised pay rates are also way down. Find another career.

    For example, Computerjobs.com job openings count for my area is down to around ten jobs from around 150, dice down to around 200 from around 1200 with a much larger percentage of duplicate postings, tech job openings at governments and large employers down about 90%, local classified advertising down about 90%.

  37. Re:He's missing Ruby by Colonel+Panic · · Score: 3, Insightful

    Taking Japan by storm, anyway.....too bad not here

    Yeah, here in the US I wouldn't exactly say that Ruby is taking the country by storm, but it does seem to be making steady progress. It would be nice if it were going a bit faster...

  38. Total BS... by bubbha · · Score: 4, Insightful

    Problem is, no CS graduates do know this.

    Absolute hogwash. I've been in this business for 20 years and interviewed developers for probably 100 openings. When I see no formal computer science education I put that resume on the bottom of the pile. Not all entry-level CS majors are ready to hit the ground running but at least you know that they have been exposed to a broad range of programming and software engineering topics. And in my experience, it's the physics and EE folks that I have had the most problems with.

    I believe the biggest problem in our industry today is bad IS management. In my experience, IS managers without formal CS education are the reason that IS fails to meet business expectations. And I sense a lot of 'tude from the poster...probably does not have a CS degree and wants to get back at those who do.

    --
    I want to be alone with the sandwich
  39. set theory vs. practice by MegaFur · · Score: 3, Insightful

    You're argument is broke.

    Given sets A and B where A is a superset of B, we know: if b is an element in B then b is also an element in A. Or, in other words, all b's in B are also in A. Any element a in A, may or may not be in B.

    But, following this logic, all we would have is that "All C coders are C++ coders.", not "All C++ coders are C coders."

    But even when the statement is written that way, it still doesn't really work in practice. Sure you *could* be a C-only coder and code using a C++ compiler--but you wouldn't like it. Besides, what would be the point of using a C++ compiler with all its complexity if you're only writing C code? Finally, how could you claim to be a C++ coder if you didn't know what a class was?

    --
    Furry cows moo and decompress.
  40. What they advertise != what they use by DunbarTheInept · · Score: 4, Insightful
    Typically the languages mentioned in the ad for a position are a superset of the languages you actually use in the job. There are several reasons I can think of for why this is done:
    1. The employer thinks they MIGHT begin using some of those other languages in the future and wants someone who could transition if that happened.
    2. The employer is thinking that the more languages the programer knows, the more likely it is that the programmer is competent in general, so listing many languages gets you better applicants (or so the employer thinks).
    3. The employer is trying to woo applicants by putting the latest trendy language buzzwords into the job description regardless of what the job really entails.
    4. ***Big one*** The employer is playing to the one-upmanship resume inflation game, asking for a lot of unreasonable things because the applicant will probably list a lot of unreasonable things as experience. Applicants eggagerate their qualifications and apply to jobs that they aren't really up to, so if you inflate the job requirements to compensate, you get applicants that are right at the level you wanted. But then the applicants exaggerate further, so the employees exaggerate further, and so on and so forth until eventually employers will be asking for N years of experience with language Foo, where N is about three times the typical human lifespan, and Foo is a language first implemented last year.

    That last one bothers me a lot. It means you *have to* become part of the problem in order to get noticed. Being honest on your resume means not getting any calls. Employers assume you are exaggerating whether you are or not, so if you don't exaggerate they picture you being a lot less qualified than you are. At least that's the way it seemed the last time I was looking to change jobs, which admittedly was over six years ago so things may have changed.
    --

    Don't label something "offtopic" unless you know the topic well enough to tell what's on topic.

  41. Re:Slashdotted by muyuubyou · · Score: 2, Insightful

    I see a lot of problems in this: 1 Where is Cobol? I can tell you it's used more widely than Scheme or Smalltalk or LISP. 2 C and C++ get mangled... usually you're asked for both. Sometimes you are asked for ONE of them, but great expertise. And top level jobs are more C than C++ in my experience. 3 Where is Assembler? (x86, PPC, SPARC, MIPS ...) There are very well paid jobs in reverse engineering, speed-critical appliances and the like. 4 Salaries are not even mentioned. I don't know about you, but there IS a threshold for me - I won't even consider crap jobs.

  42. Should list what programs they are proud of. by TheLink · · Score: 3, Insightful

    I think people should list examples of most favoured/complex/interesting/noteworthy programs they wrote in each of the languages they say they know.

    That'll be more helpful eh?

    If I see 20 languages with no details I'm tempted to think Hello World level for at least half of them.

    Then again if someone has a single Hello World source which runs in 20 rather different languages... Now that's different :).

    --