Why Your Startup Can’t Find Developers
fastcolabs.com
fastcolabs.com
I'm rather surprised that this wasn't a heading topic on its own: Don't Expect People To Work 80-Hour Workweeks. Bleary, burned-out, sleep-deprived, stimulant-addled engineers do not produce decent code no matter how many hours you make them stay at their desks. Obviously. You bloody idiot.
(...The startup founder, I mean, not the article writer.)
Although really this folds into "You’ve Got To Pay If You Want To Play" to make a larger point: If You Want Good Employees, Don't Treat Them Like Shit. Another of those blindingly obvious things that employers all over the world just can't seem to wrap their little heads around.
Most of my readers who write in say something to the effect of "Oh mai god, my <superior>[1] needs to read this!" I'm not sure if they ever do pass it on, but that's the feedback I get :)
[1] <superior> is usually a mother, a wife/girlfriend, or boss.
> Programmer? I want to buy you a drink!
> Especially if you don't work at night
My brain seems to prefer the afternoon, and as I've gotten older I can't work much at night anymore. After my brain has been fully engaged in a problem for hours at night it can be really difficult to shut it off and go to sleep, even if I'm exhausted.
when you fuck with the formula, 'basic economics' goes out the window.
But hey, on the other hand, a lot of my work is "Hey, so err, we have this mess on our hands and we need somebody to come fix it because we can no longer implement new features because we keep breakign everything"
I'm sure those engineers are totally fine guys, but man the code I've seen ... wow.
You can try to optimize both, but the problem with labor is that productivity per hour is not a constant. Even manual labor may see diminishing returns when working lots of overtime. In fact with manual labor the diminishing returns are often fairly easy to measure. With programming, it's much harder to predict.
But that's usually only if you don't factor in resulting burnout. Experienced developers recognize this and is why they're more reluctant to work for hour-demanders.
What circumstances?
Problem is, it's not a "superpower" that can be switched on at-will; it's a state of concentration that requires not only work ethic but a real, intense interest in the subject and a lack of competing thoughts and obligations.
Also, programming trance can last at most a week and you can't do it more often than once or twice a year. There are physical limits to what your brain can sustain.
http://devopsangle.com/2012/04/18/what-research-says-about-w...
...And then I'm so exhausted that I'm useless for a week afterward. So it's not really all that useful unless I'm up against an absolutely immobile deadline.
80 hr weeks == all the people at your company who have substantial talent and experience go elsewhere because they can make the same money by working fewer hours. Basic economics.
80 hr weeks == vastly diminished possibility of hiring people who have families, other interests, or "lives" outside of work, so your hiring pool is diminished.
80 hr weeks == everyone is overworked and tired, there's no slack in the system to allow for doing things the right way, effective productivity is actually much decreased because the quality of work is low and the opportunity to pay down technical debt is absent. Any amount of extra productivity that could be had by working more hours is eaten up by people needing to "live" at work (pay bills, communicate with friends and relatives, eat, etc.) and by constantly having to pay the interest on technical debt that can't be paid down.
80 hr weeks == no ability to innovate, no agility, so you get stuck plugging away on N-1 ideas while your competitors who have slack have spent their free time spinning up an N+1 prototype that is going to disrupt your entire business.
> "I want people that think about the product even when they aren't in the office."
God forbid your employees have a social life, hobbies, or side-projects. Enriching some sociopath by building "santa strike" apps is a cause worth sacrificing everything for, right?
Here's the funny thing, which makes employment a lot like romance- I DO think about my product even when I'm not in my office, but I do this because my employer and colleagues are awesome, and I want to make all of us successful, and we have a common purpose and goal.
People won't love you because you insist it. They can't. You'll have to be lovable to begin with, and you do that by being goddamn awesome.
Possessiveness is for the unenlightened, needy, insecure.
I think I'm mostly objecting to the wording -- "product" is such a lifeless, anodyne word. If I want people who are passionate about what we're building, we have to build something that inspires passion, and I can't imagine ever calling that "the product".
I can see people begrudgingly working extra time if the circumstances demanded it, but the idea that complaining about working those extra hours should be a capital offense is horrifying.
Actually overemploying people should be illegal (at least, it should be illegal without a regulated rate of overtime pay that lets employers and employees rationally negotiate the ethical-lifestyle trade-off involved).
Refusing to hire someone because they won't let themselves be abused is doing them a favor.
It's interesting that you're so adamant about having the ability to make your personal choices here when you're advocating to take choice away from others.
The article states that the employer demanding 80 hour work weeks cannot find anybody to fill that role for 4 months and counting. Employers have to compete for labor just as employees have to compete for jobs. If somebody offers an 80 hour per week job without offering adequate compensation (multiple times the market rate, a large percentage of ownership, etc), then they'll fail to fill that role.
Your personal feelings are no justification for trying to create laws and interfering with other peoples' voluntary transactions in the marketplace.
Fortunately, we work in an employee driven industry, so employers who demand extraordinary commitment can't find employees.
while this is true (mostly), the assumption is that there is competition, which isn't always the case. Civilized society should set some decent standards to which employers must adhere to, because the invisible hand of the free-market doesn't take into consideration human conditions when it optimizes for profit.
Meanwhile.... http://www.usatoday.com/story/money/business/2013/08/25/mori...
Ah yes. Here we go. The fabled "free market".
I'm impressed that you seem think there are functioning markets, of any kind, without the rule of law.
Contract law, intellectual property laws, labor laws, health and safety, etc.
Plus a fair and impartial judiciary.
But I'm not telling you anything you haven't heard before, and chosen to ignore.
The alternative to the rule of law is might makes right. Which is exactly what all the libertarian "free market" scams all boil down to.
No thank you.
Well, that didn't solve anything. Maybe one-liner hyperbole doesn't add much to the conversation.
Actually, doing precisely that is at the core of living in a civilized, democratic nation. If you think full-on free market is better, there is a (not-so-well) working exemplar over in Somalia.
'Free market' does not necessarily imply no government. Most libertarians wholeheartedly agree that bringing harm to another, either directly by initiating violence or indirectly by fraud, is wrong and should be legally punished. That is the core of living in a civilized, democratic nation.
The idea that some people should be able to make laws to tell other people what they can or cannot do in completely voluntary arrangements is in fact a return to tyranny, however well-meaning it may be.
'Free market' doesn't really have any consistent, coherent meaning in terms of actual objective features.
> Most libertarians wholeheartedly agree that bringing harm to another, either directly by initiating violence or indirectly by fraud, is wrong and should be legally punished.
The juxtaposition of this sentence with the last suggest that "Free Market" is a label for whatever a majority of current libertarians prefer; I think this is almost accurate (in use, it seems to mean more whatever any particular self-described libertarian prefers at the moment), and illustrates my previous point.
> The idea that some people should be able to make laws to tell other people what they can or cannot do in completely voluntary arrangements is in fact a return to tyranny
No, that's not true "in fact", its an equivalence based on a subjective value proposition.
You don't think that requiring people to work 80 hours/week for months or years on end does them harm? Really?
You think that all of OSHA is tyranny? You think that weekends are tyranny? Vacation is tyranny? Laws against sexual harassment at work are tyranny?
My husband is a low-grade chef. The vast majority of places where he worked/interviewed expected him to work 12 hour days, 6 days a week (sometimes 6.5 days - those employers thought someone only working 6 hours on the 7th day was being treated well).
And bear in mind people like him are working these very long hours under time-pressure, with people barking orders at them; they are using sharp knives, boiling water, boiling fat.
Quite often, the employers kept all tips/service charges. If the staff did get tips/service charges, they went to waiting staff/bar staff.
Only about 5% of the places where he was interviewed did he get offered a 40 hour week, with some of the tips/service charges going to him.
Oh yeah. And all this on minimum wage. Hours worked beyond 40 were never paid as overtime in these places.
He was working in the kinds of restaurants were programmers and other professionals would go for dinner.
He spent the last 3 months living off his savings until he could get a job at one of the 5% of places that operated the kind of working hours that everyone else takes for granted.
Okay, good for him. But I stand firmly by what I said, that should be illegal.
>>the kind of working hours that everyone else takes for granted.
I assume you mean 40hrs/week. When I hear someone say "take for granted" to describe something, I believe they consider that something a luxury. If 40hrs/week is a luxury, then what do we consider normal? I'm not accepting some 3rd-world sweatshop, or even 1st-world Amazon shipping facilities as normal... or even what your husband went through as normal. Nobody should have to live like that.
http://www.dol.gov/compliance/guide/minwage.htm : http://www.dol.gov/whd/regs/compliance/whdfs23.pdf
Unless specifically exempted, employees covered by the Act must receive overtime pay for hours worked in excess of 40 in a workweek at a rate not less than time and one-half their regular rates of pay.
That's a pretty huge loophole. For example, certain kinds of kitchen staff in hotels and resorts are not required to be paid anything after the first 40 hours of regular pay.
The list of exemptions is ludicrously long and specific. There are exemptions for employees like movie theaters ushers and news announcers, for example.
"Chef - may be responsible for all food service operations and also may supervise the many kitchens of a hotel, restaurant group or corporate dining operation. A chef de cuisine reports to an executive chef and is responsible for the daily operations of a single kitchen. A sous chef, or sub chef, is the second-in-command and runs the kitchen in the absence of the chef. For assistance in determining whether an employee who performs managerial duties or functions in addition to his or her chef work meets the duties tests for exemption from the FLSA's minimum wage and overtime pay requirements, begin with the Executive Employee section. For assistance in determining whether an employee who has attained a four-year specialized academic degree in a culinary arts program and who performs these or similar duties is entitled to overtime pay, begin with the Professional Employee section, and select the learned category. The professional exemption is not available, however, to cooks who perform predominantly routine mental, manual, mechanical or physical work."
You also can't dock pay by the minute or hour, only by the day.
>learning how to code
>WordPress plugins
>iPhone apps like Santa Strike.
lol you wonder why
I suspect I have more time in startups both successful and failures than you, and while no one knows every way to succeed they certainly can detect the patterns of failure. The hardest thing for any founder is to recognize the wisdom of their own employees.
That's changed as we have shifted focus to fewer ideas and better execution. We maintain a list of things we want to build, and vet every idea that comes our way, be it from a founder, an employee, or a customer.
That said, someone has to be the guy to draw the line in the sand.
Also, FWIW, I spend the majority of my working day writing code.
Edit: just saw some of you other posts, thanks for the info.
And yes, at times lines need to be drawn in the sand but those are pretty rare times when you have a good group of smart people and usually involve breaking impasses when there is no clear consensus. There's also the whole "I have a responsibility to shareholders at the end of the day" duty that many employees do not feel, but too often founders use both of these as excuses for "I think X, so it must be so" rather than questioning themselves in the face of disagreement with a group of people you brought on board because of their skills and intellects.
Frankly, I imbue no magical powers to writing code when it comes to founders of tech companies because often the tech is the least difficult problem to address. I know, I know, I speak heresy given the venue but I can code a great product far easier than what is required to build a good marketing campaign and sales strategy, and I at least can depend on my bash/vi session to be predictable unlike those that have to venture out into the customer acquisition arena with all its unpredictability.
You know, for kids.
Sometimes, though, they're friends and relatives who just aren't aware of how much work is involved. I don't want to be mean to them.
I usually just ask them how much capital they have to invest in the joint venture. That's typically the end of it. :-)
And then the guy talks about "premium" salaries. Yeah. Right. Even assuming 50 USD/hour(which is pretty reasonable), 50 * 80 per week comes up to 16000/month comes up to about 192000/year. Unless you have that kind of cash, don't go on shitting garbage about 80 hours/week.
But in that case, I try to first politely explain them that estimates do go wrong, especially in the cases where I am doing things I haven't done before. I recently setup a xmpp based web chat for the first time. I communicated beforehand that I am not familiar with xmpp web clients and whether I would be able to just use a xmpp web client or I will have to code something from scratch using strophe.js or convere.js, or if it can be done at all. The task is basically "it will be done when it will be done" but I will be able to at least tell you if it can be done at all in a week.
Reasonable explanations mostly work with people who start getting restless when things take longer than expected, mainly because I too vet my clients. But the thing with hourly billing is, if the stakeholders are being unreasonable, I ask them to go eat shit and cut my losses(if any) and I don't have to deal with unreasonable expectations that comes with a fixed price bucket.
You have a finite number of hours in the day, and your life. Don't give them to someone else to profit off. That's crazy.
The company offers a salary of $50/hour when he thinks his market rate is $100/hour. He refuses, countering by asking for $100. The company comes up to $60. He refuses. The company makes the following final offer: "OK, you win. We'll pay you $100 per 1 hour 40 minutes and you can work as much as you want." How have they bettered their offer? Especially when there are (presumably) other market rate jobs out there.
In the US, salary and overtime are usually not available together.
unfortunately, in a society where relationship debt is replaced with financial debt, this is inevitable - i.e., tribal societies sees less sociopaths because you cannot be "anonymous" and suffer no punishment for sociopathic behaviour, while in modern society, the externalization of costs and harm means there isn't anyone to "blame" when shit hits the fan, so sociopaths can take advantage of this and insert themselves into a position to take advantage of others without repercussion.
And the sad part is, a sociopathic strategy is successful (where success == money earned), because we don't measure things like ethics ("everything is ethical as long as it is legal").
Companies expect you to work longer and they pay less. it's the norm now. And you know, I doubt they even care about quality. Most managers I know just want to make their margins.
Investment banks are the worst. But at least you are killing yourself for a percentage. And the smart traders get out after five or ten years.
o_O
Apparently people feel pretty strongly about slavedriver bosses! I guess I shouldn't be surprised...
But it's an important addition and often overlooked. It's why among all of the food delivery service startups recently, I have my eye on SpoonRocket. They are on a passionate mission to provide healthy meals at the same price and speed of fast food. That is something to get fired up about. That could have a huge impact. That could change the diet of millions of people.
Please, don't settle for a mission statement. Please don't stop at the point of a good idea and early revenue. Have a mission—a real one. It's not just to romance investors or customers. The biggest impact you'll see is in your people.
Disagree strongly. Solving interesting problems, improving my skill set and my career, and doing good work for the people immediately around me is enough for me. Negative cause (e.g. working for an unethical company, or in the war industry) would be a problem; but the difference between neutral and positive means little to me. I'm older, though (30).
When I get to ownership level, perhaps starting my own thing, I'll care a lot about macroscopics. However, most of us start out as employees and there's more than enough rewarding in mastering the micro-scale stuff. As long as I'm not being asked to do anything wrong, I'm not going to get emotionally involved in how a company affects the world until I'm an owner; until that point, it's just a distraction.
Macroscopics, in my observation, just mean more Kool-aid; and there are just as many good people at companies doing less sexy (macroscopically speaking) but still important things. In fact, I worked (briefly) for one of those "change the world" startups-- a New York ed-tech that's devolved into being a sidekick to mainstream publishers-- and it was all marketing bullshit; the rank-and-file believed in it, but the executives were the most unethical people I've ever met (and that includes drug dealers).
Graham Weston has a worhwhile TEDx presentation[1] that presents a more complete thesis on this subject. He raises three criteria: employees want to be a significant part of a winning team on an inspiring mission.
Nobody feels good changing the world if their own contribution isn't significant. Nobody want's to work for a change-the-world startup that can't execute or stay solvent.
But mission matters, even to employees. It's why (as he mentions) the #1 employer of ivy league graduates has horrible pay and really tough working conditions: Teach For America.
Some will want to work for a cause, some get fired up over cool algorithms, some care because they're best mates with the rest of the team and can grab a beer together.
But they want to care passionately about their work. That's the bottom line.
I'm sure plenty of people feel passionately about something, but I don't see how that makes them "good" in any technical sense.
The Spocks will always be a better developer than McCoys.
The best developers I've ever known move around a lot, or work at places like Goldman Sachs. They have a clique, and it's well above any loyalty to some hip corporate mission statement.
Exactly. They care more about keeping their skills sharp than "change the world" mission statements, so they'd rather do machine learning at a hedge fund than grunt work for some 23-year-old kid whose family connections bought funding.
They start thinking about the big-picture passion stuff when they're owners. Before that point, it's not relevant. You care more about growing your skill set and doing good work for (and mentoring) the people around you.
Are you and robbyking the same person?
Solving interesting problems will only get you so far. In fact, it will get you as far as the next company that comes along and dangles a nice raise in your LinkedIn inbox with the promise of solving interesting problems.
The cause is what creates long-term loyalty. For employers, maintaining this cause is the challenge. Causes are expensive. All too often, causes are set aside in the interest of profitability. To use Todd's example, this is when the food company realizes that people freaking love mac n' cheese and that they'll sell a lot more food if they stray from the cause and start serving the garbage that so many people love. Remember the early days of Google and "do no evil"? Yeah.
However if at least twice a month I'm asked to change the way the calendar on a page looks, I'm going to get tired of it real fast. It becomes clear that it's just wasted effort and a lack of planning. When it seems like all your effort is being ignored, unnecessary, or thrown away it just kills motivation.
The system I spend most of my time on right now is mostly, if you boil it down, some simple record keeping for insurance customers. It's usually not very sexy. But while working on it there have been scaling challenges, using external services like S3 or Zencoder to give users new functionality, and other complexities. There is usually something I want to sink my teeth into, and that's something that keeps me working on it. If it was an ultra-simple CRUD app that never had any additional features, I don't know how long I would want to work on it.
Agree strongly. I – like most of us – am approached by recruiters every single day who throw around buzz words like "disrupt" and "hacker" and (worst off all) "rockstar." None of that matters to me, though. The two most important things to me are 1) that I'm going to be happy at the end of the day, and 2) that my company is doing good. And I don't mean doing well, I mean doing good" – contributing in a positive way. I'm older, though (30).
Of course I want to improve my skill set and work with new/cool/innovative technologies, but I'm not going to do it for a company that I don't care about, or at the cost of my personal wellbeing.
Believing in what you do is important (more important than money, IMHO) but you have to consider your specific role and responsibilities and the co-workers and office culture...
On the one hand, Working for a Cause is probably the most fundamental motivating factor behind work-ethic and one of the most powerful motivating factors for people in general.
On the other hand, you often need to take a step back and ask if your project really is a capital-C Cause. The vast majority of economically necessary work, after all, simply is not. Even double-digit percentage improvements in the reliability of cloud computing nodes, for instance, are not a Cause. They are a very economically significant piece of technological development that can make anyone who develops them a bunch of revenue. They are advantageous work that makes the world run a little bit better.
But they're not actually Saving the World or Bringing X to the Masses or anything emotional and epic like that. Worse, attempting to invoke big, epic emotional motivations when your work doesn't really have a Cause to justify those feelings just cheapens the entire trope of Causes, makes it come off as a nasty fiction told to unwitting dupes to make them allow further exploitation than ever before.
Fly your flag if you've got one, but don't feel ashamed to admit you might not have one.
You start your comment with "wanting to work for a cause" and end it with a sentence about a fucking food delivery startup being "something to get fired up about". It just blew my mind.
Mind, there are the occasional actual Causes we techies can work on, but those are almost uniformly so utterly underfunded that they can barely afford to hire paid engineers at all.
Sorry, not picking on you specifically, but the HN meme of 'what we do is so important' is pretty tiring. My very first job, supporting cancer research, was actually probably pretty important in the scheme of things, and the owners were relentless about busting our chops if we started to take ourselves seriously. I liked that, and found it healthy.
So, a less flippant 'my cause' statement. I'm an engineer. I like solving hard problems. I work hard regardless of whether your business is "important" or not. Now maybe I'm falling into the 'hire somebody just like you' trap, but I'd far rather hire somebody motivated by solving problems, not somebody motivated by the extrinsics.
I am not saying you are wrong, but I am offering a counterpoint. Personally, I scoff at most of the job listings on here. 'Change the world with our personalized back scratching service' or whatever (only a tiny change from a lot of the actual job postings, I made it silly to avoid ticking off legitimate businesses). Tell me you want me to scale your back room, or your analytics are really hard and no one really knows how to extract meaningful data, or you are trying to get your latency down, or you are moving to GPU and CUDA to solve some computational problem. I'm there, I don't care too much if it is Santa Strike or cancer research (I care some, I am overstating things a bit to make a point).
I'm expecting some push back on this, and that's reasonable. I'll just point out that while I am not a pure blood capitalist, I do think the markets will tell you if what you do is 'important' in the form of success. Which is not to say really important things might fail in the market, they do. But if you are making money you are providing value to somebody, and that is, to my mind, enough reason to live and contribute. The world would be bleak indeed if we focused on very. serious. and. important. problems.
Not every startup is Google. A lot of companies have CRUD applications of minimal to modest complexity which, even if actively used, are nowhere close to facing performance and scalability barriers that would require deep technical expertise.
These startups don't necessarily need "engineers" with computer science backgrounds, but that's what many of them are searching for.
Sometimes I wonder if it's a case where ego > pragmatism, founders who graduated from top schools, got accepted into top programs (i,e YC), who raised money from top investors, would naturally want "top talent". And it's easy for an inexperienced founder to pursue cargo cult like "google style interviews" when it comes to that.
You hit the nail on the head.
The technical interviews & hiring criteria are often not aligned with what the company fundamentally needs in order to accomplish its goals. The founders/CTO are often rockstars, and they refuse to acknowledge that what their company needs is productive employees, not clones of themselves.
This leads to an enormous amount of time spent interviewing people in search for these rare "unicorns".
Out of curiosity, what makes for a "rockstar" founder or CTO?
I could be wrong but that's my take.
Many times they have built or worked on something technically impressive, that became big & well known (Google Maps, Facebook timeline, Founding engineer at start-up with Billion dollar+ valuation).
If you need to hire somebody you need to be realistic. A while ago it used to be possible to find well above average developers for almost any role, but today the industry is too mature for that sort of thing to happen.
Google alone has 900 recruiters who scour the entire world with an open checkbook for the best talent, while offering some of the highest comp packages in the industry.
Very few software engineering roles actually require "deep" technical expertise. What you describe is pointing out yet another way in which the corporate cliche of "we only hire the best" is so pervasive.
I don't know if there's any credence to that.
It could make sense - even CRUD needs to scale at some point.
Why does every business need to pretend that they are getting the best of the best? Obviously, I want to get there someday, but I'm still early in my career. I know I'm not top-level anything. It would be disingenuous and frankly delusional for me to claim such!
This is something many people on HN have been saying for a long time in response to the question of whether the US needs to create more H-1B visas: companies have a hard time finding qualified employees because they don't want to pay enough. It's nice to see the numbers quantified in this way (even though this is only anecdotal evidence from a single recruiting firm).
Of course, one of the signs of a real domestic skills shortage is rapidly increasing salaries as companies fight for too few people, so the fact that that isn't happening means there probably isn't a shortage.
It reminds me of a grownup having Play-Doh time with toddlers. The grownup takes the time to make some recognizable object (a dog, a human figure, an ice cream cone) and then the toddler starts grabbing for it. This is how many young companies act with talent. They don't want to invest in people, they don't want to bring on interns or junior folks. They want high-output plug-and-play rockstar senior devs. And they want them on their terms.
Some of you might see things differently, but that's the impression I'm getting from all of the listings I'm seeing in my job search (for a junior dev role.) There are some companies that are making the long-term investment in finding the less refined talent and developing it, but they are hard to find.
I hope other people see this trend and that I'm not just entirely saturated in the pungent juice of sour grapes.
If properly picked and hired, junior-level inexperienced engineers can be a gold mine. Employers need to retune their hiring process to value intellect and potential over straight-up experience and know-it-all-ness. This is a tricky proposition, since many hiring managers are terribly inexperienced with hiring and don't know how to do much more than coding challenges, "explain to me how DNS works" questions, etc. These hiring managers are trying to compare their own skills against this new hires and they will reject the hire if it doesn't match up. Huge fail. The gold miner hiring manager, however, asks more open-ended questions to probe the intellect of the hire. The gold miner doesn't expect a "full-stack hacker" and is tolerant of "I don't know" responses. The more important question: what problems has this person solved and how did they solve them?
If you want to see how to hire and structure your team, a good example to follow is the military. Consider the typical platoon of Infantry soldiers: you have one senior leader/manager, one senior subject matter expert and all-round ass-kicker, four SME-and-ass-kickers-in-training, and about 36 junior guys who are there to learn. The junior guys make a fraction of what the senior SME makes and their skill level is also fractional. No worries. They are there to learn, develop, and do their best. Treat them well, not like slaves, , respect them, and develop them. Most of them will leave after a few years for a new job elsewhere. That's okay. You got something from them (work) and they got something from you (experience). You, the leader, will identify a few promising individuals amongst them and groom them to be SMEs in training, giving them the added responsibility and pay increases that they deserve. Like an Infantry platoon, your team will eventually hire experienced SMEs from outside the company to bring in fresh skills and ideas. If this team building is done right, you can build a loyal, organic organization that grows and trains it's own and you can do it for about the same cost as going out and hiring three or four absolute badasses that will probably leave as soon as the next shiny, well-paying thing comes along.
This one really pisses me off. "Oh, you've been using JavaScript for 7 years? Sorry, we need someone who is an expert at jQuery."
A decent developer can get up to speed on your stack, provided they've used something similar, in a few days, or a week if you can't spare any of your current team to guide them through the process. And if you can't spare anyone on your current team to mentor the new guy for a few days, you have already lost to the Mythical Man Month.
This is part of the "unicorn hunting" that we see at Hired.com. We've even seen hiring managers rejecting candidates because they didn't use a particular JavaScript framework, or they haven't shipped code relating to a particular industry/vertical.
I liked - http://highscalability.com/blog/2013/1/16/what-if-cars-were-...
In what world is VMWare not cutting edge? Sure, they're a big successful company, but that's because they solve a complex problem.
Also, hiring a CTO from a large tech company is nothing like hiring an ground-level engineer - there's no way VMware's CTO spent his days coding before he went to Uber.
One thing I can say about Thuan, having worked for him at VMware for a long time, he always tried pushing things. My guess is Uber saw that and figured he'd make a good fit.
It's always a relief to see an article like this not just calling out age bias, but putting it at the top. There are other good points in the article too, but it's important to note that Bay Area tech culture skews heavily towards white dudes in their 20s. There are plenty of people pushing back against the "white dudes" part, but we could use a little more pushing back against the "in their 20s." Especially since someone who's 35 today was born in 1978 and was turning 12 in 1990, right around the elbow of the explosive growth curve of home-available computing. You could have maybe made an argument that someone who was 35 in 1995, born in 1960, was a bit late to the game to profoundly grok the web then (I think that argument's wrong, but you could make it without being laughed out of the room). But in 2013, a 35-year-old engineer is someone you want to look for because that's probably going to be someone with perspective and a mature skill set. There are plenty of smart 20-year-olds out there, yet there is no substitute good for experience.
Once you develop bad hiring habits they become part of a start-up's culture, making a lot of people very resistant to doing something differently. For instance, if all you're doing is interviewing and not looking at the bigger picture, you may not even realize you're doing something wrong.
And all I can think is "What a fucking waste of time this is."
Hire the people that you need to get the job done, not because they have the latest in hipster underwear.
My Requirements for hiring; 1. They can do the job well. 2. I can understand what they are saying. 3. They have a bath/shower at least once a week whether they need it or not.
The amount of people who fit into categories two and three is surprising high. These are the people I desperately want to hire but I can't.
Lol
I desperately want to buy a 3-bedroom in London for £20k but I can't.
This seems like a sensible and underrated assertion. I have no idea if it's more true for Google than other large startups...but yeah, great companies have great toolsets...that's in part why they're great. But that infrastructure isn't available elsewhere and an engineer's reliance on that isn't easily tested. It seems akin to my experience in journalism, that some very accomplished reporters have had very accomplished support staff (researchers, fact-checkers, handlers), but may flounder when forced to do that work themselves.
For most/many founders this is closely related to "hire people you would want to hang out with on Sundays", another common hiring "mistake/tip".
The hiring pool shrinks considerably and diversity of perspective/ideas and any other attribute you value likely goes out the window.
It was not until i got the contract that it stated a minimum of 40 hours in the 3 Days, so they wanted me to work full time hours in the 3 days for 3 days pay.
I turned it down. I still see the founder around and he is still looking for dev's.
I guess it paid decently enough, since he never complained about, but he pretty much slept for the entire following day. He never knew until Sunday which two days he would be in, so scheduling gaming time was a pain.
Relying on recruiters.
Recruiters are notorious for buzzword searching and resume stacking. And Googler's probably don't respond to interview requests because they don't trust or respect recruiters (just a hunch).
Find other ways to advertise your jobs, like old fashoined networking, message boards, social media, etc.
Define clear goals, values and process and then Hire someone to do it. Let them fill the funnel through boards, social media, recruiters or other marketplaces (cough Hired.com cough). You and your team can then evaluate and hire.
"Must have 2 years of T-SQL." Ok, I've written my share of SQL for ASP.NET and desktop apps on MSSQL Server. Add it up and it's about 4 years, plus the last year or so with EF. Here's my resume.
"We can't send this to our client, you don't have T-SQL." Umm... SQL on MSSQL Server _is_ T-SQL. "Now you're lying to me." Ok, this is where our professional relationship ends. Thanks for your time.
Then there's that job where I pitched in on some Java stuff that needed doing. Similar to C#, I can grok. We got that code out the door, and it's still working. Yay. "Hello! I want to tell you about an opportunity requiring 10 years of J2EE and [insert other Java tech buzzwords]." <sigh> I'm not a Java guru anywhere near that level. Let me rewrite that project so Java isn't on there anymore. Doesn't matter. My resume is now in some resume bank that farms it out to non-perceiving headhunting companies.
Yeah, I'm getting a little cranky now. I'll stop.
I wouldn't have any trouble spinning up a product on that stack if I knew I could deploy it without spending a lot on just the software stack (especially if I was bootstrapped)
Their partner program action packs are relatively cheaper than buying the individual products ($429 Design and Dev action pack includes pretty much everything) or an MSDN subscription.
Their BizSpark program is aimed at keeping costs low during development and Azure has simplified deployment (1 shared instance + Sql Database + 50GB bandwidth for $25/mo).
I've found Node to be a good supplement for some middleware (but it still has bland RDBMS support especially with SQL Server).
I just tell "recruiters" that yeah "I know Java and .NET - expert in everything. Let's talk compensation..." and just wait till I talk to the actual tech lead to explain my skills and experience in detail. From what I noticed, if you have worked in one stack or the other you are experienced in my book, you can catch up on the details (WebAPI? Scala?) during your first week.
It might be worthwhile investing in a 9 or 12 week course to pick-up rails at Hackbright Academy, or one of the other programming intensives. Given your years and years of experience, I'm sure you'd have no trouble picking it up quickly.
I'm not dismissing your larger point that a good engineer can quickly take on a specific stack - engineering is what is important in a good employee, not knowledge of a specific API.
For a while I tried a very simple policy:
You come in when you want and go home when you want. Take as long as you want for lunch. Got errands to run that are important to you? Don't ask me, go do it. Need to go out of town to see a concert in the middle of the week? Have a good time. Bring pictures. In general, everyone in this group was allowed to be an adult and manage their time as they wished. There was no such thing as vacation time or sick time accounting. If you need time off, take it.
The only requirement was that the work get done, get done well and on time (within a schedule that was discussed by all and agreed-upon).
That's it.
What happened? Well, a few people abused it. They tended to be in the younger end of the spectrum and perhaps thought this was a license to fuck off and get paid. They didn't last long. The rest of this small group was great. They got their work done without a lot of supervision, were happy and actually went out of their way to push the project forward. It was an excellent experience and a great way, as far as I am concerned, to filter the idiots from the professionals.
This isn't easy to manage. That seems like an oxymoron. You are not actively managing people yet you say that it is hard to manage? Well, the problem is it takes a little bit of time to settle into a stable state. Every addition or change to the team creates a step change that needs to be allowed to settle. Once you have a stable team it pretty much runs itself and it runs well. Until then it can be a little chaotic.
I've done this once and was happy with the results. When you are under the gun and trying to put together a new team it is easier to go with a more conventional top-down approach and pretty much dictate what each person needs to do, when, how, etc. Not the best environment but sometimes you have no choice.
That said, in general terms I firmly believe in making people responsible for an area or reaching a certain milestone and pretty much leaving them alone. They should come to you if they need help or guidance. Other than that, if you are working with professionals there should not be any need to hover over them every day to see how they are doing.
“Whaddaya Mean, You Can't Find Programmers?” http://www.joelonsoftware.com/articles/fog0000000050.html
1. You want to be stingy on salary and benefits, and avoid paying above market rates. You quibble over meeting trivial salary requests. Your company doesn't have proper review processes and doesn't give raises frequently enough. You don't provide equity in your company to your most valued employees
2. Your interview process sucks. You hand off the candidate to 5 different people, the interview lasts all day, you require too many interviews before making an offer, you have puzzle questions, your interviewer is non-technical and has never used the technologies you're hiring for, you rely on agency recruiters, you and your co-founders aren't involved in hiring, you don't spend enough time on hiring, it takes weeks for you to get back to candidates, it takes days for you to make an offer, you forget about scheduled interviews, your people doing the interviews aren't at work the day candidates have scheduled to come in, you ask inappropriate questions during interviews, you lie to candidates during interviews, interviewing is combat and not collaborative
3. You hire for "culture fit" which means you only hire people that fit whatever your version of the status quo is. You signal that older people or non-hipsters need not apply. You discriminate against people old enough to have spouses and children. Your office has a culture offensive to women and/or minorities. You have the words "rock star" or "ninja" in your description. You prefer "yes men" over free thinkers. You hire only people who are like you
4. You demand that every employee commute to your offices because you have an antiquated "asses in seats" busywork mentality or a "no remote work" policy. You treat remote employees as if they are second-class employees. You demand relocation to the Bay area or it's a 'no hire'. You don't provide relocation assistance. You don't help with visas
5. You require educational credentials for jobs that don't and shouldn't require them. You set up qualification barriers for great candidates. You don't respect candidates who have experience outside of your specific technology stack
6. You have a toxic office environment. Your offices are shabby and "Class B." You make people work in grey cubicles, Office Space-style. You don't provide catered lunch. You pay no attention to, and invest nothing in, office equipment. You don't provide up-to-date equipment and developer hardware
7. You require ridiculous hours that make work/life balance out of the question. You don't offer generous holiday time. You tell people they cannot take holiday time because it's "crunch time." You resent employees who take holiday time they are entitled to
2. Another startup once interviewed me for an hour, went back to discuss with their board of directors, came back and interviewed me for another hours, went back and discussed for another half hour and then said they would get back to me in a week.
Such practices seem to exist in so many places, initially I had thought it was the normal way of getting things done.
After negotiating a bit and listening to what he had to say.He seem to consider his high lofty goals as ambition. And my high lofty goals as greed.
He was almost saying, people were not sacrificing their lives to make him rich and how selfish and greedy they were in doing that.
Mind, the company does have snacks, tea and coffee, so I basically eat breakfast from those on a lot of days, but still.
There was even a gargantuan flatscreen that looped their product commercials and one of the guys sitting beside it I could see the flashing, seizure inducing graphics reflecting off his 2 screens and glasses. No windows, and unbearably hot from all the machines. How do you not go mad in that environment
I've looked into these spaces before - they are surprisingly expensive. Even if you can find an empty disused warehouse, it takes a truckload of money to bring it up-to-spec for office use. Brand new plumbing, brand new wiring, TONS of interior work...
Repurposed industrial buildings look and feel great, and have a lot of soul, but they are counterintuitive frequently more expensive than a boring highrise office tower with drop ceilings.
And ... well, I used to work at an organization where the crazy executive director killed it by moving us from Class B, which we could barely afford at that point, to Class A space (and of course, somehow there was only one office for all three techies at the end of the move). Ran out of money real fast when her marketing and sales plans didn't manage to flog sales of our obsolete current product and seriously hindered the project to develop the new one.
Taken to an extreme, there's the Edifice Complex, when a company that's "made it" has their own custom building made. Almost always a sign to sell.
For a good gig it's pretty easy to overlook one or two problems; if you see half that list you head for the door.
The honest ones take sick days when they are sick. Out of ten sick days they take one or three or eight. The number they take each year depends on how sick they got and how often.
The "work the system" ones take the full allotment every year.
So the system is unfair to people who are honest.
I'm sure there's labour laws that mandate the split. I just can't help but feel that nearly everyone would rather take a guaranteed month of time for "whatever comes up" than "two weeks vacation" and "better make sure you (and your family) aren't sick for more than two weeks annually." Just as I can't help but feel that employers actually prefer the split because dealing with the "'work the system'" ones is cheaper than just treating every employee like an adult by giving them more than a pittance of time away from the office.
You also can't ignore the psychological effect of having to 'give up' time off (for a vacation with your kids, or a visit to your parents on their deathbed) in order to avoid going to work sick. It causes people to go to work sick a lot more often, because they can't anticipate when they will need time off. It also diminishes the rate at which they will use vacation time because they can't accurately estimate how often they'll get sick.
Which leads to "use it or lose it" come December, when your entire company stops working because no one is in the office.
Honestly, I sense people are latching on to my "tough luck" comment without bothering to think the rest of my comment through.
Solve the problem by weeding out the employees who work the system, not by moving to PTO-only and making your entire office sick more often to save a little money.
Without an allotment, employees will generally take a sick day when they're actually sick. Sometimes you'll notice someone who seems to take a lot of sick days. In that case you want to have a friendly chat with them - it's almost never the case that they're just taking free days, rather it's almost always situations like: they're not happy for some reason, they need flex working, they can't afford to repair a car and the commute is worse, they're suffering stress, etc etc. In other words, things it is useful to know about so you can help them (and hence help the company).
Sick day allotments are a way of ineffective managers avoiding confrontations with people: they just end up punishing everyone.
In the US, you have an "allotment" of sick days (say around 10), that defines how many days you can take off sick?
(In the UK) I don't think I've ever heard of such a thing. Surely people are sick however much they are sick? You can't limit your sickness to 10 days a year!
Or, to put it another way: why are you punishing your better employees?
http://s3-media3.ak.yelpcdn.com/assets/2/www/img/74a1f2c9801...
In New York, for example, junior developers tend be around $75-95k while senior (5-10 years) are $140-200k (wide range). In the Valley, I'd guess that those numbers are $90-110k and $130-150k. The low end is higher and the high end is lower, in the Valley.
One thing New York has that the Valley doesn't (unless you're a nationally-known entity, like Jeff Dean) is people making $250k+ just writing code. That does mean you're probably in finance, but it's better than having to go into management if that's not what you want to do.
I'm coming up to ten years as a senior dev and I earn way less than the lower band of that Junior salary.
edit: I am Canadian for reference and just Googling around a bit suggests anecdotaly that salaries are in the $50k-$100k range for most developers.
NY and SV are good places to build your career, but most people who are intent on being lifelong programmers (as opposed to being managers or founders by 40) get out after a decade or so. The cost of living is annoying but bearable; the culture it creates, however, sucks because everyone is competing to be a manager or founder before being judged "too old". The cultural effects of high rent (much less purchase prices at 30-50 years) are even more of a travesty than those high rents are standing alone.
See also http://paulgraham.com/maybe.html, http://paulgraham.com/cities.html, http://paulgraham.com/hubs.html.
Investors and start-up culture sound like the missing ingredient more than any shortage of technical know-how.
I believe Peopleware covers this pretty well.
In general, a publicly traded company is not going to give that kind of package to an undergrad. Maybe $110-120k in salary, but the stock amount is more likely to be around $80k vesting over 4 years.
Would be alot different than 100k "signing bonus", more sane tho.
I'd say $100k salary is very typical, as are the RSUs (vesting over 4 years as you said).
Even non-CS majors. If they studied a quantitative field, can code, and cleared the dev interview, they got that offer.
You have to stay a full year at the company otherwise you have to pay it back. But yes, it is all upfront; cash.
Attending an Ivy makes it easier for you to be recruited, since offers literally find you. At a lesser school you can still do well, it's just you have to find the offers.
Those are the first ones that come to mind for me
Microsoft paid 80k for ugrad back in 2008 in Redmond.
I would love to know which companies in the Vancouver that are willing to pay that much for mostly raw talent.
PS: I dealt with mostly UBC co-op and I know UBC CS curriculum rather well and 85k is too much.
we can speculate for what reasons facebook opened an office in vancouver, but from what i was told is that it's all about simplifying the visa/foreign worker issue, and opening doors to more candidates/talent (e.g. western canada & beyond).
Honestly though. Unless if you have no experience in the real world, $50-$60k seems a bit low... ESPECIALLY in Vancouver.
Vancouver is a delightful place to live, though personally I don't see the "Chinatown everywhere" as a merit. It's just a beautiful, cultured city that is very livable.
I can say that in the Microsoft area, wages go up, house prices go up, rent prices go up.
When MS did their huge salary bump, apartment prices shot up 20%-30%. House prices went from 600k to 800k. Blech.
Meanwhile, many of my friends who work in Redmond and live on the east side are still underwater.
Some of them might be smart, as in raw talent, but giving 80k up-front and expect them to get up to speed in 1 year is like instant noodle.
Would love to know which companies, and how many are they, that are willing to pay at least 70k for UBC grad with co-op experience.
I mean, if we're talking just one or two companies, they are anomaly.
As a Canadian expat, Canadians who stay in Canada frankly get royally fucked in salary. The curve doesn't exactly close up either - I'm a few years out of school now and the gap between me and a salary I could command in Vancouver/Toronto is still about 100%.
The good news is that Vancouver salary is either close or at the same level with Toronto. That was not the case a few years ago.
The bad news is that Vancouver housing price is, we all know about this, awful.
EDIT: I just looked up Software Engineer III in San Jose on salary.com. The median is $108k and the upper 90% is $130k. So how can the salary for someone who just graduated be 100k+? Is that just for google and facebook? And all other companies in SV pay much less?
But here's a point of reference https://news.ycombinator.com/item?id=6448448 Important to note that this is offered to a top-of-the class undergraduate, the average is likely to be substantially lower.
you're good at what you do (proven), and the ramp-up costs of otherwise hiring someone else are non-existent.
Their Vancouver offices (certainly for FB, unsure of others) are visa holding tanks to hold graduates before they can be moved down to the SF offices. I would expect them to be receiving virtually equivalent offers.
There's a reason most people on the market right now are so horrible.
I work as a W2 contractor (and 1099 at very high rates) and I always let my bosses know if they want me here after 5pm then they better be ready for me to charge it.
I might have to pay for my own benefits but I have full control over my hours this way. It's a nice compromise between salary and freelance, even if I do have to deal with a recruiting agency (just don't work with mom-n-pop recruiters and you'll be okay).
I run into Ruby and Python devs all over the place. The problem is, like this article touches on, the jobs advertisements I've seen for Python seem to be written for the "hipster" crowd (I've even seen some with "ninja", etc in the title).
Then they end up wanting to pay $30k less than the competition, so most people I know chose to go work at Intel, Freescale, Microchip, one of the aerospace companies... somewhere that has a professional atmosphere, pays well, and you get to work on interesting tech.
The guys who want $75K would not fetch $50k in San Jose, and the guys who want $100K would not fetch $70k in San Jose.
I have been lucky to get some really great guys, but most of the guys are script kiddies who have never done anything hard, and are too high and mighty to learn to do the hard stuff.
We aren't competing with LimeLight very often for tech talent. We are competing with Silicon Valley. Because unless you have roots in Phoenix, if you are talented you aren't staying here.
I am very aware that if my guys wanted to leave Phoenix they would do well in Silicon Valley, and I'm very glad they choose to live here.
We build things like Search Engines. Which have a Crawler, an indexer, a few dozen scorers, the front end, the Natural Language processor, the content extractor....
And all of those things have to talk to each other and be set up to run on your personal dev environment. That often means borrowing some know how from the guy next to you. That is much harder remotely.
And all of those things have to talk to each other and be set up to run on your personal dev environment.
For this, we created (and keep updated) a textfile with requirements and a (terse) installation procedure a dev should be able to follow to set things up on his own machine.
That often means borrowing some know how from the guy next to you.
I once worked in a telecom company (open plan) where we also used this way of communication. Perhaps nothing wrong with it (from a social standpoint) but the senior devs were often complaining about being disturbed in their flow.
That is much harder remotely.
An alternative, which doesn't interrupt flow, could be email. But then you might have to wait hours for an answer...
Speaking to your troubles hiring, I can only generalize based on some job ads that I've seen. Like I mentioned before, some ads just seem too targeted at the "early 20s fresh out of school" demographic that companies think they can lure in with free soda in exchange for 80-hour weeks. Senior devs just don't go for that, so they ignore those ads and go interview at Honeywell instead.
I am working mostly in Python these days. When I was in Silicon Valley I could go talk to Guido. When I had questions about AppEngine from Google I met with the PM's.
Phoenix doesn't have that. Also the place I rent in Tempe is with in 10% of the price of the same thing in San Jose.
As far as Phoenix-based Python developers, there appears to be a Python meetup group, 'DesertPy': http://www.meetup.com/Phoenix-Python-Meetup-Group/
As far as real estate... I don't know about your specific situation but as a whole the valley is much more expensive than the Phoenix area. San Jose, through Cupertino, up to Mountain View... on average you're easily paying twice as much for the same square footage (I just checked San Jose on Zillow. 2,000 sq ft is easily 600k).
"nice outside" doesn't happen much in Phx. In Silicon Valley you open the windows and let the breeze in. In Phx you kick up the AC.
The flip side of that is that this place is just endless bubbles. Get on the wrong side of that and you'll never recover.
I'm completely baffled why so many companies that work in completely digital industries demand asses in seats.
Now, if enough companies realize a competitive advantage from saving $100K/dev/year on salary and office space that a leak in the bubble becomes visible… well, it'll be fun to watch from a distance.
...then the dot-com boom came and we all went and worked elsewhere. Which was good because our stock options never went up much after 1999 (to justify the salary anyway).
BTW, it was still one of the best jobs I've ever had working for someone else.
Or would be, if there were the slightest possibility of them listening.
If you know how to ask these questions, and what insight you're looking for from them, they can be very insightful. Here's the different types of questions and puzzles you should ask, how, and what insight to get from them: https://www.sandglaz.com/blog_posts/104-How-to-interview-and...
I go back to the stories of google rejecting mid-level management applicants because their college GPA's were 3.0 instead of 4.0 or they went to Georgia Tech instead of M.I.T. Seems like everybody makes these same mistakes.
http://www.businessinsider.com/15-google-interview-questions...
How about creating the rockstars rather than hoping for one to fall into your lap.
If you have another creative & efficient way to find candidates please share.
The first can be solved by getting one's name out there: writing a tech blog, hosting meetups, coming up with novel perks. The second is harder and more objective.
Most startups give mediocre salaries, but people know that. There are two things about startups that damage them, though.
1. Low equity. Once the VCs get involved, equity allotments become so low that their motivational effect is pretty much nil. I feel like the current culture of startup mediocrity has a lot to do with the fact that seriously skilled people aren't interested in the laughable equity amounts they get in post-A startups, unless they can treat it as a 9-to-5 day job and have almost unlimited autonomy.
2. Low autonomy, which surprises people. You're more able to have a global effect on the company in a startup-- that's pretty much impossible for a big corporation-- but the amount of day-to-day personal autonomy people have over their own work and careers is often less in the startups. Big companies can't compete on options and usually pay market (because they set the market rate) so the good ones give their good people decent projects. A lot of startups have micromanagement and, worse yet, an increasing number that have that MBA douchebag culture are popping up (and if you work for a startup with MBA douchebag culture, you get the worst of both worlds between big and small companies; the risk and division-of-labor uncertainty of a small company, usually run by someone too unstable and arrogant to last more than 6 months-- which isn't even that hard to do-- in a large one). New York is full of startups run by MBA types who couldn't hack it in real finance but made enough contacts to raise VC.
I'm pretty sure I'd have no trouble hiring good developers. I'd run open allocation as far as possible, and I wouldn't give out any equity, but replace that with a far more generous profit-sharing program. There wouldn't be far-off payouts with messy tax implications as with options, but bonuses would be 200-500% in good years.
Honest question -- you have a bit of a reputation, I'd say mainly from your Hacker News rants. Do you think that those will help or hurt your recruitment prospects?
In the short term, it makes me unfundable (but that's OK, because I'm not interested in raising money right now-- too many douchebags in the game) because I've brought out too many unpleasant truths, but would be neutral-to-positive if I were the one doing the hiring. In the long term, I think it's favorable, because I think (hope) that the culture will evolve to a point where I seem prescient rather than pugnacious. If I'm wrong, and the startup culture devolves, then, I don't want to be a part of it anyway.
In the long term, everything I've said will seem prescient. But I'm pretty sure my chances of getting VC funding right now are zero. Those chances were never strong, because I wasn't born into that kind of connections, but I've pissed a lot of people off. That's OK, because I'm interested in starting something when the scene is clotted with douches. I'd rather wait 5-7 years for the douche tide to go out.
That might be true if you work for a shitty, tyrannical founder. In my experience, a good startup will recognize that they need employees to be relatively autonomous and self-sufficient, simply because the higher ups don't have time to babysit. Startups lack the resources for multiple levels of engineering managers, and therefore shouldn't hire people that they don't trust to be autonomous.
A big thing for me is references. I have good references but I don't like to bother people. These are often from bosses who I worked with four years before and have only had sporadic contact with since, I don't want to be asking for favors every other contact.
Some companies, in e-mails before I even talk to anyone want me to send them references. I mean it's not like people ask for references as the last step before making an offer.
So what I have to do is when I'm looking for work, contact all my references, make sure my phone # etc. for them is current, and ask if they'll give me a reference - they always say yes. I figure I'm then good for the next few weeks/months in terms of that.
But it also means I basically have to make the major commitment of saying I want another job. Then I go looking and look until I find one.
If people were not so free with asking for references before I even talk to someone on the phone even, I could look for work at my leisure. If a headhunter contacted me, even if I wasn't looking, I could talk to the company. If they said they were almost set with the decision and just wanted some references, then I could do that as a last step.
Really it limits when I am available to hear offers. I am only open for offers every 2-3 years, in the weeks and months I am looking for a new job. I'm not open 18 months into a job, because I'm not going to hassle 3 old bosses for one company which hasn't even decided if they want to do a phone interview with me yet.
Of course I can always say I don't give references until later in the process, but usually it's some HR drone handing me a sheet and telling me to fill it out. If I don't put contact for references they tell me I should fill that in. It's like I'm sloppy for not bringing contact information, or have something to hide in not wanting to hand out reference information freely. People can say "tell 'them' so-and-so" but there's no them, there's an HR information sheet and some HR drone only peripherally connected with the hiring process.
It's not a big deal for me, it just limits my availability for talking to a 4-6 week cycle out of every 100-150 weeks. Companies throw up these barriers against themselves, then wonder why they can't find people.
There's other things as well. I work from 9 to 5. But companies want me to come in at 10 AM, I wait around 30 minutes for the first person to talk to me, then they want me to talk to someone else etc. Then two people who I have to talk to before getting hired are busy or not there. Also, if I schedule one a vacation day during the week, my current company might wonder what I'm doing. How am I supposed to make time for these long, drawn out interviews during the work week?
Then of course there is specialization. Wanting someone who knows a language like C++ is fine. Even wanting someone who knows OpenGL is fine. Or even more specifically, OpenGL ES if OpenGL is too general. But then they want people who know who Objective C for Apple hooks into C++ with OpenGL ES, as opposed to someone who has maybe been doing Java and JNI hooks into C++ with OpenGL ES. Or if that is not specific enough, then something even more specific.
Or it might say BSCS required. So if you're a few classes short - tough luck.
The entire interview process is geared towards company's establishing their dominance in the relationship from the get-go. You go hassle your old bosses, asking them to put in a good word for you. You come here when you're supposed to be working. And so on. Companies throw up these barriers as if there is a huge excess of good programmers they can pick and choose from. When that pool dries up, do they think, gee, maybe we should change how we interview? Of course not, they just complain how they can't find talented developers, and lobby Washington so that foreign programmers don't have to hop through the immigration hoops everyone else has to.
They don't see a lack of talented programmers, they see a lack of a large pool of talented programmers they can put over a barrel. Because otherwise they would have changed how they do interviewing.
While they only have the option of griping about lack of talent, we have options beyond griping about interviews. With the cloud, growth of mobile and app stores etc., as everyone says, now it's easier than ever to get your own personal (or partnered) income stream going. Hopefully mine grows to the point where the spectre about potentially having to go on a job interview ever again diminishes to nothing. I dislike enough the more easy interviews about whether I will consult on a project for a few months.
>implying implications
we do now: http://userscripts.org/scripts/show/178736
>greentext now displays
>newfriends learn to triforce eventually
It also sounds like you are applying for a lot of positions that are straw men - listed positions designed to be so specific that no good candidate can be found. It happens a lot in big companies (because sometimes HR makes it harder than it should be to promote from within) and companies that want to game the H1-B system.
Finally, you probably don't want work at a company that asks software engineers to fill out applications, unless the application is very domain specific (like the YC application). That's a signal that the company doesn't value software engineering like they should.