I'm #1 engineering hire in the current startup I'm at for the past 2 years. I know more than half a dozen programming languages (ie I can read them, and reasonably tell if you're doing something horrific to the code) and I can competently/ confidently work in at least a few. Yes I have one language I'm deep in. I can do reasonable sys admin works, setup aws shit, knowing most of the basic work you need to know to set up <15 servers up and running. I will probably need both my eyes open and a google tab, but I can definitely get it done. And I am definitely at least half competent as the average Google/ FB employees, confirm by a sample size of ... a few (sadly, none of them being my interviewer).
Yet, I have failed to get the damning H1B in the last 2 years and have to leave next year. My company do plan to set me up with the green card EB process, but that takes a few years. And startup being startup, sudden death isn't particularly rare, you know the drill. I've been asking people every time I heard their them complaining about h1b and low skill ... and I have never gotten an answer.
Also, I'm trying to find a new job in SV for the past few months (thinking that I should live there for a bit before leaving the States), and the job finding process has changed me from self-doubt to angry to disappointed to wtf-is-going-on-up-there.
So, unicorn-without-a-horn developer looking for remote job! Will anyone hire me, wink wink ;)?
Find my contact info in my profile, feel free to get in touch.
How much more? $250,000? $500,000? $1,000,000? $3,000,000?
Sure, it is plausible that if all the companies in SF tried to pay virtually unlimited amount of money for exceptional programmers, they'd eventually run out of those programmers. After all even in major league baseball there are only so many 100 MPH pitchers to go around. But it's hard to credit claims that we are in that situation rather than one where the money _is_ the issue, when you aren't seeing numbers that would make a BigLaw junior partner or investment bank managing director jealous, much less a professional baseball player.
There is one kind of shortage though, and one that is adequately compensated; programmers willing to work at below average wages for lottery tickets (read: technical cofounder equity) that happen to hit, and therefore end up making millions -- they don't even need to be exceptionally skilled, just right be in the place and right time (I've known several of these). But show me an Anthony Davis of coding who is paid as such, and I'll show you someone who is a skilled manager/entreprenuer.
Let's also consider that the middle management layer is earning 2x and upper management at least 3x a senior developer who's stuck somewhere in the 100k range. Trim the fat and you can have as many developers as you want.
it's about time for (good) engineers to get an appropriate share of the pie.
Now businesses have to either pay for training (which can take years and is expensive) or pay enough to encourage people to get into complex software dev for the money.
If you go the second route the starting salary needs to be six figures and needs to go up to 500k+ just like for lawyers and doctors.
a) US companies will hire those remote workers, causing cash to flow out of the US
b) companies will set up in those countries to compete with the US companies, but without the burden of the US' skyrocketing salaries.
This happened in manufacturing: the US had high salaries, so costs of manufacturing were too high, so the US started outsourcing to Asian, and now the manufacturing industry in the US is so bad that companies can actually afford to hire US manufacturing workers again.
The solution: when wages skyrocket, bring in foreign engineers. When wages are depressed, don't.
Isn't this pretty soundly debunked at this point? Honest question because I hear alternately "US manufacturing is dead" and "US manufactures more crap than anyone else except China, barely". I get the sense that saying the US manufacturing industry is dead because it doesn't employ many people, is the same as saying the US agriculture industry is dead for the same reason, and also wrong for the same reason (i.e. number of people employed is a weak metric for the strength of an industry).
nope. you are mistaken, nothing keeps companies in any specific place except opportunities. With labor prices so cheap in Asia, what would stop company to just move all production off shore like they did for electronics?
they are trying, have tried and will try again countless time to outsource tech jobs, but it will take more years for them to figure out the quality issues they're having in doing so.
anyway it's not like oversea there are millions of great coders and engineers just waiting to code for food. STEMSs tend to be of higher education overall, which makes exploiting them harder.
Most US companies won't even hire remote workers here.
I'm not saying we have one. But I'm also suspicious of the self-serving opinions that rank-and-file developer salaries ought to be 10x higher.
The truth is the mid and lower tiers are easily replaceable and why we see things going off-shore so frequently; and it's also what we have the most of. When it becomes a matter of very highly skilled, very highly talented people for the job: often times talent that you need you have a hard time finding... anywhere. This is why high tech companies are complaining about shortage; sometimes you just need better staff than what's generally on the market to maintain standards.
That's when you pay more. A highly skilled programmer can easily make a million dollars a year for a company, so if demand is really that high and supply that low, there would be far more companies willing to pay $500k salaries.
A programmer can easily make a million per year for a company and still find himself with almost no leverage within the firm, compared to someone on the business side of things doing the same. I'm in that situation myself, having made the company my salary for the next decade or so within my first year there, and yet you would not know that from looking at the work I'm doing here now or my career prospects here going forward.
The fact is it is difficult for non-programmers to properly assess the skill of other programmers, and at the same time existing programmers within just about any company you can name, are low-status enough that their recommendations for salary will go ignored. And so it is easy to see how most of the players on the supply side of the job market for software development, will behave very irrationally.
That $130k starting salary you mention is enough for a person to afford a studio in the Tenderloin these days?
3 month bootcamp attendees shouldn't make more than $75k. They are junior as hell, and add little if not negative value for a long stretch of time. Even $75k is a reflection of the crazy job market, not their actual value.
Your COL & salary analysis for SF is incredibly off. Yeah you'll probably have to sacrifice the excesses of your upper middle class SF lifestyle (boo hoo...). You can easily live on $75/k year in a $1600/mo studio in the Tenderloin, or on the flip side you can have a $1600/mo shared apartment in the Marina. You can't do that if you have a family, (but if you do, that's on you for switching to programming while needing to support a family).
Crappy programmer entitlement is just so off the charts (and disjointed from reality) it's a little frustrating.
* Expect to earn the median income
* Expect to have a decent lifestyle.
* Expect to be able to have a family
Sounds like crappy employer entitlement to me.
It's also unfair to your family to decide to support them as a completely inexperienced developer. Have some savings for a couple years until you can add value.
I don't know what Ivy League school you went to, but for relatively normal people an excellent lifestyle can be had on $75/k in SF. An upper middle class, eat out every night, Tahoe weekends lifestyle is not going to happen on $75/k in SF, especially if you want savings. But that's ridiculous to expect that a no-skill/ no-value newbie should get that. You still have to earn your salary.
Median home price just hit $1M. We are talking _median_, not a mansion.
http://www.sfgate.com/business/networth/article/1-million-ci...
Wake me up when senior people in software can reach compensation levels of doctors and other professionals ($300-400K).
$75k is not the median income for programmers. $75k is the median income for anyone in SF. Which is exactly my point. To expect engineers to live in SF, you have to be willing to pay exorbitant salaries just to break even. If you want to pay a good salary, you pretty much have to pay 6 figures. Don't like it? Move to Cleveland or Detroit. I'm pretty sure $75k would be considered a great salary there. Just don't complain that developers cost too much and then require them to live somewhere with such a high cost of living.
If it does not, then $75k/year gross will be cutting it pretty close. You'll also be required to have next to no savings.
The commute on BART into SF is about 45 minutes.
Not enough housing because next to no housing is being built, let alone construction anywhere near the rate required to meet demand.
Honestly, $120->150k gross (pessimistically ~$72->90k post-tax) doesn't go all that far when you're paying anywhere from $24,000 [if you're lucky] to $48,000 (or more) per year in rent.
The outrageousness cuts both ways.
The problem is that there's a shortage of companies willing to invest in training.
Not only is it expensive, but training people in transferable skills can all too often result in them quitting right after their training is complete and going to work for a company that invests in paying its employees more money instead of training.
Yes, and since the financial crisis their share of profits as GDP has never been higher yet they still refuse to invest in training themselves. Instead they demand that the immigration floodgates be opened.
They don't want to do it because they just don't see employees as people any more. They're resources, to be tapped until they run dry, at which point, they are discarded.
This is a marked cultural corporate change from the 50s-70s when the 'job for life' was still a thing, people got defined benefit pensions and CEOs would choose to make long term investments rather than engage in share repurchase shell games that boost next quarter's share price.
>Not only is it expensive, but training people in transferable skills can all too often result in them quitting right after their training is complete and going to work for a company that invests in paying its employees more money instead of training.
This used to be much less of a problem when companies actually demonstrated loyalty to their employees. A natural side effect of lobbying hard to make it trivial to fire people and doing layoffs as a matter of course is that your employees won't be loyal. Tough shit.
Yes, once you train a person you need to pay them more. You might feel like they owe you, but unless there is a real understanding between the two of you that you are investing in them and expect to pay them less for some period of time to recoup the cost (eg in the form of a contract you both signed stipulating a minimum term after training, with claw back provisions), this is what you should expect.
Depending on how much it costs you (besides their salary) to train them, it can still be cheaper to hire and train than getting someone experienced, since everyone needs some time before they're really effective and you're paying them at a lower rate while you train them.
There is something to be said for small startups just not being able to support that kind of load, but I feel like once you hit about 20 engineers it's just people being lazy and not wanting to do things any differently, rather than any true constraints.
The fetishization of the 10x developer leads us to ignore the fact that lots of the work developers are tasked with doing is really quite repetitive, intellectually unchallenging and uninspired.
Then why the fuck isn't work automated away? We're developers, for God's sake! We develop things!
The fact that something is repetitive and intellectually unchallenging doesn't mean it is mechanical and doesn't require human involvement and/or judgement.
I think this depends a lot on how you do the training. Sure, if you think of training as something very separate from the work, then doing lots of it could be expensive. But the last team I put together was very collaborative, with pair programming being the norm. In that environment, a lot of training comes essentially for free.
In a rapidly growing startup, I think building your processes with a strong bias toward staff development is the best way to scale. No matter how much experience a new person has, they still have very low knowledge of the product, the audience, local process choices, and the local code base. So startups always need to be educating their staff. Adding some technical education on top of that doesn't seem hard.
Personally, I've never quit a place where I'm still learning a lot. But I've hired plenty of people because they felt like they were stagnating in their current jobs.
This shows up a lot, and it's worth debunking. Salary is not the only reason that people take a job, and it's not the only reason that people switch jobs. There can be huge costs (for all parties) to casually switching jobs, and most employees stay put longer than the training period. Additionally, there are standard contract terms that enforce retention periods in exchange for certain types of training (e.g., advanced degrees, etc.). Finally, "salary for engineers" and "training for engineers" are not the only headings in the ledger for running a company - and the value of a company is not a zero sum game; a well-trained technical workforce is more valuable than the alternative, but it has lately been more cost effective and lower risk to transfer that responsibility to (prospective) employees.
"Training" is far too broad a term for this to be accurate. Training can mean anything from training someone how to use git to training a non-programmer to be a data scientist. We can't expect a company to spend multiple years on the latter, but even the smallest, leanest startup can afford the former.
Where do we draw the line?
Train a team of people and they'll be more productive than you on your own.
How so? Nearly every tech company has extensive internship programs, which are undoubtably an investment in their future workforce.
Moreover, high tech salaries are compensation for learning this stuff. If you were to spend years learning on the company's dime, I'd expect salaries to be much much lower.
Or just cheap labor.
>Moreover, high tech salaries are compensation for learning this stuff. If you were to spend years learning on the company's dime, I'd expect salaries to be much much lower.
I'm not complaining about the tech salaries. They are. That's why several of them engaged in a wage fixing cartel.
No sane employer turns to an internship program for cheap labor. For one thing, intern salaries are not exactly "cheap" ($10k+ at SV companies).
For another, nearly every intern is a net drain on the company in the immediate term. They take more time for supervision than it would have taken for a senior developer to just accomplish their project.
If you assume that interns are actually cheap labor, I have to assume you've never run an internship program.
> I'm not complaining about the tech salaries. They are.
So why should they invest in training? In the immediate term, training actually makes the shortage more acute (as you have to move senior engineers into training programs).
The far more sensible solution is to just bid higher until you can get the senior developers which are actually out there. Note that that's what actually broke the wage-fixing cartel: Facebook.
Of course, they would always like to pay less for developers (just like I'd like to be paid more and would like to pay lower taxes). Fortunately, unless you have a magic training program which compresses 10 years of experience into 4 weeks, salaries are likely to stay high for quite some time.
You're kidding, right?
>For one thing, intern salaries are not exactly "cheap" ($10k+ at SV companies).
Relative to tech salaries after graduation that's cheap. In industries without such high salaries interns often don't get paid at all. That's super cheap.
>For another, nearly every intern is a net drain on the company in the immediate term.
So are many dirt cheap outsourced developers. That doesn't change the why they are hired.
>So why should they invest in training? In the immediate term,
For a long term investment pay off.
>Note that that's what actually broke the wage-fixing cartel: Facebook.
A class action lawsuit by tech employees broke the cartel.
I've literally never seen a company make a net profit on interns. Talk to people running intern programs: it's explicitly seen as a hiring funnel for full-time, not as an end of itself.
> A class action lawsuit by tech employees broke the cartel.
The lawsuit came after the cartel had already stopped functioning. Facebook refused to play ball and started recruiting aggressively from the other companies (particularly Google), directly undermining the wage-fixing.
Other industries (law, finance, fashion, media, etc.) heavily exploit interns to profit off their desperation.
(which is something the tech titans are trying to "fix")
Keep in mind that we're not talking about teaching people computer science in the abstract, or turning non-technical people into engineers. People applying for programming jobs should be able to demonstrate some level of general competence of course. But if your HR department has a laundry list of keywords it is pattern-matching CVs against, with the result that many eminently-qualified candidates are dismissed without so much as a phone call or even a Codility screen or whatever, then you either need to take another look at in-house training or quit the constant bleating about a shallow talent pool.
This is a sad excuse. Companies should be paying for training of specific skill sets to the company, but not for knowledge and skills you should already have to get the job.
This would be like asking a hospital to pay for medical school to get a qualified doctor. It's absurd.
Here's a cleaner example: suppose getting an M.D. required a filing fee of $800,000. You don't think that would show up in what hospitals paid doctors?
What? As far as I know, hospitals don't directly pay for medical school.
Rather, the cost of medical school is reflected in doctor salaries.
(Just as the cost of training is reflected in developer salaries.)
> You don't [think] that would show up in what hospitals paid doctors?
to your
> the cost of medical school is reflected in doctor salaries.
Yes, I accidentally left out the word "think". But we're saying exactly the same thing.
The OP is implying that an employer should not only pay a salary, but pay for an employee to get trained.
Starbucks is hiring, but a lot of the workforce that is unemployed is overqualified with bachelor degrees that they thought would guarantee them a safe job on a nice career track. Upon graduation, they are finding that there is a shrinking pool of jobs for them, and that they'll either have to retrain (do a masters or do a crash coding course) or take a job well below what they expected with their degree.
Most of these people will have to rely on connections or networking to get a decent job, and the unlucky ones will join the services industry and work as a barista or a waiter, providing the infrastructure for the tech gold rush.
50% employees are baristas.
35% are shift supervisors
15% assistant store manager or higher in the hierarchy
Which means the odds are overwhelming that every employee you interact with in a normal Starbucks doesn't have a college degree. So why this view that college grads are flocking to Starbucks because they can't find jobs.
In fact, Starbucks has started the free college option to make sure that even non-degreed people will find Starbucks attractive enough to apply. [2]
[1] http://www.bloomberg.com/bw/articles/2014-10-07/starbucks-is...
[2] https://news.starbucks.com/news/starbucks-offers-full-tuitio...
I avoided singling out the larger corporations at the end of my comment (Starbucks, McDonalds, Dunkin Donuts) as I don't have any friends who will be working service jobs for these chains.
I graduated undergrad a couple of months ago, and I do have a fair amount of friends who gave up looking for work in the finance/startup field full time and are now working at trendy restaurants/bars in the SF NY area to make ends meet while searching on the side. Anecdotal evidence, but that's what I've seen.
I would also add that despite quoting juicy statistic from your article, you don't seem to have read it accurately - there's no about how many baristas have degrees. The only comment is that 25% of all employees have degrees. I don't have the data tell what the chance is that the average Starbucks barista has a college degree but I'd claim neither do you if you're just going by that article.
(For any developers looking to work at a cool startup, shameless plug: http://readme.io/careers/)
Ads can catch good people in transition, or looking for a change.
Anecdotally, I've hired truly great people, and interviewed ex-Googlers and other good pedigrees, from Stackoverflow Careers and HN posts.
1) I once hired a pre-Googler on StackOverflow even - a guy who was on his way to Google in the fall, but liked my project, and wanted a summer gig. He intended to spend a few months vacationing, but got bored.
2) Another guy I hired via HN originally just left for Facebook, this month :(
3) And our current, long term, best developer, I found on Careers StackOverflow. I credit him with much of the success of our company. He's a special combination of outdoorsy and amazing coder, but no college or professional pedigree. He was hurling dynamite at avalanche banks when I found him, coding amazing apps with little revenue potential.
http://www.joelonsoftware.com/items/2005/01/27.html
http://www.joelonsoftware.com/articles/FindingGreatDeveloper...
Either you're not being honest about your opinion of those sites and others like them, or you are behaving irrationally.
If nothing else it'll be interesting to get a glimpse of the prospective employee side of this puzzle.
Remember: Any time you hear an employer whining about "lack of qualified candidates" be sure to mentally append "...at the rate we want to pay."
But if the cost of an employee is > their value, you get massive off-shoring. That's the danger, and as an Australian the opportunity, of Bay Area pricing being so crazy.
If the Bay Area wants to keep its advantage - in a world where Alibaba is the lead IPO of the last 5 years - it needs to remain competitive in all ways.
Rome wasn't built in a day, but it fell in one.
It may be that the cost to attract talent to the Bay area is now too high for all but the most profitable businesses. I have no idea if this is true or not but conceptually the giant payrolls needed may finally be overwhelming the benefits of locating a company in the area.
There's both an excess of jobs and excess of employees. This is probably true in every industry (every Starbucks is hiring, yet everyone complains how hard it is to find a job), but it's especially true in tech.
The problem is there's a shortage in qualified candidates. Salaries have gotten so high that even the most mediocre developers are demanding six figures. There's been a huge inflation of salaries in tech, and a decrease in craftsmanship and quality. So, companies are getting less done for more money. It's a gold rush, and we're getting to the point where "3 months experience [1]" is the norm.
I've been trying to hire. I'm not worried about high salaries for someone good. However my inbox is full of people who know half a language and want a starting salary of $130k. That's crazy.
[1] http://www.nytimes.com/2015/07/29/technology/code-academy-as...