Hacker News new | past | comments | ask | show | jobs | submit login

I'm starting to be a bit disillusioned with this whole "we can't find great people" spiel that a lot of startups put up.

I have friends who are extremely good engineers (i.e., a mix of: contributors to major open source projects used by a lot of SV startups, have given talks at large conferences, published papers at ACM conferences, great portfolio of side/student projects, have worked at great companies previously, frequently write high quality tech articles on their blog, have high reputations on sites like Stack Overflow, etc.) and who have been rejected at interviews from those same companies who say that they can't find talent. (it also certainly doesn't help that the standard answer is "we're sorry, we feel like there isn't a match right now" rather than something constructive. "No match" can mean anything on the spectrum that starts at "you're a terrible engineer and we don't want you" and ends at "one of our interviewers felt threatened by you because you're more knowledgeable so he veto'd you").

Seriously, if you're really desperate for engineering talent, I can give you contact info for a dozen or so of friends who are ready to work for you RIGHT NOW (provided your startup isn't an awful place with awful people, of course) and probably another dozen or two who would work for you given enough convincing.

I'm honestly starting to believe that it isn't hard to hire, but that there's some psychological effect at play that leads companies to make it harder on themselves out of misplaced pride or sense of elitism.

Unless everyone wants to hire Guido Van Rossum or Donald Knuth, but then a) statistically speaking, you're just setting yourself up for failure and b) you need to realize that those kind of people wouldn't want to do the glorified web dev/sys admin'ing that a lot of SV jobs are.




>"I'm honestly starting to believe that it isn't hard to hire, but that there's some psychological effect at play that leads companies to make it harder on themselves out of misplaced pride or sense of elitism."

I expect that a fair portion of "We can't find qualified people!" is actually "We can't find qualified people for what we're willing to pay."

Beyond that, I wouldn't say that it isn't hard to hire, but it certainly seems popular to make hiring as hard or perhaps more accurately - to make passing as easy as possible whether it's via veto, "culture fit" or something else.

I was hoping that the vote of confidence in "behavioral interviews" [0] from Google over the summer would help things a bit - I guess not.

0: http://www.nytimes.com/2013/06/20/business/in-head-hunting-b...


If that was the problem, then they would complain not that they couldn't find people, but that candidates weren't accepting their offers.

(Of course it's possible they are implicitly or explicitly cutting all the people who cost too much money, leaving them with very few useful candidates.)


Would they though? That would be admitting that the problem was with them, something many people are not willing to do.


Only want to hire elite genius rockstars ... to implement a really boring CRUD app ... for median (sometimes lower) wage.

Not too surprising this strategy doesn't work out too well.


> I expect that a fair portion of "We can't find qualified people!" is actually "We can't find qualified people for what we're willing to pay."

Sure, but isn't that implied, since all companies have financial constraints? If you can somehow pay 10 million dollars a year for a software engineer, I'm sure you'll have a lot less trouble finding a great engineer.


Indeed. The big tell in the OP was the call for opening up H1B's. Also, training? hello?


It's funny at my first job a world leading fluids Rnd organization as a research assistant my instruction on joining was Kieth's going to give you quick hours run down on how to run the PDP 11's - then pop into the library there is a book on FORTRAN tech your self it :-)

Oh an that was direct from school I didn't even get any A levels :-)


At a previous job, we had a hell of a time finding candidates who were any good, and then of the ones we made offers to, we got a lot of "no thanks", I don't know why management couldn't close the deal but I have guesses (not gonna post them because people from that former job post on HN).


In other words, you don't want to actually be useful to former colleagues...


Agree 100%.

In my anecdotal experience, companies put far too much emphasis on finding unicorns that can solve problems on a whiteboard than they do on finding above-average developers that have a strong work ethic, can learn fast, and have shipped something.

As it stands, it seems the only people these companies hire are notable SV personalities, or people that excel at the formal interview format.

As a result, they are missing out on a lot of good talent.

Don't even get me started on working remote.


I could upvote this all day. I was rejected by a company that posts about their need for developers constantly, and it irritates me to no end. I provided a big batch of sample code privately, on Github, demonstrated the apps I've shipped, showed great enthusiasm in their product (I was a happy user long before I attempted to join the company). They see all of this before interviews and then they reject me because of how I named a variable in a 15 minute pair-programming exercise and said I should read Code Complete (I have mostly), promptly ignoring the thousands of lines of code they could inspect. I'm sure there was more to it, but still, left a bad taste in my mouth.


That is pretty insulting, especially given the subjective nature of naming things.

Also code complete is ancient, sure much of it is still relevant, I don't think it is the be all and end all though for the modern programmer.


Many interviewers simply can't get past the power-trip of interviews. This turns the interview into an awkward tightrope of appearing smart/dependable without being intimidating.


I find myself getting nervous on both sides of the table.


Just be glad you didn't end up working with these people.


You're absolutely right.

Remote is a non-starter for 99% of start-ups... and a lot of companies that are selling pants online are searching for PhD-level engineering talent to run their shopping cart.


I've noticed this, too, and been baffled by it. My working explanation is that people tend to hire clones of themselves. If the people making the hiring decisions in that online pants company have PhDs, they'll believe they need PhDs to work on that shopping cart.


> people tend to hire clones of themselves

Winner winner, chicken dinner.

Ask a company that is hiring "is X important?", where X is one of {open-source coding, algorithm design, Ivy league degree, master's degree, MIT degree, Facebook alum, Google alum, presence in Silicon Valley, under 25 years old, over 25 years old, has a github, has a blog}, and you will get a "yes" for each X that the founder has.


As someone hiring at a pants-selling company, I'd settle for somebody who can recognize a many-to-many relationship.

Our salaries aren't that uncompetitive, either. I think it's just that pants are un-sexy.

At the very least I'm trying to sex things up a bit by moving us to a semi-modern stack so we match the desires of the more ambitious talent in the marketplace...


Just checked pants-selling tech jobs; none of them (in the bay area, where the majority of them are, at least) have a requirement under 3 years. The majority of them are senior roles. Was your HR person flying by the seat of their pants when they wrote the job descriptions? If not, then I must be unaware that recognizing many-to-many relationships is a skill picked up after years of employment.


And as for remote work?


Is this a disco-pants selling company? That's pretty sexy.


note: before my inbox overflows with resumes, you still need to have j2ee experience.

(As much as I'd prefer to hire bright people who can learn on-the-job (a category from which I emerged), our current delivery schedule means we don't have the bandwidth. The reasons behind this are beyond the scope of this comment :( )


But... that seems a bit of a wrong approach. If it takes you another 6 weeks to fill the role, that's 6 weeks someone could have been "learning on the job", no? And there's always a ramp up period - you're making an assumption that the person coming in without X years experience in tech Y will by definition not be able to learn fast enough on the job to be productive enough to hit target Z. But by not filling that role, you're definitely not hitting target Z. I do also get that there's time that's spent in onboarding any new hire, but that's possibly equivalent to spending more time hiring no?

I understand your main point, but I just think many companies hold fast to that position far too long, when the alternatives might be better than they think.


I agree. But I'm not high enough on the totem pole to change the model.

Yet.


Ah, the ole sets-out-to-demonstrate-that-there-is-truly-a-shortage, demonstrates-that-the-shortage-indeed-lies-in-the-number-of-entry-level-jobs.


The startup I co-founded is exclusively remote, with almost everyone in a different USA state. I've found a lot of the talent in the area we're looking for (Minnesota) find remote to be either a new idea (I've done just a little remote before), and perhaps a somewhat strange concept (many are not sure if they could do it all day long).

Is there any good strategy to finding remote workers in a specific geographic location? Yes, that's kind of antithetical to remote working, but the state offers tax advantages to employing people from the state... and looking through the entire state of Minnesota should find someone who's fine working from a home office... right? Or do those types of people really primarily live in the SV area?


Not exactly what you are looking for but might be something interesting for you to check out: venturepact.com


Appreciate you're insight here, if anyone knows first hand, I'd imagine it'd be you with your experience on developerauction.


I can't speak to the Valley or any other "top tier" places but I live in a 2nd tier technology city, Orlando. We are the simulation capital of the world, two full sized Lockheed Martin campuses, really any defense contractor name you can think of, some household brand video game companies, etc. Lots of action going on here. The unemployment rate for developers is under 2%. This means that not only do "above-average" developers have jobs, lots of really awful developers also have jobs. It's INCREDIBLY difficult to find talent with under 3-4% unemployment.


There are a variety of reasons for that, in my experience. In the I-4 corridor the "shortage" is driven by two things, primarily: 1) it's just a crappy place to raise a family, what with the poor public services (parks, transportation, you name it) and school systems (gotta fund those prisons and blame the poor and old people for consuming state-subsidized health care and driving up those costs, y'know); 2) companies there are even more ridiculous than the valley with lowball compensation packages (this is especially true of the simulations and video game companies in the area).

People, especially educated and intelligent people, typically don't want to live in a place that values tourism, guns, and private religious school vouchers over parks, playgrounds, and public schools, and that also pay average (at best) industry wages.


How do you local unemployment data on developers? Are there any agencies that collect this data?


Don't tempt me like that. I'm homesick, but doubt I could sell the wife on Florida. :P


I wonder if anyone in NY, SF, or any other 1st tier developer city can comment on the local unemployment rate for either software devs or IT in general. Here in Orlando/Tampa it's been around 2% for YEARS.


I don't know how First Tier Phoenix is... it's mostly business process development here, a lot of banking, and quite a bit of other financial process development, and business management dev.

We've been really low on unemployment for a number of years... the cost of living compared to dev wages (usually >= 80% of NYC/SF wages) is really great, that I would be hard pressed to consider moving to SF, Seattle or NYC. That said, it's a bit hard to find talent, but then I don't do it for a living... Also, I don't think the business people doing HR really "get" the mindset of a software developer in terms of actually recruiting.


Do you want to work with above average people, or do you want to work with great people?


I want to work with people who are good match for a job.

Most projects are not that difficult and uber-tech as founders like to think. Reliable average programmer that generates maintainable code in predictable speed might end up as useful and less annoying then bored genius.

That was annoying thing company I knew did. Candidates were selected for their love of algorithms and detailed knowledge of frameworks etc. Anyone else was labeled "weak".

It just so happened that the work required only surface knowledge. What they really needed was someone willing to do "boring" programming work responsibly and without supervision.

So, hired geniuses were running away faster then you can say bye and those who stayed half assed work.


> Most projects are not that difficult and uber-tech as founders like to think

This requires a certain amount of intellectual humility; as founders would have to acknowledge that it is likely they are not changing the world (they're coloring by number using last week's cool framework), and they don't need the best engineers.


I'd rather not work with above-average people who think they're great.


Agreed. The subset of people who think they're great, and are great is vanishingly small IME. In fact after around 15 years of working as an engineer, I can think of maybe 2 people who fit that subset, and easily 50 who were legends in their own lunchtime.

It's gotten to the point where anyone who proclaims to be an expert in something is immediately suspect to me. The smartest guys I know never have to say it, and truly never brandish their skillset like some kind of gaudy prize. That kind of attitude makes it very easy to be undermined.


So who would you prefer to work with:

a) The smartest guys you know? b) The average guys you know? c) The average guys you know, but tell everyone how great they are? d) The below average guys you know? e) Other?

People who are great, do so not by telling other people they're great (although sometimes you need to have a little PR), but by demonstrating their great:

1. You want to work with them 2. Work diligently to make the team, product, and company better 3. Are smart 4. Are productive

A perfect blend of: talent, hardwork, and ambition.

I've noticed a trend of acceptable mediocrity here on HN. Any mention of wanting to work with people that are exceptional, results in near universally negative feedback.

As a startup, your first hires are CRITICAL. They set the tone of your company, and will carry a lot of the burden alongside the founders. You can't just settle for "good enough to get the job done." You're not just hiring for today, but for the next 2-5 years.

Seed your company with great people, and keep raising the bar.

Myself personally, I'm not great, so I want to work with people who are better than I am, not worse.


So basically you don't want to work with above average people.


It depends on how you measure great.

You can be great as an above average developer, and you can be less than great as an excellent developer.

I'd prefer to measure the complete package.


Fair point, and I agree. You need to measure the whole package.


This 1000x.

I have never found it difficult to hire for my dev shop in San Jose and I don't pay anywhere near what I'm told the "market" rate is. I hire engineers fresh out of no-name colleges, self-taught programmers, former freelancers who decided they wanted the stability of a salary and people over the age of 35.

Basically I will hire the people who won't get the time of day from a lot of the big tech companies and rocketship startups and who wouldn't make it through the interview process there if they get through the front door. And you know what? Most of my hires turn out to be entirely adequate and the duds are not nearly as difficult to deal with as everyone says they will be.

Granted my company is not building database engines or running social networks with a billion users but we do enterprise web apps for good clients and we are profitable. This idea that you have to give every employee 10% of the company and 130k a year to get people who can get the job done is a terrible, terrible myth and posts like this perpetuate it.


Your post is a bit baffling. You state flat-out that your "dev shop" does "enterprise web apps" (almost certainly of the most pedestrian and easily automated variety) and that you target groups filled with people who are either desperate or unlikely to understand just how much you depend on them in order to take advantage of them by paying much less than you should. There's nothing mythological about that.


Wow! How to respond?

First off, while I appreciate your attempt at criticising the type of apps we build for clients who collectively generate billions of dollars in revenue per year I must point out that most web apps could be called pedestrian. Go through a list of the latest batch of YCombinator startups and I think you'd have a hard time finding many whose apps couldn't be called pedestrian too. An app doesn't have to be complex to be incredibly useful and/or profitable and by the way a lot of the work done at companies like Google and Facebook is pretty pedestrian too. So what's your point?

As for paying my employees less than I should, that's quite a statement given that you don't know how much I pay them. All of my engineers make $65-95k a year. At the lowest end is a recent community college grad who is really talented but didn't have the grades or money to go to a 4 year school because he was taking care of his sick father. I was literally the only company he applied to that gave him the time of day.

I constantly hear (from people like you) that my wages are too low and that I'm going to find it hard to hire good engineers but I have yet to experience this. I can't pay $110k to a new college grad or $140k to an engineer with 3 years of experience but from what I see the number of those jobs is far lower than the number of engineers in SV. Should the engineers who aren't going to even get an interview at Google remain unemployed?

I mentioned on another thread that I have one employee who I know is unhappy with his salary. He has about 4 years of experience and makes close to $90k a year but apparently he got it in his mind that the streets of Mountain View are lined with 6 figure jobs. He's a decent engineer who writes adequate code but he's not the type of guy who is going to pass a white board algorithm test. I know he has been looking and interviewing for the past 8 months and he's still here. If I'm taking advantage of him please explain why apparently no other company has offered him the 6 figure salary he (and you!) thinks engineers are entitled to.

By the way when I started in this industry in the 90s my salary as a programmer was the equivalent of about $38k today. I didn't feel taken advantage of or desperate then and thankfully to this day never got a big enough head to feel entitled to a significant income just because I can write some code.


I won't argue with your point re: web apps being pedestrian. I'd be the first to agree, if it isn't obvious. I have multiple comments here on HN where I scarcely hide my negative view of the pervasive fad-hopping "rockstar" macbook wielding silliness that seems to suffuse certain segments of the Valley.

My point wasn't that you won't be able to hire developers adequate to the tasks you require. It was that your target labor pool doesn't intersect with the labor pool target of companies building "database engines" or scaling up to "billions" of users, and so to compare your compensation packages to companies who are looking for engineers capable of building those things is a bit daft.


Wait a minute. I thought your point was that I was praying on the desperate and taking advantage of people who didn't know what they're worth? I'm glad you changed your tune.

By the way I know plenty of people at startups who tell me they can't find decent engineers when they're offering 30-50% more in salary than I do. And 99% of these startups are NOT building database engines or running massive social networks. Most of them actually have web apps that are on par with the web apps we build for our clients if they are even that sophisticated.

The problem as I see it is that a lot of the management at these startups are deluded about the skill set they need and they lack the intellectual honesty to admit that their startup is not Google (yet). They can't find candidates because they are so in love with the idea of talent, too picky and don't want to invest in employee development. I mean it's not the end of the world if a candidate doesn't have experience with Git or unit testing. This stuff isn't that hard to learn and if your employees have nothing to learn from you they will probably be bored very quickly.

On the flip side all these ads for 6 figure positions and talk about salaries and talent shortages has given a lot of below average, average and good but not great engineers (which make up 99% of the labor pool by the way) the mistaken impression that anybody with a few years experience who can build a crud rails app can make a couple of phone calls and land in a 120k a year job. It's nothing but a mirage. For every 1 engineer who can get one of the $$$ jobs there are 50 who could do a dozen interviews and get no offers.


I didn't change my tune. I still think that you're preying on and taking advantage of the desperate and naive, just like the startups you mention in this comment want to do, but paradoxically expect to also be "rockstars." It's a different kind of naivete the startups are after--they're after bright, gifted engineers whom they can convince to take feel-good euphemisms ("change the way X is done" or "disrupt Y" and HAVE FUN doing it) in trade for reasonable compensation relative to the value the engineers provide.

Those startups should be hiring your developers at the rates they offer, and you should be paying those rates. But because the startups you mention think they need the CS equivalent of Einstein and Feynman to run their CRUD stack, your developers are ones they pass on (and then whine about a talent shortage), and allow you to pay the below-market rates you get away with, because in your segment of the market there is, apparently, an excess of labor available. Your description, in other words, isn't a counter to my point.


It's lovely that apparently you believe anybody who can build a crud app deserves a 6 figure job but reality is based on the supply and demand, not your utopian dream world.

The bay area is expensive but I am proud that I can provide salaries substantially above the median household income in the US with decent benefits. How many people do you provide $65-95k a year jobs to? When was the last time you hired people who had been rejected by every other company they applied to because nobody was willing to look at their potential and take a chance? What percentage of community college graduates do you think make $65k a year to start? Heck what percentage of 21 year olds you even think make $50k a year? It's easy to criticize me and tell people who don't have 6 figure jobs that they're selling themselves short but hey talk is real cheap.

By the way a ton of the startups offering those 6 figure salaries don't earn enough profit to pay those salaries. Their investors are paying those salaries. What do you think is going to happen when the money runs out and there are no more sinking ships to jump to? Will you suggest that the unemployed engineers cling to their tulips?


enterprise consulting teams face a perverse incentive to be less efficient than product teams - a consultancy can actually kill itself by being too efficient


That's not always true. Most of our projects are fixed price so efficiency is very important. If the scope doesn't change and we're inefficient I lose money.


> one of our interviewers felt threatened by you because you're more knowledgeable so he veto'd you

I interviewed at a place and turned them down (located in SF) for this very reason. I could immediately tell that one of the owners did not like me. After wrapping up my entire interview process one of the owners thanked me and told me that they would reach out to me with more information. I went to thank and shake the hand of the other owner (he had wandered off).

(They brought me in on a friday and they had a very open layout, engineers wandering about, beers in hand...etc)

I opened with a thank you and, "I spoke with XYZ and he said you guys would be following up with more information, i look forward to speaking with you again!"

He looked at me and said, in a very short and harsh tone, "Oh - I guess we will then..hm"

I was extended a job offer the next day and immediately began receiving terse calls that I needed to forward more information and get it to them NOW (from the one who was quite brash with me earlier).

I thanked them and turned down the offer.


It's probably immature of me, but did you say "I have decided not to move forward at this time"?


Something to the effect of that - unfortunately when they extended the offer I was away at a conference and I had to do it over the phone in a loud hall. I was very unhappy with how the entire exchange went, but overall I am glad I did not take the job.


Modus operandi seems to be:

1) Incorporate in SF for culture reasons or to allow founders to optimize their commute.

2) Find out it's extremely hard to find people in SF as anybody who lives there pretty much has to stay employed to justify the rent.

3) Find out people from Peninsula / South Bay / East Bay are not as excited about 45-60 minute one way commute as you thought they'd be.

4) Complain about engineer crunch.


Companies often give generic responses like "we feel like there isn't a match" to cover themselves legally.

More helpful responses can accidentally open you up to discrimination suits, and given the option of (A) bulletproofing every helpful response to make sure it won't come back to bite you and (B) just giving a generic and safe response every time, you can see why they'd choose the latter.


I will add that people are also very uneven in how they receive feedback. As John Scalzi writes, "[...] there are a lot of people who, when they say, 'I’d love feedback,' actually mean 'I want a hug.'" [1]

Even those who actually want feedback are often unprepared to hear it. Thinking back, some of the biggest things I struggled with were things that were invisible to me. If I try to imagine explaining some thing to my younger self, my options are a) explain it politely but in a way that I wouldn't get, or b) being so blunt that I get upset or defensive. E.g., what I once saw as being passionate about getting at the truth is something I now see as me acting like an arrogant, argumentative, know-it-all jerk.

Plus, feedback is much harder when it isn't interactive. When I do give feedback, it's always at the interviewee's request, it's always right after the interview, and it's always in person. Then it's pretty easy to gauge their emotional state, give them the feedback that's useful to them, and refer to specific examples that are fresh in our minds. Doing that a couple weeks later in print would be a nightmare.

[1] http://whatever.scalzi.com/2007/01/23/what-to-know-before-yo...


Giving vague feedback to disqualified candidates may be necessary to cover lawsuits against the hiring company, but does nothing to make the would-be candidates grow or improve.


+1.

Is weird. I have more than +17 years on this job, and when I have apply to some oportunities (online) for the kind of things I could be good some companies expect to hire me testing for the things that are not related to the job itself!. Like testing algorithmic stuff instead of database (I'm a database/crud/backend guy).

I could understand the use of some general test, but the weird thing is that nothing at all related to the job is used.

I remember from some big internet recruitment agency that use a lot of time with me, but at the end I fail at them because they use the final testing unrelated to all the things hours and hours before we talked about.

Is like hire a mechanic, and ask only algebra stuff.


Indeed. This article says "if you’re going to recruit outside of your network (usually a mistake, but sometimes there are truly no other options)" WTF? You think you know all the good people already? Such a narrow minded view.


I highly doubt they think they know all the good people. It's just a much better idea to hire someone you or someone you know and respect have had a good work experience with. Hiring someone off the street opens you up to a lot of unknown, most specifically if they're a good culture/team fit.


So you think you know all the people who are "a good culture/team fit", and they aren't even particularly good. And then you complain about how hard it is to hire people? Of course its hard to hire people if you limit yourself to the thirty you know.

Hiring people you don't know opens you up to opportunities to expand your horizons and go in new directions. If a good culture fit means people you already know then you are incredibly narrow minded about culture.


I find it ironic you're accusing either me or the author of narrow-mindedness but your responses clearly indicate you haven't comprehended either of our points.


I do agree that you or your (extended) network don't know all the people worth knowing as there are always gems in random pool of people, but I think the odds are a bit better, at least from my own experience, finding them through the people in your network. How it usually pans out is that you ask your network "we look someone to do X, does anyone know anyone" and they ask their network and the loop continues until a name or a lead to a name comes up.


I'm sure they have hundreds of facebook friends...


"I'm honestly starting to believe that it isn't hard to hire"

If this were true, then engineer salaries would not be rising so much. The demand for good engineers vastly outstrips supply.

Also, any explanation that requires you to posit mass irrationality is usually a bad one.


That's true but a sloppy way to say it. A more precise way to characterize his argument is that extraordinary claims require extraordinary evidence.

Then: is it an extraordinary claim to suggest that the hiring processes used by most tech companies are doing a bad job of selecting candidates? Are engineers hired through these processes but then fired within the first 6-9 months a rarity? Is turnover generally low? Is hiring so risky that companies working in the middle of a "talent crunch" are demanding that candidates take temporary contracting roles so they can evaluate performance? Is the typical startup engineering team staffed by engineers uniformly capable of production? Are tech company hiring practices carefully designed and executed, or is it more the norm that they're delivered by whatever engineers happen to be available for candidates when they show up? If the latter is the case, isn't it instead an extraordinary claim to suggest that these processes could work at all, given that they're essentially stochastic?


> Is hiring so risky that companies working in the middle of a "talent crunch" are demanding that candidates take temporary contracting roles so they can evaluate performance

Heh. Somebody had to say this. I don't know what the difficulty is all about. In the SV I have been more to more than 1 interview where I solved all the questions(in a day long interview) and didn't get the job.

Not sure what the high bar is all about.


Do you have any data to back up the engineering salaries rising "so much"?

From where I am standing engineering salaries have stagnated for the last 5 years, possibly even 10.



My observation has been that while average compensation isn't trending upward that much, variance is increasing a lot. I've seen market research which bears this out. Especially among top candidates straight out of school, salaries have gone up a lot in the last few years.


Allowing for inflation, since the dotcom bust.


Are salaries actually rising so much ? From survey below, they've risen 2.3% last year, 2.1% the year before ... my memory of other surveys is similar ... doesn't even seem to be rising faster in SV ...

(http://www.computerworld.com/s/article/9237985/IT_gets_its_g...)


This is supposing that the all of the excess demand for good engineers is coming from companies that have gotten good at hiring and have moved passed these "we only hire the 0.1%" mentalities.

In a lot of places there might be extra, hard-to-satisfy demand because their processes for sifting through the supply of developers is poor or not working.


Mass irrationality happens all the time.


The Bay Area is a great place to be if you're an engineer. You get many job offers in your inbox every week. Your friends have long since stopped asking you if you want to work at their startups, but you know just how quickly that would change were you to signal that you wanted a new job.

I think the crunch is at least somewhat real. We've hired a couple great people we met through Hacker News -- I couldn't have imagined them working out any better. And recently I've been trying to hire more people at my startup and, frankly, it's tough to find good people.

We've worked hard to make our interview process quick, insightful, fun, and accurate. Do we do pair programming? Sure. Do we ask about data structures? Absolutely; any programmer worth anything knows something about data structures. Do we do whiteboarding? Yep. Programmers at our company, it turns out, need to be good at communicating with humans as well as with computers. Do we give people answers immediately, and tell them why we are rejecting them? Yes, we do. We are more humane and reasonable than so many other places.

(It drives me crazy how many bad interviewers there are out there. Some of my friends recently interviewed for entry-level positions and some shall-not-be-named companies in SF and were treated terribly: given the run-around by the recruiters, brought back in the office 4 separate times for interviews, and ultimately rejected by at least two companies when they decided they didn't want to sponsor H1Bs after all. Insane. In a war for talent, you'd think practices like this would cease.)

Anyway: this is all to say, I'd love to meet your friends or anyone else out there who's looking for a programming job. My colleagues and I are not awful people. We like to brew beer and write code and help make the world a better place. We have a book club and eat good food. Oh, and we pay well and sponsor visas and are generally, you know, warm and friendly folks.


"Absolutely; any programmer worth anything knows something about data structures"

Can you qualify this a little bit? I haven't used data structures since university. What are you expecting programmers to know and why?


I'm curious to know what kinds of problems you work on, then?

I find that I need to have a strong working knowledge of data structures every day. Hashes, lists, trees, and so on. Knowing how to apply data structures in production code matters a lot: the difference between a hash lookup and a linear scan, for example, can mean the difference between a reasonable response time for an application and an absolutely terrible response time.

In interviews, I have found that good understanding of these data structures (and the algorithms one uses to manipulate them) correlates strongly with ability to solve larger and more complex problems.


If you haven't used a list, array, map, set, tree, etc since university then you probably aren't writing code for a living.

Well, I guess it's possible, but I find it hard to imagine.


I wrote real-time signal processing code in C for 5 years. I used lists and arrays. Indirectly I used queues as well, but those were buried down in the mailbox code in the middleware. Also was not allowed to malloc and free during runtime or use recursive calls without a very good reason. No DFS or BFS to be had anywhere in the code. No sorting, except for a couple calls to the Standard Library qsort function. My algorithm text of choice was Skolnik[1], not CLRS.

Guess I wasn't writing software for a living. Plenty of SV companies sure got that impression.

[1] http://www.amazon.com/Radar-Handbook-Edition-Merrill-Skolnik...


You used lists and arrays... so you used data structures?


I don't consider an array much of a data structure. Its just a contiguous block of memory with a shortcut for addressing inside. List is at least a "proper" data structure. If "data structure" is defined that broadly, then its nearly impossible to write a non-trivial program without data structures. Its like trying to write without sentences.

However, when people around here refer to "data structures" they mean a whole lot more than those two. All of the data structures listed in the post I was replying to are widely considered "standard" data structures that are used all the time. I was pointing out that I worked in a significant, operational codebase of >150,000 lines total that used only the most basic of data structures, and used those sparingly.


Fair enough. I understood that, I was being kind of a dick. Sorry.


You have a point. What I meant was I haven't used theoretical knowledge of data structures. Arrays and hashes does not count :) That's just basic programming knowledge.

Whenever someone uses the term "data structures" I think about the inner workings of different types of B-tree's. And since I don't know the inner workings of the more advanced data structures, I would probably disqualify myself.


I have this theory that it all goes back to Joel On Software's article from 2000 that said it you should find any possible reason to not hire people.

http://www.joelonsoftware.com/articles/fog0000000073.html grep for "no hire"

The things in that article that are today considered vastly out-of-fashion (probably too much, the same way they were too in-fashion in 2000) are numerous, but this "


A lot of times an otherwise great engineer will be passed over due to culture fit.


I'll take those dozen friends -- http://www.hired.com/recommend :)


I have got the "We are not going to go forward with you but we are not going to give any reason for that either" more than few times now.

Happens one time, you think it was chance. Happens couple of times, you think you think there might not have been a cultural fit.

But you can't help but start questioning your skills as a developer sometimes. Times like those I could really use a reason why I am not a good fit. That includes "We don't think you are a good developer" because knowing the problem, I could try and fix it.


> Seriously, if you're really desperate for engineering talent, I can give you contact info for a dozen or so of friends who are ready to work for you RIGHT NOW (provided your startup isn't an awful place with awful people, of course) and probably another dozen or two who would work for you given enough convincing.

How can I get in touch with you? My email is in my profile page.


"one of our interviewers felt threatened by you because you're more knowledgeable so he veto'd you"

does this ever actually happen? it would never fly during any of the interview processes I've helped conduct.


How would you even know when things like that happen people don't usually come out and say it in blunt terms like that.


Someone who scores pretty well objectively and is getting subjectively tanked by one person on the loop is something to explore more deeply.

3 out of 4, there's something legitimate there. It's possible to be coached through some of the objective parts of many interview processes, ours included. That's readily true for an internal referral (and could be innocuous rather than malicious), and even someone using glassdoor to prep could maybe skate by a couple questions, but someone will usually sniff it out subjectively.

1 out of 4 it's a "personality clash" which could be code for being threatened by someone's technical superiority, rather than simply being annoyed by someone's superior PITA-ness

If the same employee is constantly on the personality clash side of things, it's easy enough to remove them from future loops (and possibly the company, if their inferiority complex is rooted in actual inferiority).


Yep went for a job recently where I had several more years experience that the person in charge of the team :-)


I'll shamelessly hijack here: I'm an engineer with microcontroller, python, C++, matlab and java experience (5 years all). PM for more info.


I agree with this strongly. What I usually say is I'll believe there's a shortage of great engineers the day that in-house recruiters begin contacting me. My accomplishments are right there on LinkedIn, if you can assume I didn't lie, for one phone call. Until that happens, I have to conclude companies that allegedly can't hire are barely trying.


How do you list yourself on LinkedIn - as looking for a job? For someone such as myself looking for a talented engineer, unless there is a strong indicator that someone is looking for a position, I've found LinkedIn has not provided too many responses.

I tried one of the more expensive LinkedIn accounts awhile back, contacted about 10 people that all had mobile experience (my company makes an iOS and Android app for higher education), and only got 1 response to my message.

I assume part of it is that my message was read by these people, but they looked at it as "spammy," even though I wrote it individually to each person and tailored the message for each person. I've gotten messages from random people on LinkedIn, and it's easy to feel messages on there to be spammy.

So having my time on LinkedIn essentially feel like a huge waste made me question LinkedIn. Is it that I used their email system, and I should have instead setup a phone call?

Perhaps I am communicating a job that is not particularly interesting? I think an iOS and Android app with web backend, using the tech we are using (native languages for the native apps, and NodeJS for web), would be fairly attractive to a variety of developers though.


My problem with LinkedIn is that I rarely get contacts about jobs I am interested in or truly qualified for.[1] I'm honored to have been contacted by all of the Big 4 via LinkedIn. I'm bummed that they always contact me about DevOps type jobs. Could be that I need to write up my experience better, but what I have down there should not be giving the impression that I am a DevOps guy.

[1] Note: I am not actively looking and do not have this indication set on my profile. All contacts I am referencing are purely passive pings.


I've been listed on linkedin as actively looking for a job for 4 months now. Granted, my profile could use some work, but the few replies I've received didn't mention anything listed on my profile other than my name.


I'd be curious to talk offline if you have a few minutes - want to send me an email? nathan@[hn username].com


GuiA wrote: I'm starting to be a bit disillusioned with this whole "we can't find great people" spiel that a lot of startups put up.

----

LOL...it's a scam to depress wages. Immigration always was a scam by the upper class.




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

Search: