The Engineer Crunch
blog.samaltman.com
blog.samaltman.com
I co-manage a consultancy. We operate in the valley. We're in a very specialized niche that is especially demanding of software development skills. Our skills needs also track the market, because we have to play on our clients turf. Consultancies running in steady state have an especially direct relationship between recruiting and revenue.
A few years ago, we found ourselves crunched. We turned a lot of different knobs to try to solve the problem. For a while, Hacker News was our #1 recruiting vehicle. We ran ads. We went to events at schools. We shook down our networks and those of our team (by offering larger and larger recruiting bonuses, among other things).
We have since resolved this problem. My current perspective is that we have little trouble filling slots as we add them, in any market --- we operate in Chicago (where it is trivially easy to recruit), SFBA (harder), and NYC (hardest). We've been in a comfortable place with recruiting for almost a year now (ie, about half the lifetime of a typical startup).
I attribute our success to just a few things:
* We created long-running outreach events (the Watsi-pledging crypto challenges, the joint Square MSP CTF) that are graded so that large numbers of people can engage and get value from them, but people who are especially interested in them can self-select their way to talking to us about a job. Worth mentioning: the crypto challenges, which are currently by far our most successful recruiting vehicle (followed by Stripe's CTF #2) are just a series of emails we send; they're essentially a blog post that we weaponized instead of wasting on a blog.
* We totally overhauled our interview process, with three main goals: (1) we over-communicate and sell our roles before we ever get selective with candidates, (2) we use quantifiable work-sample tests as the most important weighted component in selecting candidates, and (3) we standardize interviews so we can track what is and isn't predictive of success.
Both of these approaches have paid off, but improving interviews has been the more important of the two. Compare the first 2/3rds of Matasano's lifetime to the last 1/3rd. The typical candidate we've hired lately would never have gotten hired at early Matasano, because (a) they wouldn't have had the resume for it, and (b) we over-weighted intangibles like how convincing candidates were in face-to-face interviews. But the candidates we've hired lately compare extremely well to our earlier teams! It's actually kind of magical: we interview people whose only prior work experience is "Line of Business .NET Developer", and they end up showing us how to write exploits for elliptic curve partial nonce bias attacks that involve Fourier transforms and BKZ lattice reduction steps that take 6 hours to run.
How? By running an outreach program that attracts people who are interested in crypto, and building an interview process that doesn't care what your resume says or how slick you are in an interview.
Call it the "Moneyball" strategy.
Later: if I've hijacked the thread here, let me know; I've said all this before and am happy to delete the comment.
Can you speak to that a little? I'm reading it as either programming challenges in a real environment, or analysis of previous code snippets submitted. In either case, I'm happy to see more companies doing this.
I'm always looking for ways to improve my interview skills, but I want to do it honestly. Studying to the test isn't fun for me, I would rather hack on something.
The trick is, to work in a recruiting context, you also want those tests to be standardized and repeatable. A lot of companies fall down on this. They have candidates do "real work", often in a pair-programming context. There a bunch of problems with this:
(1) "Real work" usually isn't standardizable, so you can't compare candidates
(2) Signal quality from the test is intensely dependent on who is doing the work with the candidate
(3) Two different candidates might end up getting "tests" that are wildly different in terms of predictive power
I have a bunch of ideas for pure software development work-sample tests, but I'm not ready to share them. The idea is simple, though:
* It's a realistic exercise that approximates actual day-to-day work as much as possible
* Every candidate gets the same exercises
* The exercises have objective (preferably gradable) outcomes
I want to keep my hands on a keyboard and I don't like airplanes (which rules out consulting) so I've applied at a lot of companies to be a ``security engineer''.
I can't tell you how many well-respected companies ask me to write min-heaps, depth-first searches, etc. I don't understand what they are asking me this for...It isn't even close to a realistic representation of what my day-to-day responsibilities would be. It is also an immediate turn-off....
Cramming these questions online does not work. I don't know what Facebook/Google et al are doing but I can spot a candidate who studied interview questions from a mile away. They may bang out a DFS by rote but that's just warmup; they should be able to talk about details, deal with changing requirements, discuss the algorithm/efficiency/design of their solution, be able to talk about underlying data structure primitives, etc.
To be fair the grandparent was talking about a specialized position in security engineering for which the generic coding interviews could be a bad match.
It's no surprise these companies rejects many really good hackers (at least from people I know... yes, I admit the small sample size) and accepts these just optimize for algorithm preparations by doing a set of online coding problems.
I wouldn't ask a candidate to implement a min-heap (mostly because it's kind of obscure and I'd have to think about it) but a depth (or breadth) first search is something I'd expect any competent candidate to rattle off in a heartbeat, just because it's such a fundamental cs principle that gets used in lots of places and, unlike things like sorts, doesn't really have a good library to fall back on in practice.
We have a front-end and back-end test. I'm sure that at some point we'll grow large enough that solutions to our test will be posted online but I'm not going to worry about it right now.
When was the last time you applied for a software developer job?
Who asks programming puzzles? Read interview postmortems. The answer appears to be "everyone". We are probably just talking past each other: asking someone how to sanitize an input or parse an HTML document during a face-to-face interview is a "programming puzzle".
What does it mean? Throw engineering problems your CURRENT team has solved in the past at new candidates. I have seen only ONE startup ( even among the nastiest of hard problem seekers ) GET how substantial this is. So many of these companies are too busy to think about smart sourcing, at their own peril.
Test new engineers off past solved problems. End of story.
we interview people whose only prior work experience is
"Line of Business .NET Developer", and they end up
showing us how to write exploits
I am surprised you sound surprised. Do you label people by the kind of technologies or jobs they held? I mean, you argue against it, which I think is a positive argument, but somehow it seems that the labels people place on technologies and business domains are somehow rubbing off on the people who were using them. Feels myopic to me.Or: Zero prior software security experience. Zero prior Rails experience. Zero prior Ruby experience. Hired through a resume-blind work-sample process. Looks at Rails for the first time, 30 minutes later reports a vulnerability that results in a CVE and a Rails patch. Repeats. Now runs Rails internal review board.
I have other examples. Worth knowing: we aren't Rails neophytes (for instance, we're one of the firms that reported the YAML code execution bug) or for that matter crypto neophytes.
It's not about what technologies you use; I don't so much care whether someone writes .NET code. It's the "absolutely no prior work experience doing this and no flashy resume to get them in the door" that stick out to me.
It's just that Hacker News biased to a certain section of society.
At my last company, we did a traditional interview plus a pair programming interview. Eventually, we moved the pairing interview up in sequence, because it gave us far more information than the traditional stuff. It let us see what they could really do, and told us a lot about how they worked as part of a team. Mere questions don't get at that.
We also paired most of the time in the course of our work, which gave us a lot more room to take hiring risks. If somebody was bad, the amount of damage they could do was limited. If somebody was just uneven in skill profile, pairing let us take advantage of their strong points while mentoring them in their weak points.
I'd love to hear what else people using a Moneyball approach are doing to reduce risk and increase yield after hiring.
That sounds right to me, but I'm wondering if there's any evidence to support the claim.
Of course, this assumes that a trial (say, 30 days) can give a lot more information about the long-term potential of the candidate than a day-long interview, which feels like a reasonable assumption to me.
I didn't provide evidence, but did point out what I see as a smoking gun, which is the trend of temp-to-perm hiring.
Temp-to-perm is not conventional hiring; if you do it, you are not hiring the way AmaGooBookSoft hires. That you would do it at all suggests that the conventional hiring process isn't effective.
At the same time, temp-to-perm makes it harder to find people; it (almost) has to, since asking a candidate to accept a monthlong (or even weeklong) contract is onerous. People forget that candidates often interview at multiple companies; a week off work seems reasonable when you don't consider that it's a process that might repeat 2, 3, or 4 times for a given candidate.
Excellent information. You gave some thought to the process and stopped going for the legacy solution to the problem.
Would like to point out to anyone that you can actually do a version of this even when the company isn't doing the last 1/3 and being the one that is creative. That is you find a way to separate yourself from the crowd in a way that removes the resume, interview and credentials from the evaluation process.
My example of this is to go for the job that isn't being advertised or that the company isn't even hiring for so you aren't competing with the other person with a better resume.
I did this when after I sold my first company I landed a sales job at a tech company never having sold that type of product and really having very little experience (in that) at all. They weren't hiring so I wasn't being compared to anyone else just to whether I could do what I proposed to them. For that matter anytime I sold a product (for something for two different new companies I founded) at the start by cold calling I was doing a version of the same thing. They just evaluated whether they needed the product/service not whether I had something better than the other people who visited.
I guess the bottom line is whether you are looking or "looking for" you need to do outreach which is really just selling in a creative fashion.
When I got the first phone screen, I mentioned that your hiring page said to expect about a month-long hiring process. The response was that that was for someone with experience in the field. OK.
Since I had no relevant knowledge/experience, you (I'll use "you" to refer to Matasano) sent me WAHH, and said to read it, and contact you when I thought I was ready. I wrote back, asking how I'd know when I was ready (remember: no knowledge or experience). No response, ever.
I hope the prerequisite to interviewing at "entry level" in Matasano isn't full mastery of everything covered in WAHH. The last of my textbooks that I've looked at and thought "I know everything in here" was my middle-school algebra text (this one: http://www.amazon.com/Algebra-Structure-Method-Book-1/dp/039... ). And there could easily be something mentioned in there that I don't know; I made the determination by looking through the table of contents. Every one of my later textbooks mentions something I don't know in the table of contents.
I don't think I've just failed to accomplish anything at all since taking middle school algebra, and even restricting discussion to school math classes I have some accomplishments beyond that point. So the impression I got was of a ridiculously unachievable standard for interviewing, that maybe I'd be ready to interview after several years of work in the field. Or maybe not.
2. you sat around and waited for them to contact you. they have other, better shit to be doing, i assure you of this.
3. being aggressive and having initiative and believing in yourself is a big part of getting hired. if you don't have those things, you probably won't get hired in a competitive environment.
> What does "ready" mean?
That's hardly an irrelevant question; it's impossible to know that you're ready without knowing what being ready entails. Are you trying to select for people who are confident they can already do anything no matter what it is?
I kind of hoped you are at least looking on our answers or something :)
Given that background, given that people are trying to improve the recruiting of engineers, given the penalty applied to people who recruit for the standard package, given the rewards for those who recruit accurately to their needs, .... why does the "irrationality" persist?
If someone doesn't make the cut, what does Matasano say? Do you say what didn't work out, or is it the industry standard and horribly antiseptic "we have decided not to move forward at this time"? I'd understand the latter, but if there's a place breaking that mold, I think it might be you guys.
I'm assuming you are not interviewing every or even most.NET developers and trying your luck to find the one who can write that great exploit. So, from all the candidates with resumes that would be considered subpar before the process overhaul, how do you determine which ones have potential to write that great exploit?
We recently started putting sales candidates on the phone to cold call. The most critical thing we measure is how many minutes they spend on the phone. It's been a pretty strong signal of how they would perform if we were to hire them.
If you need 2 sales guys, hire 3, give them a month and fire the worst one.
That is horrifying to me as a developer, but apparently this is fairly standard for sales.
In other words, is the success of the sales people about spending more time on the phone in total? Or is it about spending more or less time per call?
Thanks in advance!
* Got into Ruby and Go (trying to get a feel for what language felt most comfortable for bit manip.)
* Got into assembly (for fun so far)
* Got a good appreciation for bit-level operations
* A bazillion more little facts and insights that help in daily work life
I bet if you polled how it's helped other people there'd be all kinds of great examples. For work, I'd say the best impact has been a personal drive to pentest our own product, resulting in a lot of bugs found and fixed. That included managing to root our servers via a product flaw, which was scary and amazingly fun.
So yeah, thumbs up, don't stop now (please).
As for the above catering to newcomers, sure but it ramps up incredibly and pushes some boundaries if you've never touched that stuff before.
Sorry, I'm a bit confused about this sentence. The roles your selling are the roles you're hiring for? I guess even if that's true I don't understand what you mean by selling roles before getting selective. Would love some clarification!
For instance on the challenges I liked that you put (largely paraphrased here) 'If you breeze through these we might want to talk to you.'. Having ploughed/struggledto set 5 now it's almost daunting to think people DO breeze through that. Granted, the stats you've published so far indicate those people are far and few between. It kind of puts you in your place, but the exciting part comes from knowing there's so damn much to learn still.
If a candidate doesn't have "several hours" to engage in a process intended to lead to both sides investing thousands of hours over the coming several years, they're welcome to apply elsewhere.
For every time I've interviewed, I've done several hours of homework on the company, understanding their competitive position, reading their financials (if a public company), founder bios (if a startup), bios of the people I'll be meeting with, etc.
I'm not doing this out of desperation; I'm doing it because I'm picking the company just as much as the company is picking me. Conversely, I'm willing to "jump through hoops" provided I believe that the company believes that hoop is helpful in selecting strong employees, because ultimately, I want to work at a company with strong colleagues and the hoop is a signal that the company wants the same thing.
Fair disclaimer: I haven't applied anywhere in the last <long time> and in my 20s, I enjoyed the take-home programming challenges. To this day, I recall enjoying Acclaim (game company)'s take home test that was rudimentary AI for a turn-based very simple game. I crushed it, flew out to interview, and got an absolutely laughably low offer (par for the industry), but I still think fondly of "doing that homework".
I've also been asked head-scratchers before. I had a recruiter ask my GPA and SAT scores for a role in my late 20s. Wait, WTF did you just ask me?! I answered, and that firm (D. E. Shaw & Co.) was the most-talent dense firm over 5 employees that I've ever experienced. If I'd have indignantly replied that my SAT scores were irrelevant to the position and none of their damn business (both are arguably true), I'd have missed out on one of the best work experiences of my life (and two handfuls of those colleagues are still working with me today, 3 firms and 17 years later).
Anyway, sorry for the long response.
Shorter version: You're picking the company. Do your homework.
They're picking you. Do their (reasonable) homework if you believe they're assigning it for the purpose of giving you great future colleagues.
I'm currently employed, so I'm only spending 1-3 hours per week on my search.
I have enough experience, education, and honors in school that you shouldn't waste my time with pointless homework. I've never seen a job programming test that was a more accurate measure of ability than the homework and tests I took in school.
Look at it from the candidate's view. I send out a bunch of resumes. About 5-8 of them want me to take a technical test before they call me or before I meet them. 1-2 of them are willing to proceed directly to an interview without insulting me and wasting my time first. So, I focus my energy on the people who take me seriously and treat me like a professional.
It's physically impossible for me to do a technical test for everyone who demands it. I don't have the time.
If Google or Yahoo asked me for a several hour pre-interview screening test, I'd probably do it. If your no-name startup is wasting my time before an interview, I'll just look elsewhere.
Also, in my experience, a pre-interview screening test is anti-correlated with good work environments. Of course, they'll say I'm "not a team player" for refusing the test.
After I did a bunch of pre-interview screening tests, and only rarely progressed to the interview stage after doing the test, now I don't bother. I know my solution is correct, but still not even an interview after I do the test. For the handful that did interview me, I wasn't impressed by them. Why am I wasting my time with people who don't respect me? Why should I waste a couple of hours for the privilege of maybe getting a chance to talk with the hiring manager, who's already pre-qualified himself as a twit by making me take his stupid test?
I'm even reluctant for post-interview programming tests. Once, someone asked me to do an assignment after the interview, and implied I'd get an offer if I passed. I did it, I know it was a good solution, but no offer. There's even people who try to put free consulting in the test, like the guy who asked me to write a program that connected to Interactive Brokers and executed VWAP trades.
I'm even reluctant for on-site tests now. Just a couple weeks ago, someone asked me to do a test, said I could use whatever language I wanted, I picked C/C++, and then they laughed at me for using pointers. Why bother?
If you know your stuff, you should be able to evaluate someone by talking with them for 15-30 minutes. If you aren't willing to spend 15-30 minutes evaluating me, based on my experience and education, then I'm not wasting a couple hours on your stupid pre-interview test.
Yes, I may be missing out on good jobs, but they are missing out on a good candidate.
I think the question is: could they be used against you?
I don't see how they couldn't, and you wouldn't know.
You were voted up because it's a detailed and insightful comment. Thanks for sharing.
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 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...
(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.)
Not too surprising this strategy doesn't work out too well.
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.
Oh an that was direct from school I didn't even get any A levels :-)
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.
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.
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.
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...
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?
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.
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.
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.
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.
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 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.
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.
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.
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...
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.
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.
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.
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?
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.
From where I am standing engineering salaries have stagnated for the last 5 years, possibly even 10.
(http://www.computerworld.com/s/article/9237985/IT_gets_its_g...)
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.
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.
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 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.
Well, I guess it's possible, but I find it hard to imagine.
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 "
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.
How can I get in touch with you? My email is in my profile page.
does this ever actually happen? it would never fly during any of the interview processes I've helped conduct.
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).
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.
[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.
----
LOL...it's a scam to depress wages. Immigration always was a scam by the upper class.
Same here. I always advise startups to err on the side of generosity with equity.
In my vastly more limited anecdotal experience than both of you guys', companies are not just stingy with equity, but they are also overly stingy with salaries.
Generosity begets generosity; treat your team better than they expect and the rewards will come naturally.
- How much more would this person make at a big company? ($50k?)
- What's the time frame for success? (4 years vesting?)
- What's the distribution of possible exits? (5% chance of $100M, 30% chance of $10M acquihire, 0.1% chance of $1B)
Under these assumptions, you hit about 2.3% to make the expected values match assuming absolutely no investor preferences (which is itself silly).
It would be interesting to use real seed fund data to generate the distribution and proper salary comparisons.
http://www.avc.com/a_vc/2011/04/how-to-allocate-founder-and-...
Essentially, figure out what market rate is for their salary. Since you'll likely pay a discount rate, the equity should bring them at or above market.
So if Market is 105k, and I'm going to pay 55k, I will give you 50k in equity (based on a reasonable valuation--assuming you don't have an actual valuation).
Using a flat rate percent can get tricky, and you can easily end up unnecessarily diluting yourself.
I also think it's important to think of your first 1-3 hires as Key hires, the same way a new CEO or VP of Sales would be a key hire post Series-B. You want them to get a big chunk of money if there is a positive liquidation event.
If market rate is $105k and you're paying me $55k in cash, then I'd want $100k in equity, not $50k. This is something many startups get wrong. It isn't a one-to-one swap.
Even if you have some sort of reasonable valuation, equity is worthless until there's someone to sell it to. There needs to be an uncertainty/illiquidity multiple applied. Otherwise, I'll take the cash. That has literally always worked out to my benefit throughout my 15 year career in software development (even working for companies that got acquired for 9 digits).
Is that 50k in equity every year? Because otherwise, this seems like a terrible deal. Why would any engineer take an offer like that?
I often see a disconnect between perceptions of expected success of founders and engineers. I've observed this is particularly pointed for non-technical founders. To generalize, a young entrepreneur with some success under his belt is starting a company. As far as he's concerned his company is all but guaranteed to succeed: he's got the experience and sophistication necessary to make this happen, the team he's hired to his point is top-notch, he's got the attention of some investors, the product is well thought out, etc. He approaches an exceptional engineer and extends an impassioned invitation and... the engineer balks.
What happened? Is he delusional about the company's prospects, thinking he's got a sure fire hit when he's actually in for a nasty surprise once his hubris collides with reality? Is the engineer a square who would rather work a boring job at a big company than live his life, and wouldn't be a good fit for the team anyway?
I propose a different resolution: our confident businessman is certain about the success of the company, not the success of the engineer as part of the company. He knows the company's success is going to rocket him into an elite circle of Startup Entrepreneurs. The engineer, on the other hand, doesn't see the correlation between the company's success and his own: even if the company takes off to the tune of eight to nine digits, his little dribble of equity is just barely breaking even over the comfortable stable position he's in now.
First, sf and the valley simply don't pay engineers well enough. This is the second, striving to become the first, most expensive housing market in the united states. $150k sounds great here until you look at that as a fraction of your housing cost and compare to anywhere else in the country, including manhattan (because unlike here, nyc isn't run by morons so they have functioning transportation systems). I don't want to just quote myself, but all this still applies: https://news.ycombinator.com/item?id=7195118
Second, immigration is a crutch to get around paying domestic employees enough. I see net emigration from the valley amongst experienced engineers in their 30s who start having families and can find better financial lives elsewhere. If companies paid well enough that moving to the bay area wasn't horrid financially, they'd find plenty of software engineering talent already in the united states. But consider my friend above: $165 total income in the midwest is (compared solely to housing cost) equivalent to approx $450k here, when holding (housing costs / post tax income) constant.
edit: not to mention, companies still don't want flexible employment arrangements or remote work. I'm a data scientist and I'm good at my job (proof: employment history, employers haven't wanted me to leave, track record of accomplishments.) I'd rather live elsewhere. 66 data scientist posts on craigslist (obv w/ some duplication, but just a quick count) [1]; jobs that mention machine learning fill search results with > 100 answers [2]. Now check either of the above for telecommute or part time. Zero responses for remote or part time workers. So again, employers want their perfect employee -- skilled at his or her job, wants to move to the valley enough to take a big hit to net life living standards, doesn't have kids, and doesn't want them (cause daycare or a nanny or an SO who doesn't work is all very expensive.)
[1] http://sfbay.craigslist.org/search/jjj?zoomToPosting=&catAbb...
[2] http://sfbay.craigslist.org/search/jjj?zoomToPosting=&catAbb...
This really is it. I think employers are between a rock and a hard place. Engineering salaries are rising rapidly, but the engineers aren't really seeing the benefits of it - every raise is just as quickly swallowed by the ludicrous housing situation in the Bay Area. Nobody's getting rich except landlords.
And anecdotally as someone who moved from SF to NYC, $150K goes way further here than it does in San Francisco. SF housing is (nearly) just as expensive, and the lack of basic infrastructure means there are tons of little things bleeding you dry at every corner. Buses don't run where you need to go? Call for a Lyft or Uber - individually not very expensive, but it adds up. Death by a thousand paper cuts.
I didn't like where he said "get them to move to Silicon Valley."
Moving is stressful and costly, even if the company is 100% covering relocation. Moving to Silicon Valley would require a quite significant raise to cover the increased housing costs, which would still leave me with a much smaller house than I enjoy in a top 20 (but not top 5) market.
The absolute cheapest home near my work with 2 bedrooms is a condo at $700K (source: realtor.com). (edit: that is an outlier, most are considerably more expensive, and these days the 'ask' is the lowball figure - people will bid several hundred thousand over the ask to buy, because they are competing against other twitter millionaires buying for cash and nonchalant about the housing bubble because they can't be really hurt if it crashes)
To get a home equal to the home I moved from in CO (which I bought for $425K) would be, I don't know, nothing is listed to compare. Over $3M I would think. My friend recently sold his house north of that, and his yard was tiny and the house was smaller. My CO house is comparable to a $4-5M Tahoe mountain home - a few acres, awesome views, wooden beam interior, huge open space interior plan, full basement, multiple decks, and so on. (edit: okay, cabinets are Home Depot, not custom built, etc, but it's still a close comp otherwise)
So, yes, if you want to live in a cramped condo, see your money evaporate to taxes, driving to work, private schools, and so on, you can 'life hack' here. Or, you can live elsewhere, own a few acres, have a big garage, a rec room, work normal hours, have half the commute, and still save plenty of money.
While you aren't going to be living on a few acres working at a tech job in the Bay Ara (barring long commutes), you are exaggerating a bit here.
- If you live in SF, you generally don't need to drive to work. Your commute will be short (<25 minutes). You can get quite livable single-family homes (3 bedrooms, 1400 square feet) for $750k. You may want to consider private schools.
- If you live in areas where you want to get good public schools, prices may surge to $900k for homes that size.
tl;dr If you want a huge home with huge lots, yes, very difficult in the Bay Area. But if you just want a typical suburban lfiestyle, it is pretty easy to do on a tech salary.
I live in Dallas, have a driving commute well under 25 minutes, and have a 3 bedroom, 2300 sqft house I paid $175k for with the same stipulation on the schools. Your scenario would be a major cost increase for me. In fact, I could probably max out my 401k here with just the housing cost delta. Austin is more expensive than Dallas[1], but I wouldn't expect to pay more than about $250k - $300k for my house there (for reference, my house is worth about $190k now). I could downsize to your SF-sized house here for under $100k. Since I would realistically only get about a 70% pay raise max over my Dallas salary for moving to SF, it doesn't make any sense.
[1] And my house was a good deal even for Dallas.
Let's say in SF you get $150k and put 10% away with a 5% match. That's $22,500 per year you're socking away into your 401k. If you live in Orlando and you're making $90k/yr and put 10% away with a 5% match that's $13,500, a net loss of $9k every year in early retirement savings. After compound growth over 40 years of maturity that's going to be a TON of cash. As long as you don't plan on RETIRING in SF, you're much better off working there.
Conversely, and I know this is pretty out there, this is what I think will be the killer app of virtual reality. If I can ship a $5K "pod" to a developer somewhere in the world which allows us to work together 90% as well as we can in person, then you're damn right I'm going to do that.
I believe VR tech will get good enough (3-5 years) before immigration issues will be sorted out (10-20).
It solves both the H1-B limit and the engineering shortage in one fell swoop.
However, NO company lobbies for this because they like their 5+year indentured H1-B servants.
EV = $80M exit x 0.1% equity x 10% success rate / 4 years = $2K
That awesome 0.1% equity is worth $2,000 a year. Less, because of time value of money, and the fact that you won't be cashing out yearly.
http://www.businessinsider.com/startup-odds-of-success-2013-...
"37 of the 511 companies that have gone through the Y Combinator program over the past 5 years have either sold for, or are now worth, more than $40 million."
Does the founder really want to get greedy and keep that extra few percent when so much depends upon solid engineering execution? Also, don't forget that 4 year vesting with a 1 year cliff is standard, so it's not as if the worth of a meaningful equity offer isn't fully obvious before the shares are "spent" on a key hire (also, before vesting, the risk is totally borne by the employee).
I think the ideal situation for engineers would be to earn a solid equity offer and then have a secondary market to use to trade some of it (once it's vested) for fractional ISOs of other promising startups.
Yes, some of them do. I got forced out of a startup here in London - I was the _only_ full time engineer in the IT dept. (basically was acting CTO) and one part time guy in Russia for some period of time. The company had two sales guys as well, not sure of their compensation but they were making more than me... We all quit within a period of two months due to A) the CEO flat out lying to a customer about the nature of the data they were being sold, in order to secure the sale - the customer later made threats to sue after their patience had been exhausted due to one founder trying for a month to gaslight their board about the technical nature of the data B) lies about the "cash flow problem" which I was told was preventing another person to be hired to help me (the founders were skimming profit before paying everyone, months late) The CEO's wife, who liked to play lawyer, then dragged out paying us for what they owed, trying to arbitrarily reinterpret the language of the contracts, claiming utter nonsense as logic and being over the top abusive in contract negotiations. It was all too much for everyone.
Later I found out a $5 mil offer had been made to buy the company from a 3rd party - not much but enough to show the company was certainly going to be viable. So it made perfect economic sense to these sociopaths to drive out everyone who might have some moral claim to profiting from the company's success (i.e. promises were made early about "equity"). The founders deemed I was completely unnecessary at this point due to having built something that could be maintained well enough by cheap labor from India and eLance - to heck with looking into the future and seeing how an experienced engineer might open up new markets, etc. This company lost every bit of technical knowledge they had when I left.
But that's sociopaths for you and how business is done anymore. I'm sure SF is full of amateur sociopaths these days.
I am not sure what immigration has to do with this, we make plenty of STEM graduates each year, and we'd make more if the professions didn't look like they were under attack by every employer and politician. The smart kids you want to hire are smart enough to go into more protected professions, if they knew their jobs wouldn't be shipped over seas or their market flooded with foreign competition, then maybe we'd be able to attract them and keep them.
I worry that focusing on equity will just exacerbate the problem, because I think that a lot of people are becoming wise to the equity lottery and just don't see a difference between 0.1% and 5% of nothing. The problem will most certainly be solved by $$, but no doubt it is tough pill to swallow for a business to pay 150k now what was 100k a few years ago...
Keep in mind I am a software developer and self interested.
They're looking for someone to work on a rails app but they won't hire them unless they have demonstrated Linus-Torvalds like ability and knowledge. But the question is, why would someone with that kind of skill level want to work for you?
What if you were able to grab smart engineers on their way to becoming engineering stars? Why not aim for getting a solid lead/architect and adding midlevel guys who you know are going to turn into superstars? Why not develop talent instead of competing all the way at the top of the market for the most expensive ones? Why not figure out an interview technique that can let you identify exactly these kinds of people?
Its all about being resourceful and nimble enough to adjust, after all, isn't that what a startup is all about?
A few years ago, Zynga told some early employees with lots of shares that they had to give back some of their stock or they'd be fired:
http://news.cnet.com/8301-13506_3-57322150-17/zynga-to-emplo...
http://finance.fortune.cnn.com/2011/11/10/zynga-stock-scanda...
I'm not sure if that qualifies as "regret", or if it's just greed, but it's one very public example of a company deciding they've given too many options to early employees.
Most of people involved came through acquisitions, not early hiring.
For all this "we work remote" stuff that is flying around this seems to be a direct contradiction. Is moving to the valley really necessary? I can postulate coming for a face-to-face interview, but I would never want to move to California.
But if you're both online at the same time, and you have videoconferencing or some equivalent, you can talk "face-to-face" without being on the same continent. I don't know how efficient that is compared to being in the same room, but I suspect it's somewhat less (you have to activate the app before you can have the conversation, and you never have a useful but accidental conversation because you ran into each other in the lunchroom).
Source? I'm pretty skeptical of these kinds of numbers. If you say 100 bits worth of words face-to-face, what is exactly the content of the remaining 1428 bits?
I'm frankly doubtful even about that much, but Mehrabian certainly never claimed that any such equation holds for more "contentful" communication.
For remote to work, the company should be remote native or majority remote. If 95% of the people and conversations are onsite, the remote team is going to end up being second class citizens.
Outside of the Bay Area remote work is more acceptable for startups and small companies, and most of the advocates for remote teams are in cities like Chicago and New York.
To be sure, this could also be seen as an acknowledgement of their own weaknesses. In modern business, shouldn't a contingency to reduce burn rate by hiring from lower cost-of-living areas be a valid option? If so, then why shouldn't management be able to communicate well enough to execute on that? Are they so vain to think that not only should the company be viable and successful, but that they should succeed at the highest cost possible?
(not a lawyer)
The standard reason for the cliff is that at first an employee slows everyone else down as they come up to speed, and then they start to help.
In actuality, the truth is great people aren't found, they're made. The role of a good leader isn't to squeeze great work out of his employees, but rather to develop within them the capability to do great work. Applied to hiring, this means having an understanding of the support and growth capabilities within your organization, and finding candidates who have the most potential to gain from it, rather than hiring those who are already well-developed. Applied to hiring rockstars, this makes them even more valuable: not only would they be producing outstanding work on their own, they would actually be improving the quality of the work their peers produce.
"You get what you pay for"
When we have jobs - infrequently mind you - at slightly below-market salary we always offered a phased increase to slightly-above market salary over the 6 month trial period.
That being said, I'm seeing a lot of mentions of single week or single month trials. Is this a US trend? Across the pond here, in the UK, I've certainly not seen them.
Presumably, Zynga employees just didn't get these kind of rights.
You can get a lawyer, but the proceeds are so uncertain, especially if you successfully sue. What do you get, 1% more of a company that has just lost an expensive lawsuit?
(Request: court records for a normal middle-class equity-owner in a small company fighting his rapid dilution, successfully or not.)
What prevents a company from firing you because you're a woman, or because you're black?
The answer to your question, and these questions is the same: lawyers and lawsuits.
In California, firing without cause in order to deprive an employee of a cash out event is legally actionable.
How easy it is to prove is a different matter that I am completely unfamiliar with (it could be very easy or very hard).
You can easily find a non-technical hire if you don't know what you want or don't care about quality. If you care about quality, you'll be stuck in the same crunch. For example, the skill of being able to write without run-on sentences eliminates 99.9% of the candidates in the pool, for any role. Want candidates who can write reasonably well? Hiring just got 100x more difficult. In a modern environment, if you're non-technical and can't write well, what can you do?
This is very important. It needs to percolate into their immediate reports too. I've seen high tech companies lose great candidates because the first line managers were too busy to interview them right away. If the right talent is available, you have to maket he time.
Personally I really like the interview process a previous empoyer used: shortly before the interview starts we had them look over a roughly CS 102-level programming project, then we ask them to design the architecture on a whiteboard while the interviewers ask questions/give guidance. What we're really looking for here is:
a.) how do they handle the social aspect of working with a superior who will often (gently) criticize your work and/or ask you to thoroughly explain why you're doing what. b.) that they have enough chops to architect a simple program.
If they can pass those test I'm confident they'll be an effective team member, because at the end of the day all you really want is someone who is competent enough to be useful, and fits into your culture/team. Everything else will shake itself out. You don't need some "superstar/rockstar/ninja" (unless you're solving a particularly hard domain-specific problem) so stop looking for them and excluding everyone else.
Instead start building an effective team.
Now, as far as I know, these companies don't hire in most of these countries. But why don't they? I don't understand. Visa stuff is less of a concern actually.. its been thrashed more than it deserves. Indian consulting companies got like 30K H1Bs last year. 30,000 engineers moved from India to the US. Surely, Dropbox can get 20 good ones. And your startup could probably get a handful too.
These engineers grew up on hacker news - so culture is not the problem. They are moving seven seas - so they work hard and aren't dicks. Their options in India are limited - so the salary negotiation is less of a nightmare.
Not sure if there are any republicans here, so I'll not defend the "Indian developer taking away American job" phenomenon. Hopefully, HNers get why immigration makes sense.
We are trying at VenturePact.com to build a vetted international talent marketplace. We launched a couple of weeks ago in Delhi and a few tech hubs in India and got hundreds of apps from developers wanting to work in the valley or NY. Well, many applications were not suitable BUT many were.
Would love to read what people think of hiring internationally. And what would the preference be between getting them to work remotely vs relocate.
There's no engineering crunch, just companies that don't want to pay market rates.
The Free Market from startup/VC perspective: It works when we profit, but when we want to hire cheap labor it's because there's not enough people.
http://pando.com/2014/01/23/the-techtopus-how-silicon-valley...
In doing that, it became clear that not everybody even wants more equity. That was a little hard for us as founders to take, because we of course thought the equity was awesome, and wanted engineers to feel a real sense of ownership. But from the numbers, it was clear that some people would rather we sold more equity to investors and just gave them the cash.
I get that. If you've been around the industry for a while, you can accumulate quite a collection of expired startup lottery tickets. Landlords, mortgage-holders, and kids' orthodontists don't take options; they take cash.
If somebody really had said, "I want to bet my whole salary on the company," I'm sure we would have be happy to accommodate them with a deal that was fair. There'd still be a vesting period, of course, for the same reason you don't get your annual salary up front on the first day. The tricky question would be the cliff, but I'm sure something could be worked out.
[1] http://en.wikipedia.org/wiki/Accredited_investor#U.S._criter...
"Hey do you want to join my startup? We are reinventing analytics....again."
So I haven't interviewed for a single job for the last 18 years. Sometimes people ask me for my resume; I don't have one.
What I did instead is take a problem I was interested in, solve it on paper, and then approach a company to pay me to implement that solution for them (along with an estimate of the cost). That has worked out really, really well for me.
If you find that interviewers or HR aren't sizing you up correctly, this approach might be an option. Businesses, when it comes to tech, mostly just want problems solved. If you can do that, you'll get hired. Nothing shows you can do something like bringing them the (on paper) solution, and offering to built it.
I frequently hear startups say [...] can't find
a single great candidate for an engineering role
no matter how hard they look.
While I agree that offering better compensation is a wise move for individual companies, if the market has 10 job openings and 9 engineers, regardless of how much pay they offer one of the companies won't be able to fill the opening.Offering more money might fix hiring problems for one company, stopping one person complaining, but to stop all people complaining the only solution is to increase the supply or reduce the demand.
(Increasing the supply doesn't have to mean immigration reform - it could mean training or lowering hiring standards or a bunch of other things)
No amount of demand can create people with two years of experience in less than two years, or people with four-year degrees in less than four years.
As someone who has been coding since my teenage years; I just don't buy that this trait is absolutely essential to being a successful engineer. If it is why doesn't the market reflect this?
However, the evidence that we are seeing indicates that it simply isn't true - if the market has 10 job openings, then somehow there are 10+ engineers available, including employee migration, H1Bs, and all that. Somehow the supply is stable and in pace with demand - of course, all the companies would like the supply to be even higher, but that's to be expected.
Startups clearly need to be basing more of their decisions on unfounded conjectures. I have to say that startups seem to have unreasonable expectations of what kinds of programmers they can hire. We have plenty of viable hackers in the US, but startups don't want to hire them because they're not the next Knuth or they're "not a good cultural fit".
http://www.businessinsider.com/the-real-truth-about-the-stem...
This is a thousand monkeys working at a thousand typewriters. Soon, they'll have written the greatest novel known to mankind. (reads one of the typewriters) "It was the best of times, it was the blurst of times"?! you stupid monkey! (monkey screeches)
UPVOTE!! I'm shocked at how many companies are unwilling to pay for a $500 Southwest ticket to fly someone in for a day to interview from Texas or Georgia... relocation costs are easily offset by a slightly lower salary, and the person you're interviewing is unlikely to have 4 or 5 paper offers in hand.
Uh, I don't care if it's "saving the world and the whales" or "enhancing legal resolution outcomes through analytics". I care that I am granted enough latitude to design and implement a good solution, instead of being handed a software toolbox and told to "bang on nails" all day.
Totally agree with the last sentiments that if you're in the bay area why should you ONLY considering hiring in the same area? It shocks me that technology companies can be so parochial.
You can hire across the entire US, Canada is just nearby and then there is ... the rest of the planet!
"Sometimes this difficulty is self-inflicted."
I want to emphasize how strong this point is. In most ways, the computer programming industry is a shrinking industry in the USA. There are less computer programming jobs in the USA than there were 20 years ago.
Stats from the Bureau of Labor Statistics (USA):
http://www.bls.gov/ooh/computer-and-information-technology/c...
1990 Number of Jobs 565,000
2010 Number of Jobs 363,100
2012 Number of Jobs 343,700
There is a tiny subset of the industry that is growing, and we associate these with the startups in San Francisco and New York. But so far these startups have not created enough jobs to offset the jobs lost due to other factors.
This suggests that there must be a vast reservoir or programmers who would like programming jobs, but they can't work as programmers because the jobs have disappeared.
If the numbers were smaller, you could argue that the loss of jobs was due to inaccuracies in the way Bureau of Labor gathers statistics. But the drop from 565,000 jobs to 343,700 is too large to be a spurious blip.
This is a shrinking industry. Computer programming jobs are tied to manufacturing so as manufacturing leaves the USA, so to do the computer programming jobs. Don't get caught up in the hype about startups: look at the actual numbers. The government tracks these jobs. The numbers are shrinking.
Especially worth a look:
http://americawhatwentwrong.org/story/programming-jobs-fall/
"In its 1990 Occupational Outlook Handbook, the U.S. Department of Labor was especially bullish: “The need for programmers will increase as businesses, government, schools and scientific organizations seek new applications for computers and improvements to the software already in use [and] further automation . . . will drive the growth of programmer employment.” The report predicted that the greatest demand would be for programmers with four years of college who would earn above-average salaries.
When Labor made these projections in 1990, there were 565,000 computer programmers. With computer usage expanding, the department predicted that “employment of programmers is expected to grow much faster than the average for all occupations through the year 2005 . . .”
It didn’t. Employment fluctuated in the years following the report, then settled into a slow downward pattern after 2000. By 2002, the number of programmers had slipped to 499,000. That was down 12 percent–not up–from 1990. Nonetheless, the Labor Department was still optimistic that the field would create jobs–not at the robust rate the agency had predicted, but at least at the same rate as the economy as a whole.
Wrong again. By 2006, with the actual number of programming jobs continuing to decline, even that illusion couldn’t be maintained. With the number of jobs falling to 435,000, or 130,000 fewer than in 1990, Labor finally acknowledged that jobs in computer programming were “expected to decline slowly.” "
Take a look at the computer occupations major grouping (which, n.b., does not include many people who you and I think of as programmers).
Here it is in 2000: http://www.bls.gov/soc/2000/soc_c0a0.htm
Here it is in 2010: http://www.bls.gov/soc/2010/soc150000.htm
Note the addition of the Software Developers (Applications), Software Developers (Systems), and Web Programmers. This resulted from a recategorization of programmers and Computer System Engineers. Also, web programmers was simply disaggregated from Programmers generally.
I'll save you looking up the numbers: from memory, there are about 2 million of them. You can treat some portion of them as being "poached" from the computer programming category. Most are new to the field since 1990. Net employment across the previous and successor categories is up, by several hundred thousand jobs.
Your contention that the US has lost programming jobs flies in the face of material reality.
http://www.bls.gov/ooh/computer-and-information-technology/s...
I'm not sure if this refutes your larger point or not, since I can't find numbers for 1990 for this category with a cursory look.
Most of the "Founders" are nothing but facades that just want to make money in the Tech world. They don't give a damn about technology or improving the world.
You have atrociously high standards for "good" if that is the size of your pool.
If nobody in your network has a track record of results, become a sycophant? What if all the hackers in your network are US as well? You got less than a 5% chance of a hope to do anything according to Altman.
Okay, I don't know what the job is, who the client is, and the last thing I want to do is be grilled over the phone. I'm certainly uninterested in your time crunch and am not going to rearrange my life to meet your schedule requirements (there were narrow stipulations on acceptable times).
* Talk with a company, and explain that I don't do whiteboard interviewing. Oh, a session is no problem, but the interview has to be as much letting me interview and question you. 'No problem, we just want to talk and see where you'll fit in'.
Come the day, and I barely get a 'hi', just nonstop whiteboard coding in an intense environment. Took the whole day off for that time waste. Two of the sessions had me solve essentially the identical problem - I waste my day, they don't take 5 minutes to plan out what I'll be asked. Then they call me back, and tell me I have to come in for another series a day later, which was entirely unexpected, and not communicated to me prior to agreeing to interview. And if my requests for how the interview is conducted can't be honored, fine, tell me, and either I'll change my mind or decide not to waste a day taken from work. The cap to all of that was the 'shoot the messenger' emails when I said I was not accepting due to how this all went down (and oh, I didn't respond quickly enough to that email, meaning it took me a few hours, so more grief for that).
* Just general, insistent demands as if I have nothing to do but interview with your company. If you have your resume out there, all you do is field phone calls and emails. I'm not going to pursue anything without knowing quite a bit about the job because I don't have to. There is always going to be better, low hanging fruit - cold emails with very accurate, detailed descriptions of a wickedly cool start up, recruiters that actually get to know your skill sets and desires, and so on.
* No exposure to what the work will be like. It's so secret they can't tell you, or there is a 'variety of work', or whatever. No work environment tour. No discussion of compensation, work hours, and so on until you've wasted a day or more in interviews.
* 'Go and study this book for a month, and then apply'. Um, I'm 47 and have a very successful career of inventions and products. Surely you don't have to quiz me on red-black tree implementation to access my abilities. If I need to know that, I'll open the book and learn it.
It was, by and large, very unpleasant. Perhaps it is not the best proxy, but I go in assuming the interview process is the time you are trying to impress and woo me the most, and judge you on that.
This argument seems flawed. If I think someone is going to double the value of my company, should I be comfortable giving them up to 100% equity? Put another way: percentage growth of your company from an early stage to some point in the future most often exceeds 100%.
1) Information asymmetry or just plain symmetric lack of information in regards to stock grants.
2) The price of a home in a decent school district within a "reasonable" (< 1 hour each way, i.e., no more than 2 hours a day total) commute to any cluster of software companies in Bay Area (whether SOMA, Peninsula, or South Bay).
The two are closely related. When startups are competing for people against Google or any of the young public (or pre-IPO) technology companies, the issue at stake isn't salary (post series-A, startups may pay a slightly below market salary, but not an egregiously low one) but RSUs ("restricted stock units" or essentially outright stock grants: while these are treated as income for the purpose of taxation, there's also no strike price and AMT trap to worry about).
The reasons why these grants (which are generally very far from the "retire on a yacht category") matter is that their ball-park value is known, they're often refreshed as part of the performance review cycle (as opposed to fixed during offer negotiation time), and if you plan on staying in Bay Area and having kids, you're relying upon them to either afford a house in a decent school district and with a reasonable commute, or to afford private school tuition.
Changing grant tactics can help with information asymmetry problem (transparency about finances and valuation is nowadays the rule rather than exception in early stage companies), but they can't help with mutual lack of information: neither the founders nor the investors know with certainty a general ballpark figure of what the value of the company price will be at a liquidity event, or if there will be a liquidity event in the first place.
What this means is that unless housing problems in Bay Area are addressed, in addition to the already well discussed negative externalities, startups will have an increasingly harder time hiring engineers that haven't yet experienced a liquidity event or spent four or more years at bigger companies. They would love to join a start-up, but not at the cost of their (future or existing) children's education.
---
Unrelated to the above points, this paragraph is also as important as it should be obvious:
"Finally, most founders are not willing to spend the time it takes to source engineering candidates and convince them to come interview. You can't outsource this to a recruiter until the company is fairly well-established--you have to do it yourself."
If I receive a message from an external recruiter, it's hard to tell whether they really reasonably believe there's a good match between my skills and interest and the company, or if they're just employing a shotgun approach. I usually disregard these messages, even when I may be open to a new opportunity. On the other hand, if I receive a message from a founder or a tech lead, I try to reply even if (as, e.g., now) I'm not interested in interviewing: at the very least, it's likely they did actually mean to approach me specifically (not just anyone who has "Hadoop" in their profile), and I've an obligation to let them know that I'm not available at the moment as not to string them along.
---
Finally, to underscore something else said in the article, in general, best way to hire good people, is to work on something good people enjoy working on, whether it's a greater mission or a good technical challenge. If neither of the two is there, the most straight forward startup recruiting pitch -- "come work on something cool with other smart people" -- fails.
I am paying a lawyer in SV $600 /hr. Show me a link where I can get one for $65?
I'll also argue that software engineers train harder and maintain more than lawyers. If the market worked, the wages would raise till the supply catches up. But the market appears to be manipulated.
For most guys in the bay area, the beautiful girl crunch is a bigger problem than the Series A crunch (this somewhat applies to designers as well). The difference in difficulty between dating a beautiful girl and an unattractive one is remarkable--I frequently hear guys say that for unattractive girls they can find multiple great candidates without really looking but can't find a single beautiful girl for a dating role no matter how hard they look.
First, of all the canonical terrible advice advisors give, being cheap is among the worst. I have never seen a hardup guy regret being generous.
For most beautiful girls, this is as much about fairness and feeling valued as it is about the money. And of course, if girls are going to turn down the certainty of dating a handsome, confident sales guy, they should get a reward for taking that risk.
If you’re going to look outside of your network of friends from your Defense of the Ancients guild (usually a mistake, but sometimes there are truly no other options), focus on recruiting girls outside of the valley.
Finally, most engineers are not willing to spend the time it takes to develop a normal social life with regular non-technical people whereas they might develop normal personality traits and meet someone nice. You can't outsource this though--you have to do it yourself.
Footnote: * Every time someone from the government asks me what they can do to help hard-up engineers, I always say a version of "The only thing you need to do is fix immigration for beautiful girls." We need more beautiful, financially desperate girls from third world countries whose standards are not as high as American ones.
Simply Brilliant!!!