Hacker News new | past | comments | ask | show | jobs | submit login
Software engineers hard to find (chicagotribune.com)
51 points by sayemm on Jan 12, 2011 | hide | past | favorite | 101 comments



And will continue to be harder and harder as long as utter morons do the screening and hiring.

I made a local-startup an offer that no sane company could afford to refuse. I was a core developer for their main behemoth of a competitor and my non-competes have just expired. They could easily save millions of dollars in marketing, research and development by JUST running decisions by me and having me nod in approval if it sounds good. (I am not exaggerating; it's one of those businesses that require 10k in daily AdWords sacrifices to grok; lead generation)

Instead, they came back to me with the same two questions: do you know Django and do you know Agile development.

You incompetent idiots.

Fast forward to today; it took me 4 hours this morning to go from cold-call to interview at a research-oriented industrial planning company of <10 people minting millions of dollars per year. Within 20 minutes, the guy and I were talking about the history of Prolog, logics and finite-domain constraint solving.


Just to play devil's advocate...

I am not a moron, and I used to help hire at various startups. We'd always get one or two offers "we couldn't refuse" from engineers of our competitors. Whenever we gave them a second of interest, they'd waste hours and even days of our time. What they were really interested in was not engineering, but escaping their current workplace hell and wedging themselves into our startup as some sort of non-programming decision maker, for a (relatively) huge salary. But, we already had non-programming decision makers. We were trying to hire an engineer. We eventually just dismissed these guys outright, because in every experience they ended up being mildly crazy. Not the good mad-scientist hacker insanity, either... More of a desperate, annoying, stalker-ish insane. So maybe you came off as crazy.


Very interesting take. I think I might have been creepy, not in the sense that I was clingy or nagging (I have no interest in joining another marketing shit-hole anyway) but because I might have come off as a know it all.

The whole time I was looking at their sites I was making mental notes of what is broken, and tallying up all the ways they're doing something wrong. I think some of that contempt must have come out in my correspondence, however brief (just 2 emails from me.)


Perhaps if you had made notes on paper instead of your mind, and sent them a random sample plus an offer for the rest, they would have reacted differently? (Though not all people react well to criticism.)


This reminds me of a conversation (from before my consultant days), when a company burning a multiple of that daily was unable to locate budget for either SEO or A/B testing. The mind boggles sometimes.


I say this as someone who's been accused of having a poor attitude on many an occasion, but when you say the following...

> And will continue to be harder and harder as long as utter morons do the screening and hiring.

> They could easily save millions of dollars in marketing, research and development by JUST running decisions by me and having me nod in approval if it sounds good.

> You incompetent idiots.

I have to ask... Are you 100% sure it was because of django and agile skills?


Not knowing anything else about the situation, I tend to side with him. It's probably not that the people he talked to are morons; it's more likely that they just don't care about anything not immediately in front of them. In a large corporation this wouldn't surprise me, but in a startup it does.

I'm sitting here in a large (US$4bn sales) corp doing a job I didn't initially interview for. I told my interviewer that the job they wanted me for didn't sound like what I wanted to do and my interests were elsewhere. Instead of just blowing me off like those guys did, he sent me to interview with a different team that was a much better fit. That's giving a shit!

Apathy kills.


If someone told me they worked for my major, and very successful competitor, I would pause to ask them "doing what".

The guys didn't even bother.


Classic case of thinking that being right should be all that matters? With interviews and hiring it all comes down to the first impression...


The problem there will be that the competent engineers - if they have any - will have been burned by too many dud candidates wasting their time, and have gotten HR to pre-screen the CVs...


The job of a good HR department is to at least be able to screen the really dumb ones and pass the rest up the technical chain for evaluation.

The good engineers might be burned out but if they know that not spending time interviewing and reviewing resumes will result in having to deal with a dud that gets hired, having to babysit them, teach them the basics of programming and watch them slowly destroy the code base, they would be quite happy to assist with evaluations.


If anyone in HR had the capabilities to tell the difference between a qualified candidate and one who is lying, then that HR person is also qualified to transfer to engineering and start coding.


Not all people who can code, enjoy doing it as part of their main job.


As I see it the job of a good HR department is:

1) Make sure that job ad reaches people who are likely to be good candidates.

2) Job ad is attractive enough so that good candidates will actually apply.

3) Handle the administrative side of the recruitment process: paperwork, visas, appointments, expenses, tickets, re-location, contract, security checks etc.

4) Make sure the whole process complies with the legislation.

5) Streamline and expedit the whole thing from the very start to finish.

In my eyes HR is not qualified to make a judgement if a candidate is any good at programming.


In my long career, I have yet to meet anyone with a title anywhere in the neighborhood of "HR" with the ability to tell the difference.


I think we, engineers, can help HR folks ask important questions that would prevent bad candidates from wasting our time as well as thinking up crazy ideas that could help lure good candidates.

Yesterday, I suggested going EA-style and hand out laptop stickers on an upcoming hacker-ish convention with things like

  ''.join([chr(c) for c in [119, 101, 39, 114, 101, 32, 104, 105, 114, 105, 110, 103]])
and

  (dolist (x (mapcar #'code-char '(119 101 39 114 101 32 104 105 114 105 110 103))) (princ x))
I am somewhat unsure about the Lisp thing, so I asked it to be passed through a real lisper before hitting the printer.


  (format t "~{~c~}" 
    (mapcar #'code-char 
       '(119 101 39 114 101 32 104 105 114 105 110 103)))

  => we're hiring
FORMAT is a turing complete DSL for formatting output; here you see ~{~} iteration directive.



C'mon:

    (map 'string #'code-char '(119 ...))


Seems like we're seeing less of

perl -e "@w = (119, 101, 39, 114, 101, 32, 104, 105, 114, 105, 110, 103); foreach $c (@w) {print chr $c;}"

these days.


Hopefully that's because a good Perl hacker would write:

    perl -E 'say map { chr } 119, 101, 39, 114, 101, 32, 104, 105, 114, 105, 110, 103'


perl -e "print map {chr} 119, 101, 39, 114, 101, 32, 104, 105, 114, 105, 110, 103;"

is the best my version can do. I still need to read more of that book of yours. And update my install: neither say nor -E exist.


You need at least Perl 5.10 (and 5.12.3 should be out shortly). If your OS vendor has an older version installed, see App::perlbrew to install your own updated version independent of the system Perl 5.


Indeed. I don't think we have any actively maintained code written in Perl. I know a lot of plumbing written in it, but it's not in need of new features.


Sounds like it was written by a good Perl hacker if it still just works and nobody has needed to maintain it after all this time.


perl -e 'print pack("c*", 119, 101, 39, 114, 101, 32, 104, 105, 114, 105, 110, 103)'


>and my non-competes have just expired.

And you even honor parts of your contracts that aren't enforcable. They passed up a great deal. :)

Seriously though, before you cost yourself job opportunities because of something you've signed, run it by a lawyer. You're going to be shocked at first.


I have had my own software development company since I was basically 22. Every few years I get a full time job and let the guys know I might go feral again. So I usually get the "2 years" clause on anything I touch. A very small price to pay for being my own job reference, really.


What I'm saying is, unless you're coming in as an executive, I doubt the 2 year clause is enforceable and I doubt the companies would even try.

But if you adhere to them by coincidence (i.e. never turning down something you want to do because of them) then I suppose they are as irrelevant to you as they are to me.


Just because your non-compete has expired it doesn't mean that you're free to reveal trade secrets. Your state almost certainly has trade secret laws that prevent you from ever revealing key adwords, CPA rates, etc. to a competitor.

If a company had hired you on such a basis they could also have been prosecuted for corporate espionage.


I was never privy to such information, to begin with. My main interest was carrying out my own aborted projects, and unheeded advice.


I'm an older developer. I was eating lunch at a restaurant near my new workplace. Sitting at the table next to mine, a college senior (at Colorado School of Mines - which is a pretty decent engineering school) was talking with her father about her boyfriend interviewing for a job as a software developer. The BF had a 4 hour long programming test as part of the interview.

Something is very wrong with our industry. Most of the time that articles come out like this, industry executives are trying to get more kids to go into programming in order to lower the cost of employees: they want protection from the free market.

The last company I worked for (for 5 years, and it was a Fortune 100 company) was complaining publicly that they were unable to find developers - yet people who quit over the past 2 years were never replaced, nor were we allowed to interview candidates.


This is a problem that has been recurring for a long time in many technical/scientific professions, and there's really no-one "official" telling the truth. When I went to college in the 90s were were told - by even the IMechE, the body meant to represent engineers - that there was a desperate shortage. Truth is if it were desperate, that would be reflected in salaries, and despite the UK's heritage engineering is not a well paid nor prestigious profession, and even our own professional body was in the pocket of employers.

And we've got it easy compared to physicists and chemists.


Some years ago people joked SAP was an acronym for "Sammlung arbeitsloser Physiker" (Some Unemployed Physicists).


It is reflected in salaries:

http://i26.tinypic.com/8ywawn.png


I think the secret is that part of good programming is an art, and not only something that can be taught, like accounting, with just logical rules and regulations (apologies to skilled accountants who feel there is an art to their work).

That is probably why big business can't fulfill their desire for a large pool of cheap but good developers. You can't just pour people into the college machinery and churn out developers. At least I hope not.


> That is probably why big business can't fulfill their desire for a large pool of cheap but good developers.

It is interesting, this has been going on for a while. Initially many companies went and got a lot of cheap and mediocre developers (mostly through outsourcing) and replaced a couple good ones with dozens of average ones for the same price. They saw it as a deal. Eventually they are realizing that programming is not like picking potatoes -- "Just hire more for the same price, they all sit and type all day anyway, so just get more for cheaper and we'll get ahead faster". Well it doesn't work like that.

Once mediocrity starts to dominate, even the few good ones who are still hanging around, will leave as their work turns to teaching others and babysitting them full time.

In general it is not possible to replace a highly skilled programmer with an X number of less skilled ones. Many hit that realization and we start seeing lots of these types of articles even as unemployment is above 10%


I think you might be confusing accounting with bookkeeping. Bookkeepers are the people who determine what column to put data in and crunch numbers. Accountants make financial decisions. Accountants probably feel the same way about developers: we deal with just logical rules and mathematical theorems.

The thing is that you don't just put anyone into college and expect a productive member of society to come out. It takes so much more than that.


You can teach art. They have schools for it. Hitler went to one...


>apologies to skilled accountants who feel there is an art to their work

Although not an openly advertised role, "Creative Accountants" are abound.


I'm not sure what point you're trying to make with the 4-hour test anecdote. But I think most people here would agree a warm body has more potential for harm than a cold seat when it comes to software developers. However you want to ensure you don't get a problem employee, whether it's with 4-hour tests or whatever, it is definitely a good practice regardless of how badly you need to hire someone.

Also, I completely believe that it's too hard to find good developers. I'm not sure if I've just been unfortunate due to industry or geography, but I know very few people I can recommend with confidence. And I have seen all kinds of mediocrity trying to pass as software developers. The places I have seen are the stuff TheDailyWTF is made of.


The point he was making with a 4 hr programming test is that it is a complete waste of time. It doesn't take a 4 hr test to separate the wheat from the chaff unless the interviewer knows nothing at all.


A multiple choice test isn't the best way. But asking someone to write a real piece of software over a 4 hour period (a 'test' if you will) would be an extremely good interviewing method. Especially if you did it in something like EtherPad and can review the person's thought process afterward.

Regardless, I completely disagree that you can completely vet someone over a cup of coffee. Especially for highly competitive positions. That might be a good screening interview, but that is not enough to make a final hiring decision unless the person is already recommended.


"JumpForward interviews three to five engineers a week as it tries to fill four to six technology jobs, but most candidates don't have current skills or they lack the passion to stay on the cutting edge"

In other words, there's no shortage of software engineers, there's a shortage of perfect candidates. If these companies were actually willing to train people, they'd have a lot fewer problems.

The trend seems to be that software development, like a lot of other industries, is becoming increasingly winner-take-all, with huge demand for the very best of the best, and a lot less for anyone else.


This is the point the article seems to make. The difference between a good candidate and an excellent one is huge. Like it was mentioned before, a good programmer can do in a day what a team of mediocre programmers can do in a week.

You say that companies should train mediocre programmers to be excellent programmers. This is not as straight-forward as it sounds, (a) the mediocre programmers might have already reached the limit of their capability (i.e no matter how much time they'll spend learning, the improvements will only be marginal), (b) it could take long time and as we all know, time is money.

I like to think of it as a simple exponential graph. Programming Skill on X-axis vs Time Spent Learning on Y-axis. In the beginning the progress will be fast for everybody, but at some point the progress will slow down indefinitely (i.e you've reached your maximum capacity). The point at which this will happen varies from person to person and there is unfortunately no way you can determine where that is. The only hint of the maximum capacity you can get is to compare how long the guy has been programming for and how skilled he is at given time.

As a result, it is more cost-effective to search for very good candidates for longer than to take handful on mediocre ones, take the risks, and train them.

It should be noted that a programming is without exceptions self-thought. Therefore there is no need for training per se, you will just need to take your time and do it yourself, as programming can not be taught, it can only be learned.


I think he meant technology knowledge rather than skill. For example rejecting a candidate with 10 years of java experience because they need a programmer who needs 10 years of python experience.


Unfortunately, it's also very easy for an engineer to jump ship after their training - meaning a very expensive loss of time and effort. Personally, I think the "shortage" has something to do with increases in job-hopping. If there were some guarantee that an engineer were going to stick around for a few years after training, perhaps training new recruits wouldn't seem so unreasonable.


> Unfortunately, it's also very easy for an engineer to jump ship after their training - meaning a very expensive loss of time and effort.

Keeping your employees is your job, not theirs. No relationship lasts when one partner starts neglecting the other and another interested partner comes in.


Another reason for job-hobbing, especially among hackers, is that they don't want to be pigeon-holed into a single job for too long. You can become too complacent, too specialized, and too tied down to a specific system. After 5 years of maintaining a legacy ERP application how do you get a job working at the hot new social networking company ?


This works both ways - the concept of one job for a whole life (or at maximum two jobs) was really common for the parents (or grand-parents, depending on their age) of many. Then the companies started with hire-and-fire. And now they wonder why their employees have no loyalty in face of a good offer from another company.


Someone has to train them. I mean, I understand where you're coming from, but the whole idea of employers wanting trained employees but only if someone else pays for the training ultimately benefits no one.


You generally can't train attitude. Many of those candidates who don't have the skills or passion lack it because there are other things in their life that they value more, like family.


In almost no other field of work is it expected that you have a passion for your work greater than that for your family. Hackers repeating this passion mantra make life harder for all of us, because it raises employers expectations, instead of making them provide training or simply time to study. Good for you if you have that passion - I do - but why not enjoy it in private?


Doctors. Lawyers. Bankers. Military forces.

Plenty of occupations require you to put your occupation ahead of your personal life.


When I think "passionate intensity about the work," several professions come to mind. "Banker" is not among them.


Yeah, if you think programmers have a tough time with work/life balance, you don't know many people in the financial field. I-bankers are expected to work 14 hour days, 7 days a week, and basically have no life outside of work. This is where the "hookers and blow" reputation comes from: they have plenty of money, but no time for fulfilling relationships or hobbies.

Things are better for hedge fund managers (many of the ones I know work pretty standard 50ish hour weeks), but most of the good ones find it hard to shut off their financial brains. The foreword to Peter Lynch's books explain that he left investing because he was basically missing his kids' childhood, and at some point, some things are more important than making your next million.


Fine, but investment bankers are still a small minority in finance. I lack the proper English terms for the different banking job descriptions, but bankers dealing with customers personally (loan approval etc., which for commercial clients can be pretty big), internal auditing, etc. have standard hours and, if they are doing a good job, a good career.


Those people that you're thinking of are local bank branch managers. They can have a decent middle-class career, but they are hardly the people you think of when you think "high-paying banker". PayScale.com lists their salary as being in the $42K-64K range:

http://www.payscale.com/research/US/Job=Branch_Manager,_Bank...

A skilled engineer in Silicon Valley can easily make triple that. Hell, new CS grads can often make more than that straight out of school.


Then you don't know many investment bankers.


Oh, you mean psychopathic thieves! You are right, they are passionate about their work.

As far as bankers go, they work from 10 to 4 M-Th and from 10 to 6 on Fridays.


On the flip side, in no other field can someone leave the university and expect a good job regardless of interest or talent in said field.

Do you know what happens to art or English majors that aren't desperately passionate about their trade? They are shift managers working retail.


Supply and demand. If you're having trouble finding people with what you're offering, raise your offer.


But that raises the false positive rate of unqualified applicants that are only in it for the money. Given that such a programmer may have net negative productivity, underpaying qualified developers migth even be beneficial for the employers, as they can be sure that the remaining pool of applicants will only contain persons with a qualification level commensurate with the offered wages (which can easily be filtered out) and people passionate about programming. They may loose some of the best that way, but they loose all of the duds, too. </cynic>


I'm not sure I'm following this line of argument but if they're intentionally keeping what they're offering low, they lose the right to complain that they can't find good enough candidates.

Besides the company on the article already claims to be able to seperate duds from stars.

"What you're offering" includes more than just money as well n


I find it dubious someone can just decide to be a "software engineer".

You'd have to already have a personal interest in programming and be doing it on your own as a hobby.

Are there people who seriously just go to college for 4 years and learn coding like accounting and then just do a 9-5 job?

There are thousands of decent hackers out there, maybe just uptrain.


There are lots of people who just went to college for four years and then got jobs writing code. I didn't keep a track of many of them but none of the ones I know of turned out to be good at it.


I know a bunch of people at Google who started programming in college. I also knew a few people in college who started there and are now getting CS Ph.Ds.

Curiously, it seems to be mostly women who are good devs and yet didn't start until college. I'm not really sure what to make of that. Could be selection bias - since boys are encouraged to play with computers, most of the ones who will be any good at it started in grade school, while since girls have no such encouragement, even ones that are good at it may never have discovered that until college. Or it could be that all boys who are good at computers let it take over their life, and girls have many competing interests. Or it could that only girls have the discipline to become good at something without it becoming their life.


I'm jealous of anyone who can just "come home from work" and turn off their brain about coding and do it as a regular job.

I'm constantly thinking of better ways to do something and find myself rewriting code from years ago. I have at least one "regular job" experience that taught me such behavior/attitude doesn't work well in a 9-5 business environment.


Do you really want to not care about the work you do? It's nice to be able to come home from work and not worry about work, but I wouldn't want to work on something that I wasn't interested in.


Dunno about the OP, but I'm worried about burnout. The road to being "world class" anything is longer than you can imagine, and it'd suck to get 10 years in and suddenly reach the point where I can't do this any more, no matter how much I used to like it, right when I would otherwise be a big success.

It is apparently possible to care about your work and yet still leave it at work - I know a few people that have managed it. I haven't had a whole lot of success myself.


When I was in college (this was in Australia) I honestly felt like I was one of the few who genuinely had a passion for programming. I met one or two other guys during those years who had a similar passion, but by in large it was the exception rather than the norm.


I've met lots and lots of programmers who have no personal interest in programming or computers. To them it's just a skill they've learnt well enough to get paid for. It's not a hobby or interest and certainly not a passion. It's just a job like any other.


I understand the spirit of your question, and I do agree: good developers are almost always drawn to programming beyond the minimum requirements of their university program or work.

That said, I think people knock 9-5 a little too much. Plenty of good developers like to do something else with their day as well, and find that they write better code and retain their passion if they maintain this balance. If you have a good work environment and can focus (admittedly a challenge between 9 and 5), you can get a tremendous amount done in eight hours.


Are there people who seriously just go to college for 4 years and learn coding like accounting and then just do a 9-5 job?

Yep. I went to college with people who didn't like programming.


If your pay is not high enough, or your standards are not low enough, you will find yourself lacking "software engineers". There is no shortage, however, just an unwillingness to pay the right price (either in money or lack of skill).


The many trading companies in Chicago also offer software developers interesting problems to solve and attractive compensation.

There's certainly a lot of web work being done in Chicago too, but the trading companies offer developers the chance to focus on enterprise software systems and proprietary high-performance trading applications.


I agree, my cousin is a software engineer for a financial company in Chicago. I doubt this other company could afford him.


"One good developer can do the work of three or four guys," Annerino said. "Once a company finds them, they don't let them go."

We might get paid double what they do, but not 3x or 4x. Or maybe I'm not that good ;)


I am gradually coming to the opinion that many 10X developers really do end up being compensated fairly, but it rarely happens while they are still in the "developer" box.

It doesn't necessarily just happen from taking on extra risk, either, though starting your own company is one way to do it. Personal anecdote (I'm not a 10X developer but I know a few things about a few things): I previously built CRUD apps and made $X, and I turned down a few offers this year to build CRUD apps for [6 * $X, 10 * $X]. The big thing that changed? Improvement in marketing myself and better selection of CRUD app genre. (A/B testing isn't any harder technically than building university registration systems... it is just worth orders of magnitude more revenue.)

There is a really good post on Quora about this, incidentally: http://www.quora.com/10X-Engineers/Why-are-the-best-programm...


That was one of the things that really surprised me about the real world: that big advancement only comes from big lateral jumps. Different companies, different projects, different markets, or different customers.

There's this model of the world we're taught as schoolkids - at least where I grew up - where you work hard at something, do as your told, and slowly but surely you rise up. And maybe at one level it's true, but it's very slow, and you'll never become the sort of success you read about in the paper that way.

Instead, I've found that what usually happens is that you join an organization because you meet some minimum skill baseline that they're looking for. And then as you practice and learn from the people around you, you end up picking up a bunch of other skills and getting better at your job. But the people around you generally won't notice. First impressions usually pigeonhole you into a general category, and then people are blind to gradual changes.

So to reap the rewards of everything you've learned, you have to expose yourself to new people. Jump ship, and suddenly you seem really valuable to them, because all those skills you've picked up which your current organization takes for granted are new and useful.

There's a leverage effect as well: people try to work with others of roughly the same level. If you're diligent about practicing, you'll go from being (hopefully) near the bottom of your team to the top of it. If you then repeat the process, your new teammates better be higher skilled still, and so your team as a whole can tackle more ambitious problems.


Good post!

Unfortunately, it also works the other way: somebody works in a company until they recognize how useless that person is, and before he or she gets fired they jump ship to a new company where they are greeted with open arms as the new guy/gal that will fix everything. Lather, rinse, repeat. If they are smart they use the same argument you made to actually rise in the corporate hierarchy with each step. This allows them to beat the Peter principle and rise above their level of incompetence, leading us to totally incompetent people at the top of the hierarchy.

So if you see somebody who changed jobs every couple years, be careful.


THIS! Seriously, good advice. I just sent this to my whole family.


"The growing use of Ruby on Rails, a Web application framework, in recent years has created developer shortages everywhere, said Rails creator David Heinemeier Hansson...Many developers who were trained in Java or PHP simply need to be retrained, he said."

=== "Hmm, PHP and Java are out, so what does someone with vested interests in Rails think I should learn? Hang on, Rails isn't mentioned as out of date by its creator so I'll retrain in that!"

I can't remember the exact articles from HN but there were two recently: one was about a sysadmin that went for an interview at Facebook or Google and was surprised that they wanted knowledge on low-level, performance critical features rather than advanced bash programming; another was an example of why it's often more cost effective to get twice the performance out of one server (by investing more development time i.e. C/C++ over PHP) rather than buying another server.

YMMV but I switched from PHP to C++ for my personal web projects and haven't noticed it taking me exponentially more time to develop.


I'm not seeing anything like this, or maybe I'm just being forced out of the industry.

I get screened out by HR because I don't have the words "computer science" on my resume, even though I've been programming for the past 25 years, 15 professionally.

If I get this far I get a phone screen where I'm completely fluent in anything they are talking about, but I don't have years of scrum experience, or I didn't come from an "agile" shop, or I prefer the alternatives to Rspec and cucumber, or whatever the new hotness is.

Then I get screened out by the developer interview because I'm not in my 20's and probably can't relate to their hip young "culture" and they don't know what to make of me, especially in the Ruby world - but Perl is not as bad and I'll probably just give up on Ruby and go back to Perl.

Then I get flooded with calls from head hunters, all for the same one or two jobs and its always a complete waste of time.

Its frustrating to read articles like this. Are they true or just compete fabricated bullshit as a prelude to increasing H1B quotas?


At most companies the hiring process is severely broken. They are being too careful and are so scared to train the right person.


What I can see is that most companies and especially these where software developement is viewed as a necessary evil rather than a business model are very bad at telling bad candidates from the good ones and don't really hire based on merit. They might believe they do, but the outcome of the hiring process is usually erratic as far as it comes to the actual abilities.

However once a developer is hired even a company with a flaky interviewing process tends to recognise the actual worth of a given programmer fairly quickly. Then an intresting thing happens - even though the developers might be explicitly treated as a commodity resource the very same managers would go far beyond the declared rules to retain the best: regularly up the package, give a lot of slack, turn a blind eye on minor "breaches of established rules".

As a result most good programmers I know after about five years in the industry end up enjoying a package far in excess of what is being declared on the job sites.

It's not uncommon for a hiring manager to moan about the lack of good candidates whilst paying the best developers on their team 50% more than they advertise when publishing the same job. What the management don't seem to realise is that just about every other company does that: actually paying more to the existing programmers than the declared range they would be prepared to pay for the new hires.

As a result after a while there is little or no incentive for good developers to put their CV's on a market. They're well above the market rates.

As a workaround sometimes companies hire good programmers as independent contractors and carry on extending the contracts forever - paying double or triple the rate they would pay their permanent staff. It's a funny game when becoming "an independent" consultant with a single customer is one of the few options for an experienced developer to help company management justify paying them the true market worth.

There is no lack of good programmers, they just cost much more than most companies are prepared to admit.


So the article says the shortage is of "highly trained" workers only.

And a big problem is you can't lure them away since their current employer might give them a counter offer, and there's apparently no way to deal with that, it's the end of the world.

And the solution to all this is "a six-month retraining program for displaced workers. Participants, who must be unemployed, will come away with skills in one of eight tech-training areas" which trains people with no programming skills how to become "highly skilled" in only six months. So highly skilled that they will kick the butts of the guy with the 15 years useless C, C++, Perl and PHP experience because what we really need is Ruby on Rails.


I'm a little suspicious when I read a line like this:

""I feel we're at 100 percent employment" for highly qualified software engineers in Chicago, said Zach Kaplan, chief executive at Chicago-based Inventables, an online marketplace for materials and technology. The company gets flooded with applications when it posts nontechnical jobs, but it struggles to find software engineers."

Mr. Kaplan hasn't quite defined a highly qualified software engineer as one who has a job, but he's awfully close to saying that "100% of the software engineers who have jobs, have jobs."

If "highly qualified" software engineers have no trouble finding jobs, I suspect I could make an equally ambiguous argument that "highly desirable" software companies have no trouble finding software engineers. This "shortage" goes both ways.


A related question:

What is the current hourly rate that a jr software engineer can expect?

I might be starting to work remotely for a company in the Boston area but have no idea what the current salary situation for freelancers in the US is like


All over the map (sorry, bad pun). It depends on where you live, who you work for, what technologies you work in, and (more than any of the above) your skill in marketing yourself to the right clients.

I have personal knowledge of folks who do software development at a range of price points between $25 and $200.


I assume that rate is per hour?

For what's it worth, in Western Europe I'd say 75 euros/hour ±50% is what you can expect for usual "Enterprise" fare.


I wonder if the dismal housing market and the rising demand for software will finally force corporations to figure out how to manage remote developers.

It's not like wages for the common programmer are going to keep skyrocketing until companies are buying your house to relocate your family.


Exactly. I get a lot of job offers which insist on me moving to London. Since I have (for a number of personal and practical reasons) no intention of ever moving to London, I won't work for them, period.

On the other hand, I would be readily available as a remote worker - in the same country. So what's exactly stopping these companies ?


Only if you persist in looking in the wrong places.


Cool. Can you suggest where the right places are? My past searches for decent software developers have been long, arduous and time-consuming, and I'd love to know where all the good developers are hiding.

Out of interest, how many developers have you employed? I'm sure it's not entirely relevant, but I'd be interested to know how you found them.


There are plenty of people here on hn who complaint about how hard it is to get people willing to hire them remote. You could start there.


There are plenty of software development jobs where remote working simply isn't possible. Just as a single, simple example, there are very few neighborhoods that would tolerate an 18 foot high-speed radar antenna on a roof, and even fewer that would then have suitable objects to watch.


I am pretty sure they once said the same thing about people not working in suits. If your company can't make it work, you shouldn't be surprised if you have to look for a new job because your competitors can get people you aren't able to hire.


I've come back to this comment several times in the past few hours, trying to write something to help you understand, yet at the same time, not sounding condescending, and I've decided I can't do it. You simply can't connect remotely to the kit we use - you have to be in the office for at least a few days a week.

Other work we do involves data that we are contractually obliged not to allow out of the building, and still other work involves teams of people working together on algorithm design and implementation. We've tried, but the existing on-line tools are simply not up to it. We've even worked at trying to create better on-line tools, and come to the conclusion that it's currently not worth it.

But you're a CS student, so no doubt you'll be working on solving the problems we have, and by the time you're in the work place you'll have the solution ready. We look forward with eager anticipation to being able to have people work remotely. Getting more and better work for the same pay would be a great business opportunity, which is why we still invest around 10% of our annual budget trying to make it happen.


There is a very big difference between what clothes someone is wearing and what their physical location is.

In half a generation, perhaps, when all the kids have grown up with zero distinction between online and offline life and VC equipment is so good that it's just like you're there, large-scale remote working might work. But right now, there is so much high-bandwidth communication that you're missing out on.


Can't remember where I read it but the good developers are hiding in good jobs and not actively searching...




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: