Tuesday, August 30th, 2011

Is There Really a Developer Drought?

One of the most common memes I come across in the tech world is that there is a huge shortage of quality software developers out there. No matter the market – Silicon Valley, Chicago, New York – you’ll soon enough hear about the talent shortage.

For example, someone recently told me that if I wanted to work as a developer in New York, “I’d have a job by noon.” A couple of recent articles in Chicago highlight supposed challenges there. Technori notes that “the #1 question we get every day is ‘How do I find a good developer in Chicago?'” and they recently put a lengthy primer on how to find one. And Alex Wilhelm recently chimed in with a piece on “Chicago’s Great Web Developer Drought.”

But is the developer shortage really as bad as it is portrayed? I’m skeptical.

First, when someone says there’s a shortage of talent and that they can’t find a good programmer, what that shows me is that the market is actually sending a very clear and important signal: your salaries are too low. In New York, I hear that the banks have sucked up all the good coders. Well how did that happen? Maybe they offered a market price. What this tells me is that there isn’t a shortage of developers, just a shortage of developers willing to work for ramen noodle money in a very expensive city.

Not once in its lengthy advice piece on hiring programmers in Chicago did Technori suggest paying a generous salary. But maybe that ought to be the first thing you try. Wilhelm notes that Groupon has sucked up a huge amount of Ruby on Rails talent. But that’s not just because of the options. Groupon also pays its developers very well. Unsurprisingly, it’s fairly easy for them to recruit.

I think what’s happened in a lot of places is that in trying to build the next great tech hub, they’ve basically tried to copy the entire business model of Silicon Valley. But perhaps other places ought to rethink that. Maybe in Chicago people aren’t willing to work 24×7, sleep on a sofa, and make peanuts in order to have a shot at a big exit one day, someday, maybe. Perhaps in these markets the compensation focus should be heavier on cash money, at least for funded startups. You build that into your business plan and raise capital appropriately.

Realistically, if there are more would-be buyers than sellers, then the market price has to go up to bring balance. It’s that simple. I don’t think startups need to put a deal on the table that’s based solely on the headline salary. Startups are generally great places to work, let you do really cool and interesting stuff, and do offer upside potential. But the cash side of the equation can’t be ignored either. Because while one business model after another has been upended and destroyed by the globalized, networked age, there’s one thing that’s remained as steady as the Rock of Gibraltar: Want to secure someone’s services? Open your checkbook.

Second, my own personal experience makes me wonder how big this so-called “drought” could be, at least in Chicago. I personally coded an entire Ruby on Rails SaaS application (www.telestrian.com), wrote the only program ever I’m aware of to recover data from corrupted gzip files, co-founded and was a principal author of an open source, clean room implementation of the Java standard class library prior to Sun open sourcing Java, etc. Yet no one has ever even so much as inquired about hiring me as a developer. Granted, I’m not really looking to work as a pure coder. But if you are really as desperate to find a developer as you say you are, wouldn’t you be turning over rocks to find one?

Lastly, most development problems aren’t rocket science. Even if it’s hard to find Rails hackers, there are tons of solid, competent Java and .NET developers all over our major cities, even in corporate IT shops. Why not hire one of them and let them skill up on Rails? That’s basically what I did with myself. When I wrote Telestrian, I wanted to learn Rails too, so I solved both problems at once by buying a Ruby book, buying a Rails book, and starting to write code. (Incidentally, IMO Ruby is the best language I’ve ever used, at least from a programmer perspective). I think you could probably get a competent web developer on one platform doing useful work on a different one inside of a month.

Now we all know that a great developer is 10-100x as productive as an average one, etc, etc. But do most straightforward development problems require a truly elite programmer? I would suggest that most web site development in cities like Chicago or New York is not what Mark Suster has called “a San Jose problem” – that is, a problem that requires deep, arcane technical skills best brought to bear by a Stanford CS Ph.D. And for those, maybe you’d be better off going to Silicon Valley anyway. (Given the rarity of niche skills in some of these areas, I really can believe SV companies have some recruitment issues). For most problems, maybe there’s an answer closer to home. Because a good coder in one platform is likely to be a good coder in another after picking it up.

Obviously the better the programmer you can get the better. And I’d never suggest hiring someone that can’t cut it. But I think the talent pool is probably a lot deeper than we suspect.

Now I’ll be the first to admit I haven’t personally tried to hire any programmers lately, so I’m willing to be convinced that I’m wrong. And I’m not going to say there isn’t something of a tight market out there. But it strikes me that there can’t be the absolute shortage of talent that I keep hearing about. More likely, the aspiring tech communities in these cities simply need to bring their compensation in line with marketplace reality in order to attract that talent that already there out of the banks and other shops and into the tech industry. Please feel free to share your opinion in the comments.

Topics: Technology

22 Responses to “Is There Really a Developer Drought?”

  1. Brennan says:

    I think your argument is balanced and hard to contradict. From a startup’s perspective, I’d like the cost of developers to be lower, so of course I’m going to go out and talk about a shortage of developers at my market price.

    I want to attract as many people into the profession of programming as possible to increase my options and lower the price I have to pay, but I think that’s a good thing for this economy. Most of us in the tech world are in this bubble of unprecedented employment prosperity, while most of the country is experiencing hopeless unemployment. Let’s invite more people into our bubble. There is a lot of room.

    By the way, I had no idea you built Telestrian yourself. Maybe I overlooked that in your post about it. You have had a very interesting career. It’ shard to pin you down, ha.

  2. You wrote freaking GNU Classpath? Dude, you are hard core!

    [You can edit me if being this specific is inappropriate.] We’ve been having trouble finding a “Java Dude” here at Vision Solutions (was Double Take) in Northeast Indianapolis. AFAIK the pay is competitive, best I’ve ever had, and the hours are dependable. We’ve had very few applicants and that seems to be the case with other companies around here.

    I find it extremely odd that we’re supposed to be in a massive recession and we can’t fill this position after several weeks. I don’t think salary or benefits explain our situation very well.

  3. I have a much longer reply that I’ll post on my own blog, but here’s the brief version:

    1) Developers can be compensated with a mix of money and satisfaction, but unlike other creative pursuits, it’s possible to get a satisfying level of both from a good job

    2) It’s REALLY expensive to skew your compensation to one side: NYC bank salaries are huge, it’s hard to give people more satisfaction than they would get at their own startup

    3) It’s hard to meet the opportunity cost of a good developer without a solid business, but it’s hard to get there without a good developer

    4) How dare you say Groupon can hire whoever we want? It’s still our #1 technical constraint. See this: http://www.groupon.com/blog/cities/we-call-it-grouptiva-groupon-acquires-obtiva/and this: http://blog.8thlight.com/micah-martin/2011/08/17/on-consultancy-acquisition.html

    5) The developers that startups want to hire are a special breed: broad and deep technical skills, very current on technology and practices, ambitious and self-directed, derives satisfaction from the startup’s vision so they will work for less $$, good communicator, proven track record of success. By the time someone has all those things, they have a TON of options.

  4. Bob Haugen says:

    I second the notions that HR sucks in general, and it’s easy to train competent programmers in a new language.

    I see lots of job ads that either “require” 10 years of experience in some technology that just came out 5 years ago, or some other long list of “required” skills that they will not be able to find at any price, let alone the price they are willing to pay.

    I see the list of qualities that startups supposedly want. (I’ve worked for a few, so I know how it goes.) Once a startup hits the size of Groupon, they oughta be able to train people. They’ll get some duds either way.

  5. In many markets, there are many developers looking for work who a) have spent careers maintaining products or enterprise apps which use legacy technologies, b) correspondingly are not sufficiently up-to-date on the latest and greatest kit, and c) find themselves unemployable.

    My own personal career (I’m still working, fortunately) is mostly embedded C++, which isn’t too out-of-date, but I’ll admit to being behind the times when it comes to modern web/distributed programming and dynamic languages/environments–I’ve dabbled in these enough to know what they are and how they work, but not to pass a “5 years of experience” threshold. My employer, of course, isn’t terribly interested in my professional development above and beyond what is necessary to solve their immediate problems–what knowledge of other environments I do have is gathered on my own time, which right now is limited–most noticeably by family commitments, but also by a desire to do things OTHER than programming while not working (including blogging).

    And of course, therein lies the rub: many employers don’t want to hire older programmers with families (and thus who have greater time commitments outside the office, higher medical expenses), preferring young twentysomethings who don’t have school plays and soccer practice to attend to. Discrimination based on family status is, of course, illegal, but exclusion of skilled programmers with “osbolete” skills (including the absurd assistance that only work experience within a given skill counts, as opposed to hobbyist experience or training while job-searching) may be a means of actually keeping out those employees who might object to a 70-hour workweek.

  6. Tim says:

    I think there are two sides. There are the cheap companies bemoaning that people won’t work for peanuts, and then there are the companies looking for people like you who can learn rails and write a complete webapp from scratch. And frankly I think most companies would rather pay one person $100k to build an entire application than hire 3 developers and 1 manager for $200k. There are management costs involved here too.
    But ultimately this is the story of globalization. You’re talking about a very democratic work force where your skills are much more valuable than your education. There are a lot of coders who learned a skill 5-20 years ago and haven’t learned anything since. Then they blame any number of factors for why the jobs have moved on. Programming is not for a conservative mind. You have to always be learning.
    What you’re hearing a lot of companies saying is that it’s hard to find people who are voracious learners and can think independently. I find that complaint regardless of field.

  7. Aaron, first off, let me say that I had no idea that you were this caliber of developer yourself. I knew about your background at Accenture, but did not expect such a technically adept skill set. I really admire the fact that you just picked up Rails and developed a very interesting and useful application. I’m doing the same thing with Node.js right now. And it’s a fun and challenging experience.

    More to the point, I believe the biggest problem with “finding talent” is making the talent discoverable. Right now, if you don’t have a resume with a degree(CS) from a somewhat presitigious or well-known university, several repos on GitHub, overwhelming portfolio work, or do something very outlandish(and usually illegal in some sense) to get attention, you might as well just forget about a major company wanting to bring you in for an interview.

    Things like GitHub are part of the answer, but we need more tools to discover someone’s true talent and abilities. And reduce the cost barrier there. Right now, we have millions of people sitting around jobless. We should be pushing solutions like the newly launched Codecademy to get people into programming, and something beyond that to bring verifiable evidence of a programmer’s talent to the whole world so that connections can be made more quickly.

    Employers also have to be part of solution. They need to develop processes in HR that allow them to use standards-based tools for evaluating talent, personality, and background. And they need to get beyond this concept that the current job search process of resumes, cover letters, and traditional employment criteria somehow help them find stronger candidates. This is a huge opportunity, and I think it should and will be lead by the tech industry who has the most to gain. They should know that accessing the power of the web can lead to incredible efficiencies.

  8. Danny says:

    The reality is that there is an asymmetric information problem that causes the friction. As someone who has looked for talent in the past, I can attest to the frustration involved. I have sought out talent multiple times and given multiple developers a chance, only to be disappointed time after time.

    In fact, there have been three separate cases I have been recommended to developers that were “the smartest person I know”…and after being initially impressed myself, I have become disappointed after an elementary reading on the subject. I’m talking Wikipedia level readings here.

    So I’m coding by myself. Some of this might be stubbornness on my part (I insist on fast languages and concise but stable code), but until I can figure out a better way to identify talents that I don’t already have, that is the best I will be able to do. It means a slower development cycle, but at least I know the quality that I’m getting.

    PS…you continue to impress me with your array of talents. While I always suspected that you were the conceptual brains behind Telestrian, it took my completely by surprise when I found out you were the coding brains behind it as well. Well played, and I hope it is going well for you.

  9. Thanks for the comments. I wouldn’t rate myself as an elite caliber developer. I think my strong suit is more just plain being able to figure stuff out. If you look at the actual code for gzrecover, for example, you’ll see that the algorithm is almost embarrassingly simple. Having said that, apparently no one else ever figured it out because I searched high and low for someone who had done it before I reluctantly concluded I either had to face the loss of tons of important files from the bad sector on my Jaz drive or else figure out how to recover the corrupted tarball myself. I’m also good at architectures.

    @EngineerScotty, I agree there’s a bias in favor of young bucks. OTOH, I think expecting your company to invest in your professional development isn’t the right way to go. You’ve got to invest in it yourself. The amazing thing about programming versus so many other professional pursuits is that coding is actually fun. That’s one reason I still do it even though I don’t make any money from coding directly. I like learning new stuff and playing around with it and seeing what I can make it do.

  10. @Peter, I didn’t mean to imply that Groupon has no recruitment challenges. But I think it has been remarkably effective. I worked for a previous VC funded startup that when from 50 to around 1100 employees in a bit over two years. Just that scaling was a huge challenge. And the vast bulk of those jobs weren’t hard to find coding skills but basic things you could get in the marketplace. Scaling big is really hard, and Groupon has just really, really impressed me with its ability to scale as well as it has. Even in the best case scenario, it was going to be a stretch. And the press would suggest that Groupon has done a great job in almost cornering the market on Rails programmers in Chicago, which tells me that most of the time there’s a choice between Groupon and somebody else, Groupon wins.

    One point #5, I agree. But I wonder if that’s the best route? Yes, if you are a very young company with a handful of employees, maybe that’s the profile you need. But is trying to land the limited of people with that profile really the best course for most companies? That’s one of the things I question in the Silicon Valley business model.

    In any event, I think the more crucial thing to get right in a web or mobile device app is the UX. That’s where I feel the pain on Telestrian. That’s the one part I had to outsource, and it shows. I don’t think the person I hired did a bad job all things considered – I’ve yet to see anyone who’s cracked the code for UX on these types of apps – but I only had a shoestring budget for it so we were working with extremely limited resources.

  11. Sorry Aaron, I have to disagree with a lot of what you wrote. True, finding a developer to work for free is the pointless task, which you speak to, but that’s one very specific niche of the market right now.

    There’s a whole other side of trying to just hire people for med / large sized companies. I’ve been hiring developers for years and the past 2-3 have been brutal. Compensation has not been a problem since I’m hiring for large, 10+ yr old companies with plenty in the bank, in addition to small bootstrapping startups. Developers jump from job to job very quickly when they get bored. For example, I interviewed someone the other week who was leaving his current job because they were entering a period of maintenance and he didn’t like that. Even mid-level developers are gone within days of interviewing.

    At the end of the day, we still have a increasingly knowledge based economy with a decreasing amount of capable workers able to fill those roles. I can point to at least 10 local Chicago companies that are looking for engineers, developers, tech leads, etc… All of them pay above board salary, benefits and bonuses. Yet, these positions have been vacant for 6+ months. I’ve had friends move to brand new cities and get 3 offers within a day of interviewing.

    I myself am leading a team of 12 for a client and we’ve had 3 positions open for almost 5 months. We can’t find anyone with the skills we need to expand our team.

    No amount of salary will help 10 people fill 11 jobs. That’s the real issue. It’s not one of money, though for some people it is, it’s a problem of education & skill set. Everyone who rushed into computers during the bubble fled as quickly as they came when it burst. Now we’re left with pushing the few people we have harder or biting the bullet and training fresh college grads ourselves. Neither is very inviting.

  12. DaveOf Richmond says:

    “Developers jump from job to job very quickly when they get bored” Workers know that companies will dump them whenever it is convenient for the company, don’t expect loyalty in return.

    “I interviewed someone the other week who was leaving his current job because they were entering a period of maintenance and he didn’t like that.” Mediocre programmers can handle maintenance tasks, if this person was worth anything, it should be seen as a plus on his part that he wanted to leave that situation.

    “we’ve had 3 positions open for almost 5 months. We can’t find anyone with the skills we need to expand our team.” In those 5 months you could have been training someone to do what you need, if you didn’t insist on a particular skill set. Yes, there is a cost to that, but you said you worked for deep pockets.

    From an earlier commenter:”broad and deep technical skills, very current on technology and practices, ambitious and self-directed, derives satisfaction from the startup’s vision so they will work for less $$, good communicator, proven track record of success” Sounds great, if one of the 14 people on earth who fit that description walks into your office, hire them!

    From commenter Danny: “So I’m coding by myself.” There we go – I was asking myself as I was reading these comments “whatever happen to the tech entrepreneur who actually did tech work?” It’s apparently below them these days, or they don’t have the “skills” themselves (Danny excepted). Do it yourself – it’s your grand “vision”, make it happen. If you have a really tricky problem you need to solve, pay a consultant for a few weeks and demand doc as a condition of his payment (yes, it will be an expensive, but one-time, payment). Then you can support it and don’t have to hire a person full time.

  13. Tim says:

    I think also the jumping ship after a few weeks points yet again to market value. If a startup will pay $x for a developer than a boring company like an insurance or medical company is going to need to pay $x + $y and they’re probably going to need to throw some working from home into the mix to keep the programmers there. The fact is that working on interesting technology and problems is a form of compensations for many programmers, and if you’re not compensating for that you’re going to have trouble hiring.

  14. DaveOf & Tim, you’re both still missing the point. A drought is a deficiency in supply. Think more macro and stop focusing on competition for developers. Yes, there’s is always a supply & demand component. That is irrelevant to the macro problem of too much demand.

    Hiring is a zero-sum game. Regardless of the bouncing back and forth, perks, benefits, etc…. Every developer I hire is one you can’t and vice versa. That does nothing to change the number of jobs that are available. The bottom line is that there are still too many jobs and not enough developers.

  15. Chris Barnett says:

    “Now we’re left with pushing the few people we have harder or biting the bullet and training fresh college grads ourselves. Neither is very inviting.”

    You can’t always get what you want. If you try, sometimes you get what you need.

    [apologies to Mick and the boys]

    Here’s where I pull out the “back in the day” speech.

    Before a college diploma degraded into a certificate of vocational education, most large companies had formal OJT programs for recent grads. The thought behind it was exactly what Aaron said here: a reasonably intelligent hard worker with general knowledge and interest in a field can be trained in the specifics of an employer’s needs.

    Your comment points to two sides of the same modern problem: no loyalty. Employers stopped being loyal to long-term employees some years back. And employees in all specialties, not just computer-related ones, returned the favor.

    Is there a way to promote loyalty to a company? Or is the ultimate loyalty and responsibility to oneself, as embodied in a “1099 culture” of free agents with no permanent employees?

  16. Chris,

    I’m not sure how my point isn’t coming across, but I’ll try again: ignore loyalty for now. That has an impact on the micro problem of “me” or a specific company not finding / keeping developers. The overall larger problem is that there just aren’t enough developers to meet the demand on a larger ( city, country, world ) scale.

    No arguments wrt to companies not fostering loyalty. However, loyalty comes into play when you’re talking about 1 company trying to keep 1 employee.

  17. DaveOf Richmond says:

    Griffin Caprio: “The bottom line is that there are still too many jobs and not enough developers.” Probably true. How are imbalances between supply and demand resolved? Sounds like an opportunity for an entrepreneurial type.

    In any case, you said you were interviewing a candidate and didn’t like their reason for leaving their current employer. I took this to mean you rejected the candidate, which was an assumption on my part and could be wrong. Did you offer that person a position?

  18. DaveOf: “Sounds like an opportunity for an entrepreneurial type.”

    Y, a good one too. There’s a few companies like CodeAcademy & Code Mountain looking to help people do just that. I think, ultimately, people are too focused on formal collegiate education and that entire paradigm has been lapped by the industry. For example, I know a lot of colleges that don’t even mention the usage of Source Control, even though it’s a critical component of any development job.

    “Did you offer that person a position?”- No, but for a few more reasons than just that. That factored in since we weren’t hiring for an entirely greenfield project, but there were some other deficiencies that contributed to them not getting an offer.

  19. @Griffin,

    I just had lunch today with the VP of Apps for a big .NET IT shop in town. They don’t do a lot of permanent hiring of Chicago based developers these days, but do frequently bring on board contractors. I asked if they’d had any problems finding .NET programmers recently. This guy said No, plenty of talent available.

    I do think salary has a lot do with being able to fill jobs. Price doesn’t just allocate a fixed supply to the highest bidder. As a general rule, sellers are willing to supply more product at a higher price point. As you note, many people left the programming field in the wake of the dotcom bust. Others like me went off and got promoted into management. Others are working on legacy technology and haven’t been motivated enough to learn the new tech. Others are still in college and deciding what they want to do for a living. All of these are potential sources of new or latent supply in the market.

    I know lots of people who are in management jobs but love to code. They don’t want to go back to just being a raw coder full time again, but they enjoy doing it. If you could hire them for a real salary worthy of their current title and gave them some type of an interesting leadership role but where they also coded 25-50% of the time, I think you’d find takers. For the right position and salary, I’d even be open to something like that myself potentially. Imagine it like Google’s 20% time, only in the 20% you get to code.

    I also have the impression that companies are looking for the type of talent Peter talked about above. That is, they want someone who walks on water. But if you recruit someone like that, that’s the recipe for quick boredom and departure. If someone isn’t learning something new, isn’t stretching or growing in your role, they are going to quickly lose interest – or not be attracted to it in the first place, or do it only for the $$$$ and thus are easy to cherry pick.

    Perhaps because this was always the historic Accenture way, I’ve always put far less of a premium on experience at a particular piece of tech than on raw talent. As one of my old ACN bosses recently told me, “I want athletes. Given a choice between talent and experience, I’ll go with talent every time unless the deadline is three weeks from now.” That’s why I think there’s plenty of opportunity to find talented or at a minimum competent coders and skill them up on the latest tech. That’s how we can fill the Rails pipeline, for example.

  20. Attrill says:

    I think the severity (or existence) of the drought varies greatly depending on the languages and frameworks you’re talking about. .NET is more mature framework, tends to attract more career minded programmers, and has a more established training pipeline. Open Source frameworks are experiencing widespread growth right now, and tend to attract more programmers from non-computer science backgrounds. Some of the best open source programmers I’ve hired had BAs completely unrelated to programming, or no college experience at all. A significant number of them won’t be programming within 5-10 years (although they will be doing something else really interesting).

    When looking for programming candidates I could care less about a college degree or certifications. I’d like a candidate to be smart, not crazy, have a personal project or two going (preferably on GitHub), some experience working with others in any type of job, and a basic skill set of Python/Linux. A knowledge of LAMP, RESTful, and unit tests is good too. The ideal programming candidate for me tends to be a Sys Admin who’s thrown together some nice Python utilities to help them in their day to day tasks, maybe worked on a couple personal programming projects, and is looking to make the jump to programming. For loyalty I’d like two years before they move on (and it probably is in their best interests to have that time on a resume before they decide to move on).

    In 2008-2009 I could find candidates like this without much trouble. At most open source conferences I’d gather 20-30 resumes a day while working the booth, and then some additional ones while out at bars later. The situation in 2010 and 2011 is very different. The conferences have more attendees, many more sponsors, and far fewer people shopping their resumes. Talking with other conference sponsors they are having the same exact experience. The supply and demand is out of whack (for Python/Django at least).

  21. cph says:

    Here’s my experience.

    I’m not a full time coder, but rather a “Systems Librarian,” who maintains web sites, software and computers for academic and corporate libraries.

    Back in 1996, I had a job that involved, among other things, upgrading and maintaining a college website. My supervisor told me, “You’ll need to learn Perl scripting. Take a couple of weeks to play around with Perl.” I did, and within a few months I had added a number of applications (online bookstore with credit-card ordering, online library catalog w/links to Amazon.com, etc.) to a website that was, formerly, just a list of links.

    My next job, about two years later, was to maintain a college library website (as well as other library-related tasks–reference, etc.) Same thing, although it was .ASP scrips over there. I still did most HTML coding by hand, with occasional use of Front Page or Dream Weaver. I was there for 11 years.

    By that time, no-one was coding by hand anymore, and just about every site was using some sort of content manager software. The use of technologies such as AJAX, etc. were growing exponentially as well and it was just impossible for me to keep up with all of these, and still do my other (non-Web related) tasks.

    Time availability remains an issue; people want five things done at once and trial-and-error explorations of programming languages, etc., seems to be a luxury. To learn these things now requires time outside of work, which bumps into family obligations and such.

    Do I want to be a coder? Probably more as an adjunct to my job as a librarian, or perhaps to round out some other activity/hobby. But right now I don’t think my skills are quite where they need to be to participate on GitHub, etc.

    What do you think?

  22. Steve says:

    There are quite a few issues that have already been talked about that I agree with. As a software developer, one problem I have noticed is the domain knowledge problem. In my experience, domain knowledge is not something that can be dealt with by training. In many cases domain knowledge sits between the knowledge gained by a college degree and a week long training seminar in some technology. It’s a very difficult problem that limits the number of developers for certain types of software developer jobs.

    I work in such a domain and have seen this problem. The domain of software development I work in involves a lot of math and the need to write high performance code. A developer working in my domain needs to have a serious aptitude for math. There isn’t that much math knowledge needed, but a developer must have the aptitude for it. You can’t train that aptitude. It’s not as simple as providing training in a new API or language. Most GUI developers or web services developers, for example, don’t have enough of the aptitude that my employer needs. They may be excellent at GUIs or web services, but they have no feel for what my employer needs to get done.

    One thing I can tell from reading the technologies listed in the post and comments is that one thing that is missing is how there are entire worlds of software development technologies that are very different that what has been talked about so far. Some of these worlds by themselves may not employ large numbers of software developers, but together they add up contributing to the developer drought.

    Another problem that I have seen is a lack of familiarity with good software engineering. In my experience someone with a degree in computer science has at least been exposed to software engineering strategies whereas people without computer science degrees may not have. This is important and can’t be solved with “training” either, although there are universities that offer graduate level certificates involving 3 classes (one class per semester) in software engineering that could solve this problem. However, that’s a bigger commitment for companies in time and money than simple training. In the future this problem might be solved with the existence of actual software engineering degrees which would separate from computer science just as there are separate degrees for chemistry and chemical engineering (even though there is significant overlap between the two).

    I know lots of people who are in management jobs but love to code. They don’t want to go back to just being a raw coder full time again, but they enjoy doing it. If you could hire them for a real salary worthy of their current title and gave them some type of an interesting leadership role but where they also coded 25-50% of the time, I think you’d find takers.

    I agree with this. One problem I have seen is how eventually a develop will plateau when it comes to salary unless they go into management, which means giving up coding. In places I have worked, this has been equivalent to losing an excellent senior developer. At my current employer, managers are specifically forbidden from coding by corporate policy even though we could use the extra pair of hands even if it’s only 25% of the time. It would make a significant difference.

    Time availability remains an issue; people want five things done at once and trial-and-error explorations of programming languages, etc., seems to be a luxury. To learn these things now requires time outside of work, which bumps into family obligations and such.

    I agree with this also. It’s why projects on GitHub for evaluating developers is a non-starter unless the entire industry adopts Google’s 20% time. There is also the question if contributions on a GitHub project is enough for this or it has to be their own GitHub project to be effective. If it’s the latter, then a person runs into the problem of needing an idea for an app. Even if a person has such an idea, they might not want to do it on GitHub since it could be a basis for a new business and releasing such a thing on GitHub makes the idea free software killing any possibility for a business in the future.

The Urban State of Mind: Meditations on the City is the first Urbanophile e-book, featuring provocative essays on the key issues facing our cities, including innovation, talent attraction and brain drain, global soft power, sustainability, economic development, and localism. Included are 28 carefully curated essays out of nearly 1,200 posts in the first seven years of the Urbanophile, plus 9 original pieces. It's great for anyone who cares about our cities.

About the Urbanophile


Aaron M. Renn is an opinion-leading urban analyst, consultant, speaker, and writer on a mission to help America’s cities thrive and find sustainable success in the 21st century.

Full Bio


Please email before connecting with me on LinkedIn if we don't already know each other.



Copyright © 2006-2014 Urbanophile, LLC, All Rights Reserved - Click here for copyright information and disclosures