Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

Systems programming and desktop application development is a well established field. In recent years, web and mobile development have shown rapid expansion.

As a software engineer I understand that programming is programming, and C++, Javascript, and Android APIs are tools that any engineer worth his salt can handle. Unfortunately, there exist recruiters, managers, and companies that don't understand that skill isn't necessarily tied to tools.

Also, some companies just aren't interested in providing the ramp-up time required when hiring an engineer with little direct experience with a software tool that is used by their existing development team.

Does this combination of increasing demand for applications built with recently established tools/platforms and recruiter/HR figures' juxtaposition of programming experience with tools experience cause a (albeit arguably incorrect) perceived shortage of skill applicable to new technologies?

To phrase it differently, given two similarly talented engineers, is the one doing C++ application development less valued in the market than the one with some web applications under his belt?

share|improve this question
    
Differently valued perhaps. –  Mr.Mindor Jun 21 '13 at 19:38
    
I understand somebody looking to fill an Android development job would value a C++ application developer differently than an Android developer, but my question relates specifically to the market as a whole. Does this situation cause Android development positions to be more impressive, lucrative, or desired? –  Cory Klein Jun 21 '13 at 19:44
    
I can only speak to my own experience and anecdotes from friends in the field. Even at entry level, The C++ positions overall seemed to have higher compensation than web or mobile app development. This would suggest the opposite. –  Mr.Mindor Jun 21 '13 at 20:00
1  
An increase in demand, without a corresponding increase in supply is nearly the definition of a shortage. I get what you're saying; that talented engineers could learn technology X to fill that gap... but that takes time and not all technologies or languages are created equal. –  Steve Evers Jun 21 '13 at 20:06
    
The problem with the shortage is that most developers( and people that think they are developers)..cannot solve problems, they cannot pickup new technologies, or get things done. –  hbrock Jun 21 '13 at 20:23
add comment

closed as not constructive by gnat, GlenH7, Kilian Foth, MichaelT, BЈовић Jun 22 '13 at 18:25

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.If this question can be reworded to fit the rules in the help center, please edit the question.

3 Answers

up vote 11 down vote accepted

I understand that programming is programming, and C++, Javascript, and Android APIs are tools that any engineer worth his salt can handle.

I think you're starting with a false premise here. Sure, if you have a grounding in computer science or similar and a pile of C++ experience, there's a strong chance that you'll pick up the fundamentals of web development or Java or whatever pretty quickly. But you won't hit the ground running, and there's a lot of domain-specific knowledge that goes along with any collection of language(s) and framework(s). There's a lot more to writing solid insert language here code than learning some new syntax. Experience with a specific set of tools counts for something.

Does this combination...cause a...perceived vacuum of skill applicable to new technologies?

No, it causes an actual vacuum. A sudden increase in demand for people with a certain kind of experience will naturally cause a temporary shortage of people with that experience. Smart employers will realize that there are other ways to fill that gap, namely by hiring smart people and letting them learn what they need to know. But growing your own experts is not the same as hiring someone who already has the experience you're looking for.

To phrase it differently, given two similarly talented engineers, is the one doing C++ application development less valued in the market than the one with some web applications under his belt?

Only if there's a relative shortage of web developers compared to C++ developers. I doubt that's really the case -- there still seems to be plenty of demand for C++. And if it's really not that hard to switch to different technology, there's little preventing you from knocking out a few web apps on the side so that you can check that box on your CV.

share|improve this answer
add comment

Companies hire programmers in roughly the following priority:

  1. Experienced in both domain and language.
  2. Experienced in domain, but not language.
  3. Experienced in language, but not domain.
  4. Experienced programmer, but not in company's language or domain.
  5. Inexperienced programmer.

If they can't find their ideal candidate, they either move down the list, or increase the offered salary, or both. Candidates also follow the same list when job hunting. Starting at the top and either moving down the list, or accepting a lower salary, or both.

Depending on your industry, it can take a long time to find type 1 candidates. The last hiring cycle I was involved in, we gave up after 9 months or so. One type 1 we hired left for higher pay, and two never started due to relocation issues. We moved down the list and ended up with some very capable workers after a short training period.

So shortages are real but temporary. In other words, after the ramp up time, every worker eventually becomes type 1.

share|improve this answer
add comment

Does this combination of increasing demand for applications built with recently established tools/platforms and recruiter/HR figures' juxtaposition of programming experience with tools experience cause a (albeit arguably incorrect) perceived shortage of skill applicable to new technologies?

The problem is these companies that don't want to hire different people for different development tasks. They want one person to do C/C++, Java, HTML, C#, VB.NET, VB6 and support every application new and legacy, and on top of that they want this one person to have extensive experience with every database platform, Oracle, Microsoft, MySQL. Then for each language/technology they want them to have lots of experience with specific addons or tools. 5 years of Java experience isn't enough: you've got to have been using Spring, etc. etc. Its not that there is a shortage of skill: there is a shortage of companies who want to hire the amount of people they need. They want to hire one person, nay a "resource" and run that "resource" ragged like a slave.

share|improve this answer
1  
+1 This is a good point -- there will always be a severe shortage of perfect candidates who can meet implausible or even impossible requirements. Some employers were looking for candidates with 5 years of Java experience back when Java had only been available for one or two years. –  Caleb Jun 21 '13 at 21:05
    
@Caleb and the same thing happens with virtually every tech. That's just bad on the people writing req requirements in general though. –  Rig Jun 24 '13 at 14:31
add comment

Not the answer you're looking for? Browse other questions tagged or ask your own question.