In my experience, a lot of interviewers ask some pretty esoteric computer science or language errata questions in order to hire someone who will write what are essentially CRUD wrappers with a pretty GUI.
Even if you scoff and rattle on about all the awesome hard problems you face, firstly, only a couple of people in any team actually need to solve those things, and secondly, you're probably lying and write everything on top of some already asymptotically slower abstraction already.
At one company, we churned through several dozen candidates for a position that was incredibly dull because they couldn't recursively divide and conquer a hypothetical infinite data set or use dynamic programming to optimally subdivide a two dimensional space. None of these things were relevant to the endless property plumbing we did all day. It just made us feel smart and distracted us from the dismal day-to-day that was wasting our advanced degrees.
The window dressing justification was that a smart person gets more done, 10x programmers and all that, but smart people also quit when they're bored, and smart people make boring jobs more complex than they need to be to stop from getting bored.
Anyways, after that debacle and now that I've moved to a smaller company, I started giving out a programming test that mimics what we do. If the candidate hands in something that is clean, complete, and doesn't have a dumb design, I'm totally for them.
So far it has still been difficult to find people, but the ones who pass seem a lot more capable than those we found using the pointless trivia method.
CRUD wrappers with a pretty GUI are actually really hard to do well. Think of all unusable and unstable CRUD apps you've used. I wouldn't drill someone on dynamic programming for that kind of job, but I would want them to be smart enough and dedicated enough to do it well. In my experience that's rare.
Not really "shatters", more "claims to have an insight into".
I'm a little torn. It's interesting that he describes finding engineers as like "detective work". My first instinct (as a developer) is that if someone is difficult to find, it's quite possible that they're not interested in being found. If they were looking for a job, they'd be visible. Does he consider it his role to 'educate' engineers about the possibilities available to them?
I've just been through the process of finding a new job. I expressly avoided using any recruiters, and am very happy with the result. Maybe engineers are hard to find because they're used to hiding from recruiters. I negatively judge startups that use recruitment agencies, but maybe I'm part of the problem.
I'd argue that this is largely due to the lack of standardization within our industry (note that Im not arguing for standardization for other reasons I think we all know)...
Basically when you start a job there is a relatively long learning curve. The technology, business, and interpersonal relationships are all unique and they all take a rather long time to develop. Usually the beginning part of that learning curve hurts the most (ex. learning how not to break the build and speak with some competency about the code base) and the rest is called personal "growth" and is usually satisfying and can run for many years without plateauing. The problem is that once you get to this middle staged growth, you dont want to have to go back to beginning part that comes with getting a new job (although I do recognize some people are different).
Now on the flip side if we were assembly line workers building light bulbs, the moment you heard the light bulb shop across the street pays 20% more and desperately needs people you'd probably be running across the street in a flash. And the next day at the new place would probably be about the same with 20% more pay.
The fear within tech is that, without standardization of work places, you can end up realizing you stepped into a big pile of crap. Crazy managers, incompetence, long hours, shady investors, etc etc.
Its not my desire to suggest we should turn the industry into light bulb manufacturing but I think the non-standardization has probably lead to the strangeness in hiring.
My first instinct (as a developer) is that if someone is difficult to find, it's quite possible that they're not interested in being found. If they were looking for a job, they'd be visible.
Not so sure about that. A lot of talented engineers are already in a job. They might be receptive to looking at another job for a period of months or years, but never actually looking. So a lot of the skill in recruitment is reaching those engineers with opportunities that will entice them to consider a move. Yes, sometimes this happens via aggressive recruiters, but it can also happen via "softer" approaches like publicity, sposnsorship, advertising etc.
No, it is a myth, there are lots of qualified, competent programmers out there:
"But again and again, he points out that qualified engineers do exist, and they’re being shut out of companies for what amounts to a cultural stigma about what sociologists would call “the other.”"
This is the point.
Edit: I think is important say that the "there's a terrible programmer shortage" belief is a myth, in the sense that it is a dramatic story that impels people towards certain behaviors and to say that this myth is wrong, in the sense that it excludes many people, in order to add some kind of sanity to the hiring process.
I agree that the programmer shortage is overblown. I'm a contractor and am currently putting out feelers for my next gig. My resume and background are "very good" from a recruiter's perspective, and even I have issues getting in the door at some of these places. The sad bit is that most of the time I find out the job is something a junior dev right out of college could do, and the rate is $65/hr.
Along that vein, almost no place is interested in paying for talent. I consistently get incredulous responses from recruiters when I tell them my rate. Many companies cap their reqs at $90/hr or $100/hr. This seems like a decent rate, but a major part of the problem is that the recruiting firm wants to take 30% of that hourly rate. If the maximum cap is 100, that means the contractor is getting (at most) $70/hr. Companies either need to up their rate, or cut out the middle man completely. The vast majority of recruiters I encounter today have a premium LinkedIn account and just spam everyone that matches keywords. Are you telling me a company couldn't have an intern do that kind of thing for a lot less than the recruiters are getting?
It always irks me when someone refers to a "shortage" of potential employees. There is no such thing as a shortage in a free market, by definition. No external force is artificially constraining the supply of engineers or the wages that employers are allowed to pay them. Thus there is no shortage. QED.
Sometimes recruiters and employers use the word "shortage" as a code to indicate that they can't find highly qualified employees who will do excellent work for low wages. But that's just a mismatch in expectations, not a true shortage. I've done a lot of hiring over the past few years and have always been able to find the engineers I need.
Despite that flaw it's a good article with some helpful insights. Although it kind of comes across as a bit of a PR puff piece and advertisement for that particular recruiter's services.
This is a flagrant simplification of economics and it's unfortunate that this is often allowed to stand on HN. A sure sign someone is making something up in economics: using "QED." Economics is about the real world, and the real world is messy. Even good mathematical economic theories rarely map well to the real world, and yours is hardly that.
Shortages certainly exist in a free market, and they occur in cases where the supply is relatively inelastic. This is obviously the case in the short run for engineers, as it takes some amount of time for engineers to be trained (four years if they go the normal university route). If the demand outstrips the supply presently in the market (which appears to be the case), employers cannot magically increase the present supply.
Furthermore, humans are not perfectly rational economic actors. Not everybody will choose to become an engineer solely because that is the most economically rational thing for them to.
If employers offer higher wages (which has clearly been happening; starting salaries are above $100k these days in the valley) they can at best hope to attract employees from other employers that are offering less (although there may be non-monetary factors at work as well) but that does not change the fundamental imbalance between supply and demand.
I could go on in this vain, but seriously, pick up an economics textbook before spouting off this nonsense.
Not nonsense at all. The article specifically mentioned a "shortage" of engineers in San Francisco. In the USA there are an effectively unlimited number of qualified engineers who could do those jobs. Many of them are either living in other areas, or have moved on to jobs in other fields and could get back up to speed with minimal training (much less than 4 years). If employers offered significantly higher wages then plenty more supply would quickly appear to clear the market. Of course humans are irrational but they will still respond when presented with a strong enough incentive.
>If employers offered significantly higher wages then plenty more supply would quickly appear to clear the market
This is really a housing supply question as Matt Yglesias makes clear here: http://www.slate.com/articles/business/moneybox/2012/05/face... and as others have written (see, for example, Ryan Avent's The Gated City). Housing costs in Silicon Valley are insane, which prices out lower skill workers and forces companies to pay more for highly skilled workers. Allowing to higher building heights and reduce setback requirements alone would do a lot to improve the jobs situation.
> There is no such thing as a shortage in a free market, by definition.
Nonsense. Supply and demand are not perfectly elastic. Consider a simplified hypothetical world where Alice harvests carrots that magically fall from heaven, Alice and Bob need 10 carrots per day to survive, and a total of 15 carrots fall from heaven every day. There is no other source of food. Alice eats ten carrots, and sells five to Bob. Bob's carrot-demand is at least ten carrots, but he can't buy them at any price, no matter how desperately he may need them to keep starvation at bay.
If you're defining "free market" that strictly, then I don't see how your original post has any relevance. Shortages might not exist under your definition of "free market", but if that's the case then we clearly don't have a free market and properties of a free market are irrelevant to discussions of any real economy in existence.
The article is about the job market for engineers in the SF area. What specifically about that market is not free?
I have been a hiring manager in that market since 1999 and know from direct experience that there has never been a shortage during the period. I can hire as many as I want, provided my bosses are willing to pay the market rate. The federal government stopped imposing maximum wage controls decades ago. The state government blocks most non-compete employment contracts. There is a huge supply of potential engineering employees currently living in other parts of the country or working in non-engineering fields who would take SF area engineering jobs at the right price. I have met plenty of locals who used to work as engineers and are now homemakers, lawyers, schoolteachers, writers, EMTs, scuba instructors, etc.
This is a real economy that exists right now and it looks pretty close to free.
There are only a finite number of people in the world. So even if all of them knew how to program, a task requiring 10 billion programmers would have a supply shortage. Therefore, the statement "there cannot be a shortage of programmers" is false. Therefore, the market for programmers cannot be a free market.
BTW, I still agree with you that it's "pretty free." And I definitely agree with you that it's generally possible to find qualified programmers. I've never tried to hire and not found at least one qualified candidate that wanted to do the job, mainly by being honest about how our offer stacks up against the others. If we can't pay enough to hire an expert, we hire a potential expert that would take the wage and train them. The lower the wage, the longer we are going to have to train them.
But there's still a difference between "a pretty darn free market" and "the living avatar of the ideal free market," which is what it sounded like you were trying to assert. :)
If a shortage can't exist by definition, then maybe we need a new term, or a different way of thinking about a shortage. I am willing to listen to people who claim there is a shortage of engineers, though I am skeptical of the claim.
I think about it this way - how does the pay, prestige, job stability, growth, and forth for an engineer compare to the other options available for highly talented people? As it stands, I think that it does make sense that there would be higher demand than supply for engineers at the current salary levels.
As an example, I read about a guy with a PhD in Engineering from a strong program and several years work experience who was writing specialized software. His salary was 125K a year. The article was about granting more visas to non-us citizens, and the writer clearly thought the 125K salary ended all discussion of whether the pay was extraordinary, high enough that clearly a shortage was in effect.
Personally, I don't agree. This guy had gone through a grad degree that typically takes 6 years or more (twice as long as a law degree, 3 years as long as an MBA, as long as a med degree and half of a residency). He had gone through a much harder undergrad degree than most, and he had already proved his ability to write difficult code. 125k isn't close to "shortage level" salaries for someone like this. I know employers would get sticker shock, but I think you'd have to go up to 250K or more to be competitive with comparable professions (at the elite level). Keep in mind, 6 years of a PhD + a few years of work experience would be equivalent to a 6th year associate at a law firm - but without the extra years of earning.
I'm willing to consider the possibility of a shortage, but right now the evidence seems very weak. In fact, the salary level for engineers compared to other top professions goes a long way to explaining the low interest in these degrees, especially at the grad level.
> There is no shortage of engineers, but there is a shortage of engineers willing to work for very little money.
I hate startups/companies that decry an engineering shortage when they aren't willing to pay for it - we make your products, your money and your fortune either pay us more, work on more interesting problems or have a better working environment. Engineers will gladly come to you if you do so - see Google or Valve.
And the truth he’s seen in the past decade is that our insecurity is getting the best of us. “The big problem in general is fear,” he says. “To counter their fear, companies make their standards too high and turn down people who would be great at their jobs. ... “Everyone wants the next Steve Wozniak to walk through the door, but really, they should be asking to see if they can do the job. … They want to populate their entire staff with engineering geniuses, and you don’t need the whole staff to be engineering geniuses. You need a couple really bright people who know what they’re doing, and then, just don’t turn down people who can do the job.”
There's definitely a misconception out there that a company can make it on "great engineers" alone. I've been thinking about this lately, trying to come up with a good way to describe to people what I do. So far, the best thing I've been able to come up with is that it's akin to being a load balancer: the person who takes on the tasks that can and will be optimized, but that are (for whatever reasons/ priorities) not yet able to optimized.
So maybe part of "the engineering shortage" is related to the shortage of people with enough technical competence to take on the tasks that the engineers could do, but don't want / like to do. So far in my experience, I've seen far more of a dearth of support people who know what they're doing, than a shortage of good engineers.
This guy didn't shatter anything. It's basically a big advertisement for his services. Those of us on the ground know there is a real shortage due to the current tech boom.
“Oh, there’s definitely a shortage of people as the tech industry expands,” Marcus says. “The economy is expanding here, and they need a lot of engineers. You just need more and more people to code all this stuff.”
>“Everyone wants the next Steve Wozniak to walk through the door, but really, they should be asking to see if they can do the job. …
Most interviews have a combination of the following.
a) The interviewer wants to talk about himself/herself.
b) Talk about how great the company is and how much of the kool-aid they drink.
c) Ask one tech question and base their decision on that.
d) Ask a few very obscure questions.
e) Talk about big-O / Binary search / your education.
f) Code samples... What could a code sample possible mean to someone who has no idea what the pitfalls of the code/problem/database is. Useless. Hiring is based on commenting ability?
g) Play the game of are going to scrape and bow for them. Alpha males.
h) Don't have a clue what they are talking about, got the job because they know someone. They ask questions from some article they read.
i) Haven't read your resume.
Less than 25% of interviews actually bother asking you questions about if you can do the job. Write some code.. ha, one in ten.
Is there any falsifiable evidence in this article? All I read was a big advertisement for a recuiter named Jon Marcus, with a bunch of assertions about how companies could recruit better if they only lowered their standards. Of course you can increase your yield if you accept lower quality. That's as true in manufacturing as it is in human resources.
"He’s interviewed Ivy Leaguers and dropouts; and as a result, he has helped shape countless “A teams” and every other kind of team, then watched those teams suceed or fail."
Really? I've never seen a recruiter follow up with any candidate whatsoever, and I've interviewed hundreds of candidates from the employer side. So I have serious doubts about his ability to shape or understand how a candidate can affect an organization. The feedback loop just doesn't exist - companies don't provide outside entities (recruiters) feedback about their hired employees. The legal risk alone is too high.
Case in point:
"[Y]ou don’t need the whole staff to be engineering geniuses. You need a couple really bright people who know what they’re doing, and then, just don’t turn down people who can do the job."
really, I only need a couple of people who know what they're doing? What exactly are the rest of the engineers doing? They don't know what they're doing, but can follow instructions from those who do? I'd rather just not hire those people to begin with. According to Jon Marcus then, I'm part of the problem. Except, he has a real financial incentive to place marginal people, since he gets 20-25% of the first year salary. What do you think that does to his opinion of hirability?
I know exactly why I get rejected: for having Masters in Economics (read: Applied Maths), not CS, for not knowing by heart all normal forms till the 6th, for using but not knowing the formal definition of Dependency injection pattern.
I see how it works on the other side. I was the first guy at a new project in a wealthy company. We needed a genius, and we hired one from the first try. He solved all the Python puzzles I gave, and knows a lot just out of university.
The problem is that we need to extend the app, which is boring and a bit repetitive, which takes discipline, not rare talent. So we see such guys coming. They learned Python on their own, out of joy, don't know many things. But our boring work will be a challenge to them. So, why not hire?
My superstar fellow says they're retards, the management asks to not bother even calling them back, and I have no strong point in their favor.
I really like this article. There are a lot of unconventional candidates out there that could do great work if any established business or startup would give them a chance, but since they're not the perfect resume candidate, or close to it, they can't get in the door to show their chops. It's basically classism, because the candidates most likely to have that perfect resume or flawless work history would have come from a privileged background, where they had all sorts of resources available to them, were never forced to get a job outside their field to earn a wage, and were never hurting for connections.
Take me for example. I graduated in 2008 with a computer science degree from a pretty good state school. I resigned from my first job after feeling extreme burn-out and anxiety from a broken process and constant missed deadlines.
If you have any gap in employment though that throws up huge red flags for a lot of employers, as well as being anxiety prone and not interviewing so great because of it, or not being fully knowledgeable about whatever particular software stack that business is using.
And i know you can lie on a resume but some of us aren't so comfortable doing that. So it ends up if you have any red flags, you're basically never getting employed again. Fired unfairly from your last job: good luck explaining that one. Family or personal emergency create a hole in your resume: that's not gonna look good. Have other concerns that take up your free time besides building up your Github: you must just not be dedicated or in love with the field (which is not the same as not being able to do the work).
I sort of long for the early days of programming back when you could just walk in the door and take an IQ test with an employer to see if you were capable of being a programmer, regardless of your current / past employment, personal history, etc. Now to do any sort of work you have to have already done the work, which is exceedingly difficult if you are currently working full time in a different field (out of financial necessity), and aren't a lone white bachelor who has loads of free time to spend on personal projects.
So what do i do now: i clean houses. It's fine work if you have nice clients, but i'm also underemployed and very low income. It's easy to get discouraged about even trying to interview, when you're pretty sure once they see your resume, any effort you've put in would have been a waste. No one seems to want to hire a housecleaner as a programmer (classism), regardless of my education, high SAT / GRE / college GPA. I'm damaged goods, and it doesn't matter if i can do the work or not, i'm just not an attractive candidate.
Sorry for the rant. But i can't be the only one out there. I bet there are a lot of capable workers out there that are either unemployed or underutilized because of discrimination of one type or another.
Before i incur the wrath of the "pick yourself up by your own bootstraps" crowd, my goal was not to say "poor me", even though that might have been how it came out. I'm not trying to get advice, or someone to offer me a job. All i was trying to say was that there are more people like me out there, loads of people that are still pretty darn intelligent but look horrible on paper.
Personally i'm sick of the whole process and all of the fakeness involved in trying to land a job. If you're unconventional, you better be good at faking looking conventional so you can get a job, otherwise you're out of luck. Not for me.
If a business is having trouble finding qualified candidates for a position, maybe they should spend a little more time considering that it might not be that there's a lack of people that can do a good job in that position, but that their conception of what makes a "qualified candidate" is overly restrictive and broken.
I sort of long for the early days of programming back when you could just walk in the door and take an IQ test with an employer to see if you were capable of being a programmer
Unfortunately, that's how you end up with a team that is incapable of communicating, because you never evaluated an employee based on their social skills.
I do get what you mean, but I think that tech is actually an amazing field for self-improvement, if you try. I wanted to work at a company using a software stack unfamiliar to me. I downloaded it, got to grips with the basics and said as much in my interview. There are very few other fields in which you can do that.
If you're unhappy with your current job, then it might be time to learn some new technologies and post some examples to Github. I know, it uses up free time you don't want to give up. But you have to sacrifice that stuff every once and a while if you want to move ahead in life.
Your first point is something covered in the article. When you evaluate a candidate's social skills, you really end up evaluating whether they're a good "cultural fit" or not, which usually means you aren't hiring a very diverse team. Wouldn't want things to be too awkward around the office by hiring someone too different.
Investing time in learning a completely different stack for every job you apply for seems like a very inefficient use of time, especially when it could take you weeks to get a really good grasp on the nuances of a particular stack, but it only takes about a second for an employer to drop you from consideration.
It's "possible" to be upwardly mobile, particularly in the tech field, nowadays, but it takes a certain personality type to do so. Upward mobility for driven, workaholic, A-type personalities is a pretty narrow path to success though, especially when even those personality types, given certain life circumstances, are extremely constrained in how much they are able to accomplish. So much for the meritocracy; capability counts for a lot less than the resources one already has available.
When you evaluate a candidate's social skills, you really end up evaluating whether they're a good "cultural fit" or not, which usually means you aren't hiring a very diverse team.
No. I know what you're saying- that a lot of startups encourage fratty behaviour and so on, which is true. But communication skills are entirely separate, and important. It's impossible to be an effective team without communication- that's not a "cultural" thing.
Investing time in learning a completely different stack for every job you apply for seems like a very inefficient use of time
True- I did it just once, for the job I wanted. But you could also quite easily look at what kinds of technologies companies are using- there will be general trends that can help you.
There is more to social skills than culture, and there is more to culture than race & gender (not that you said that, but the article did). I've never worked anywhere that was less willing to hire women & minorities; if anything it was the opposite, sometimes explicitly. But you do need to hire people who can work together and (depending on the job) engineers who can interact with clients.
I had a hiring manager tell me once he was worried I wasn't talkative enough (though he did make me an offer). I thought that was dumb, partially because I know I'm not reluctant to communicate & debate with my team, but more because it seemed like an uncritical devotion to the cult of culture. On the other hand, I once managed an engineer who found a reason that every one of his tasks couldn't be done (in my opinion as cover for lack of competence). I wouldn't want someone like that on my team.
Hey man, that sucks but it's nothing you can't get out of. If you have to go work consulting, or some entry-level thing for a while. Apply everywhere. If you are a decent developer with a CS degree, you should eventually land a job. It may not be the perfect role right away, but there's nothing wrong with climbing the career ladder.
Once i get some more immediate concerns taken care of and out of the way, i want to start doing some rent-a-coder type stuff. I'm not really eager to interview for any full-time jobs anywhere anytime soon though. You can only receive so many rejections before it takes a big psychological toll. I'm not really eager to be back in the place i was mentally when i was actively searching for work and meeting with constant disappointment.
Honestly forget Rentacoder you won't make any real money at it and the projects are all mostly junk software anyway. Also its hard to get started there without already having reputation. Much better to work on your own side project - either open source or your own business. Even if your project never makes money you've at least got something you are more passionate about and to talk about in your interviews other than cleaning houses.
edit to add: one more idea maybe take some free online classes like from Uber or Coursera? I think this is a great idea for anyone actually I just started the Coursera Scala class myself and having more fun programming than I had in a long time. This is not so much for resume builder as it is more to clear out the cobwebs and get you thinking like a programmer again.
How many place have you applied for a job as a programmer ? Have you done any programming since 2008 just as a hobby. I am not talking about some big open source project but enough to show that you don't hate programming. If you do hate programming, its very hard to do the job. If you like it, you should apply at least 10000 places before giving up and doing house cleaning work.
Have you tried oDesk and other online service, they don't care how much gap you have in your career.
If its depression thats holding you back go get help from a doctor.
I have no idea where you live or what your skills are but lsc pn this board (Luke Crawford of prgrm.com fame) talks a lot about hiring people who know what they're doing but interview badly. If you are either in San Francisco or can dp sysadmin there are worse ideas. He has remote positions at least sometimes.
You're not damaged goods. Since you're not being burnt out by your day job, you should keep a humble personal project going to keep yourself sharp. Also, it gives you something to talk about during interviews. "I've been working on this x. I wanted to learn y so I'm using it on my project."
When you find a company worth working for, they won't care about the gap on your resume. They'll see you talking passionately about a personal project and give you exactly as much consideration as the shiny guy who's bored with his lame-o Fortune 500 gig. The right company won't turn you down for the wrong reasons. (They might still turn you down, but it will be because someone else felt like a better fit fair-and-square: Just like you'll feel at the place you finally end up working.)
Here's my view as a veteran UNIX / Linux guy who's almost done with his search:
>> “They like to hide,” he says. “Marketing people, sales people, product people will network. Engineers, they’re very timid about giving out contact information for themselves or anyone else.”
Rule #1 about posting your resume on Dice or Monster: Your phone number is 000-000-0000 - screen via e-mail. I don't enjoy multiple interruptions in my day because you either A) matched a couple keywords or B) e-mailed me and I haven't responded. Don't be "that guy" who e-mails a person, calls them and says "did you get my e-mail??" I have got most of my jobs from Dice, they've been good to me, but there's no way I'm exposing myself to recruiter spam via telephone.
Same goes for references: I make it 100% clear that when I give out references they are ONLY to be used as references for this position and nothing more. If my references start getting calls from your company about 'opportunities' they contact me, I call the company, start chewing people out, AND I've got it in writing.
A tip for newer job seekers: Provide references after the interview, not before. The recruiter or company contacted you on the strength of your resume and not who your references are.
On another quick note: References are obsolete. Managers from larger companies can't give good or bad references due to fear of being sued and what are you gonna do - give your worst enemy as a reference?
>> “It’s the fear of the unknown,” he says. ”Everyone is afraid of hiring the wrong person, and if they would just trust that they know how to ask the right questions, then everyone wouldn’t be complaining as much about recruiting.”
Get your fucking interviews in order, take time and actually do it. I've had so many interviews where it's clear that the interviewers did not read my resume and did not have questions ready to go - they just played it off the cuff. I took the time to tailor my resume to your organization but you can't get your interviewers together for 15 minutes to read my resume and create questions to ask? You're showing me right off the bat that your company either can't or doesn't plan for a six figure investment (me, the candidate, the guy that will be sitting next to you).
>> But instead of asking the right questions and hiring a candidate who’s qualified, Marcus says that startup founders will take a candidate in based on a personal recommendation or an impressive company name on a resume, usually branching outside the original specification they wrote and usually regretting the decision in the long run.
This is very true because it's easy to hide and do nothing or know nothing at a large company. At a 10 person startup if you don't know what you're doing people are gonna figure it out - fast.
>> And the truth he’s seen in the past decade is that our insecurity is getting the best of us. “The big problem in general is fear,” he says. “To counter their fear, companies make their standards too high and turn down people who would be great at their jobs.
Job descriptions are getting stupid and out of control - they seem to be like a child's wish list at Christmas. Nevermind positions with low salary but do you really expect people to know C/C++ and be a Linux guru? Both a Windows pro and a Cisco wizard? Take 30 seconds and think about it: How many of those people REALLY exist in the world? 500? How many are looking for a job? 1, 2? And last but not least, are they really going to want to work for your random company for 90k a year with skills like that? Unless they are completely insecure and clueless the best of the best techies know their worth.
The other thing is listing requirements for the wrong reasons. I don't know Ruby and shy away from jobs that want it, but if you really just want someone who knows Ruby for Puppet then that's easy - it's just copy existing manifests and update the variables / settings for the new host, but you scared me off by projecting that you want a sysadmin + programmer when you listed Ruby + Python + C + perl.
Companies are also forgetting the root of IT: Adapting to new technologies. C'mon, I know ABC App is what you're looking for but I've been doing this for ages and changed with the times. Do you really think I can't read vendor docs and other web resources to come up to speed when I meet 80% of your other requirements? That and the old "everything old is new again" saying. Unless it's something completely new a mindblowing chances are I can use my knowledge of older systems to understand the fundamentals of the new ones - you won't need to teach me the fundamentals of high availability from scratch.
>> “Everyone wants the next Steve Wozniak to walk through the door, but really, they should be asking to see if they can do the job. … They want to populate their entire staff with engineering geniuses, and you don’t need the whole staff to be engineering geniuses. You need a couple really bright people who know what they’re doing, and then, just don’t turn down people who can do the job.”
I always laugh at places where almost every position wants something like "leadership skills." What happens when you have an organization where everyone has strong leadership skills? You have too many cooks in the kitchen, that's what. Understand that most people are better suited to a follower role - I know I am.
>> The great mystery and the core principle of recruitment, Marcus says, is at once simple and nearly impossible: Find a better candidate. The elusive “better candidate,” he tells me, can come from anywhere.
This goes hand-in-hand with the first quote about great engineers not making themselves known. While you look for that "better candidate" he's interviewing with and getting offers from other companies.
Lately I have been flat out telling recruiters "I get 10 or 15 e-mails per day so I'm not putting my entire job search on hold for one possibly maybe nothing-in-writing-yet opportunity. If your company wants me, they need to step up and come get me." Seeing as how recruiters and employers love to keep potential employees in a holding pattern for weeks or months I'm not going to let life pass me by, sorry.
Expanding on that, I also take the "send it and forget it" approach because I never know how quick or slow a company will respond - low expectations make for a happier life.
PS: Hey dumbass recruiters and employers: Make REAL job descriptions. Oh your only requirements are Linux and VMware? Sounds incredibly vague and doesn't grab my interest unless the job is in Hawaii. We have an interview and you go into all sorts of technologies that you expect me to design / admin but the job description didn't mention them? Lose/lose because I don't get any time to review them and you're getting bad candidates. Recruiters who can't provide detailed job descriptions? That's like going to Taco Bell and saying "give me food."
PPS: DevOps a buzzword, the old term is "teamwork." You probably shouldn't keep sysadmins that don't want to interact with the devs or are so insecure that they can't let devs control when and how they deploy their code...
If you want to (start to) cover a gap in employment, make an LLC and put that on your resume. And if you get questioned about it, just say, "Why, yes... I was bootstrapping my own business." It would also help if you had a small app or two to your name.
Interview:
So the Great Engineer Famine of 2012 is — what, a total myth?
“Oh, there’s definitely a shortage of people as the tech industry expands,” Marcus says. “The economy is expanding here, and they need a lot of engineers. You just need more and more people to code all this stuff.”
Pretty much spot on. There is no shortage of people who can do the jobs. That is certainly not the fear being balanced (=Joe Candidate can't do the job). Rather, the fear is that Joe Candidate is not "like me", and that he might change the culture. He is "the other".
But this is not as silly as it sounds. It makes a difference who you have to work with everyday. It's not just about work. In many cases, monkeys could do the work. (In other cases, only a very few people could do the work.) What it's about is being surrounded by "your kind of people". Work environment.
This doesn't just apply to startups.
So being a good recruiter is not just about finding qualified people, it's about understanding "cultural fit" and the particular pyschology (however irrational it may be) of your clients.
* Qualified software engineers are hard to find, it's like hunting or detective work, but they do exist. Not really a myth-shattering revelation, I think we all agree with this.
* People are afraid of the unknown. This applies to hiring practices. Sure, nothing new here.
* Interviewers do not ask the right questions. OK, what kinds of questions are "not right", why, and what would be the better approach?
* Companies standards are too high. They do not need a team full of geniuses. Not sure I agree, have any evidence or supporting arguments? It is admittedly hard to measure, but most of the evidence from people who actually work with them points to the 10x or 100x engineer being a reality. Hiring that guy is a much better investment.
The next section (10 paragraphs):
* Candidates can come from anywhere. Sure, nothing new about that.
* Networking and legwork are the staples of a successful career in recruiting. Nothing new here either.
And the next (14):
* For a recruiter, finding an engineer is like finding the "very few really big fish" among a whole bunch of sharks. Wait, doesn't this contradict what we said earlier?
* Those looking to hire need to drop their false requirements like Ivy League schools, moral character. Hm. OK. Other than obviously exceptional anecdotes, why are these bad? Any other false requirements? How are we supposed to filter candidates?
The final section (8 paragraphs):
* Startup culture is often unhealthy. Run it like a business. OK, I suppose I agree with this in principle. But the opposite it true too: business environments can be unhealthy too (Office Space-esque?). What makes each unhealthy and how do we combat this?
* People are afraid of the unknown. Did'nt we already do this one?
* Ageism and sexism are related to this fear. OK, sure. What do we do about it? How do we combat that fear? Also, not new or myth-shattering.
----
The title reads like it should be a persuasive piece, but I think it is mostly fluff and history. It has a number of unsupported positions and suppositions thrown in, but many of the ones that ring true are nothing new and do not "shatter the myth".
What about the real issues that created this so-called myth? How do you address FizzBuzz problem: a majority of applicants fail to meet the most basic of "can you do the job" type of requirements? How do you account for atypically high salaries? What about the large amount of head-hunting happening at places like Google and Facebook? If there is no shortage of good engineers why can't these extremely attractive companies seem to find enough of them?
I have been in several teams full of both, the 10-100x engineers, and the good-enough engineers. The former have outperformed the latter in profit and productivity every time. My experience is that it is very hard to find the engineers that make up the 10-100x teams and this article has done almost nothing to shatter that "myth".
So every company wants a social proof that the person they're interviewing is Really, Really Good -- often even before the person gets the interview.
Problem is, social proofs are purely relative and zero-sum. If everyone graduated from Stanford or worked at Google, having Stanford or Google on your resume would become worthless (and, in fact, this has happened with some technologies that got very popular).
Sounds like a rather contradictory environment, tough to crack.
Re-reading the PG essay on creating wealth and came across this- "The top 5% of programmers probably write 99% of the good software."
Probably somewhat exaggerated for effect, but also probably true in general concept.
Which hiring folks probably know at least subliminally. Of course, there's also the fact that the vast, vast majority of them are hiring for bad projects to begin with.
I've been on both sides of this one. I'm going to speak mostly from the side of one doing the recruiting, because that was where I had the chance to actually learn why people were sought or avoided, accepted or rejected. When you're a candidate, you only have your own conjectures about why you get yeses and nos, but when you're involved in recruiting, you get a front-row seat for how stupid companies can be.
Companies think that if they set requirements 3 levels above the actual work, they'll get it done really well, very fast, and reliably.
That's not true. It doesn't work that way. It's the opposite.
Companies are afraid to hire at-level because they can't admit the truth about the quality of work they have to offer. Most of what they are doing is not very interesting, and their environments are often broken, but they're terrified that if they hire at-level for that work, they'll poison the environment with inferior programmers. Reality: the culture was already damaged by the crappy work. It's a sunk cost if that's the kind of work you have to do, so fucking accept it and hire at-level.
There's also a social-climbing element to it that is pretty disgusting. I've seen this with startups. They hire the people they can get-- a few are bad, a few are great, most are OK-to-good-- but then, after they're more established and richer, they decide that none of those people are "good enough" to grow with the company, so they decide to upgrade their crowd and hire shiny, new people. Familiarity breeds contempt, so eventually they are used-up shoes and newer, shinier people need to be brought on. (This is why, if you're an early startup hire, you need to lock in a VP-level title even if you're a full-time programmer. You can never get full assurance that people won't be hired above you from outside, but the title makes it harder. It puts a limit on that sort of shit.)
There's also a ridiculous pansy-ass risk aversion involved. "We can't do machine learning unless we hire a machine learning expert with 20 years of production experience." Bull-fucking-shit. So many companies refuse to get out there and do something interesting until they can hire a Messiah, and people anything like that Messiah want to work for companies that are already doing interesting work.
The tech industry is heavily reliant on the recruitment model. Its actually a great model, how many people can say there is an entire industry out there dedicated to getting you hired? But it has its underbelly. Spam, lowballing, misrepresentation, and some of that results in a lower than expected best match scenario for filling positions. I agree that many developers dont want to deal with the noise of job boards, and that may be a sense of hiding, but its also a sign that a high percentage of recruiters are not selling you into a good job, they are just resume bombing a hiring manager they have no relationship with, have never talked to and will probably never fill a seat. These kind of shops are to be avoided like the plague and only reinforce bad hiring practices because they submit consistently low quality candidates for positions which the candidate does not match.
You really think the recruitment model is a great model? Just curious, great for who? I've been a recruiter for 15 years, and there are some glowing flaws with the model that are being exposed right now. I've written two articles about it recently, both here on HN. Search 'disrupt recruiting' and you'll find them. Here is the first http://news.ycombinator.com/item?id=4555165
Even if you scoff and rattle on about all the awesome hard problems you face, firstly, only a couple of people in any team actually need to solve those things, and secondly, you're probably lying and write everything on top of some already asymptotically slower abstraction already.
At one company, we churned through several dozen candidates for a position that was incredibly dull because they couldn't recursively divide and conquer a hypothetical infinite data set or use dynamic programming to optimally subdivide a two dimensional space. None of these things were relevant to the endless property plumbing we did all day. It just made us feel smart and distracted us from the dismal day-to-day that was wasting our advanced degrees.
The window dressing justification was that a smart person gets more done, 10x programmers and all that, but smart people also quit when they're bored, and smart people make boring jobs more complex than they need to be to stop from getting bored.
Anyways, after that debacle and now that I've moved to a smaller company, I started giving out a programming test that mimics what we do. If the candidate hands in something that is clean, complete, and doesn't have a dumb design, I'm totally for them.
So far it has still been difficult to find people, but the ones who pass seem a lot more capable than those we found using the pointless trivia method.