The Frenzy About High-Tech Talent
June 29, 2015 3:42 PM   Subscribe

"A recurring complaint is that not enough of our young people and adults have the kinds of competence the coming century will require, largely because not nearly enough are choosing careers that require the skills of STEM...The US has all the high-tech brains and bodies it needs, or at least that the economy can absorb."
posted by Lycaste (114 comments total) 35 users marked this as a favorite
 
Somebody's not trying to hire in tech right now.
posted by effugas at 3:48 PM on June 29, 2015 [18 favorites]


In Matloff’s view, the dramatic warnings about scarcities of skills are actually “all about an industry wanting to lower wages.”

This - an interesting article from IEEE Spectrum makes the same argument:

The STEM Crisis Is a Myth [Aug. 2013 - related: Exposing the Roots of the Perpetual “STEM Crisis”]
posted by ryanshepard at 3:53 PM on June 29, 2015 [21 favorites]


But, but... are they STEM guys that look like future billionaires? And I do mean, young, silicon valley ruggedly competent-looking with a great canned elevator speech? (and by competent-looking I mean "looking", that they can dial up an uber car for the appointment without breaking stride). And we are limiting this to guys, right?
posted by sammyo at 3:53 PM on June 29, 2015 [3 favorites]


while the alleged needs for STEM workers are open to serious question, including whether the demand for them may be exaggerated and manipulated.
I've found through the years that whenever a CEO or businessman says he can't find workers for XYZ, what he really means to say is that he is unwilling to pay what it takes to hire them. Also, it follows that if your financial success requires getting highly trained professionals to work for less then you're not very good at business.
posted by Pogo_Fuzzybutt at 3:57 PM on June 29, 2015 [139 favorites]




Well, they're not exactly unwilling to pay what it takes to hire them. They're unwilling to pay STEM workers what they are worth, but they're more than willing to acquihire a company and pay management and investors what their STEM workers are worth.
posted by ckape at 4:06 PM on June 29, 2015 [19 favorites]


Returns on a Stem v Humanities degree. I am sure the tech and engineering industry want to lower wages. every industry wants to lower wages - if you can lower wages you can increase profits. But these workers in the US already get wages at a 1.5X premium over Europe long term so there must be some demand there! I don't think people necessarily need stem degrees - but they need to have undergrad level calculus and statistics to enable an Odyssean education.
posted by Another Fine Product From The Nonsense Factory at 4:11 PM on June 29, 2015 [2 favorites]


A recurring complaint among workers is that wages are too low.

But why does that complaint never get attention? Guys, help me out here, I'm at a loss.
posted by Noisy Pink Bubbles at 4:12 PM on June 29, 2015 [27 favorites]


And I do mean, young, silicon valley ruggedly competent-looking with a great canned elevator speech?

The problem is not a surplus of tech nerds, it's a shortage of elevators. Can you imagine a world where anybody could pitch any random idea whenever they wanted? There WILL be a billion-dollar company that serves this need. And that's why I think you'll be interested in my startup. It's like Uber, for elevators.
posted by compartment at 4:15 PM on June 29, 2015 [43 favorites]


Also, it follows that if your financial success requires getting highly trained professionals to work for less then you're not very good at business.

On the other hand, if your financial success requires getting rid of highly experienced professionals and replacing them (if at all) with interns and desperate college leavers, you're in publishing.

(note: this is not a new thing. The 20:30:40 rule has been around for a long time)

I too have long suspected that the 'skills shortage' is really an unwillingness to pay for those skills. If you want talented people, you can always hire them. Or you can get smart people with potential and train them yourself - you know, investing in "your most important resource". What you can't do is expect to get people with potential or talent to do drab work under indifferent management in exploitative conditions - even if you do trap some, they'll fester. If there is a skills shortage, it's in management.


(Oh, OK. "Hire them at 20, they'll be keen and will work for peanuts. Keep them at 30, they'll cost you more but still have a lot of energy and experience and something to prove. Get rid of them at 40, they cost too much and they're resting on their laurels. They're done." - Felix Dennis.)
posted by Devonian at 4:17 PM on June 29, 2015 [10 favorites]


A recurring complaint among workers is that wages are too low.

But why does that complaint never get attention? Guys, help me out here, I'm at a loss.
Because, as affirmed by the Supreme Court of the United States, money is speech.
posted by ckape at 4:18 PM on June 29, 2015


Because, as affirmed by the Supreme Court of the United States, money is speech.

So when your boss threatens to pay you less, he's telling you to shut up.
posted by Joey Michaels at 4:24 PM on June 29, 2015 [5 favorites]


Silicon Valley's problem is also that it's stuck being in Silicon Valley.

Google has offices in San Francisco & Mountains View - two of the most expensive places to live in the entire US and not far off from being the most expensive places on Earth - as well as offices in... Pittsburgh. And you should hear the Pittsburgh engineers laugh about what kind of house you could buy there for the prove of an "average" Mountain View house.

An average Mountain View house
A similarly priced house in Pittsburgh

If Silicon Valley companies wanted to pay less they'd simply open offices somewhere else. Like ANYWHERE else. Like not even Pittsburgh, like Sacramento or Davis or Portland or anywhere.
(I know that house prices are not the only element to cost of living but they are a good proxy and if a big issue for engineers relocating to take a job)

Which leads to one of two conclusions - that Silicon Valley companies are insane and totally out of touch with reality (a very possible option) or that Silicon Valley companies aren't all that concerned with lowering pay.
posted by GuyZero at 4:31 PM on June 29, 2015 [29 favorites]


Also having finally read to the end I feel this particular article once again misrepresents H-1B statistics and lumps companies like Microsoft and Google with Infosys, Wipro and Tata which are the real abusers of the immigration system. See for yourself.
posted by GuyZero at 4:41 PM on June 29, 2015 [17 favorites]


If Silicon Valley companies wanted to pay less they'd simply open offices somewhere else. Like ANYWHERE else. Like not even Pittsburgh, like Sacramento or Davis or Portland or anywhere.

Places with high costs of living are generally desirable places to live based on non-financial factors. Google does pay lower salaries in markets with lower costs of living, but they're actually higher in real terms than the salaries in SF/MV/NYC because talented people don't want to live there.
posted by telegraph at 4:47 PM on June 29, 2015 [14 favorites]


1) What ever happened to investing in training the right employee? Companies seem to expect the ideal worker with 25 years experience in x, y, and z niches and then are surprised when they don't accidentally stumble on this unicorn in the wild. Maybe you could take someone with x and y and teach them z?

2) I find it incredibly hard to reconcile these sorts of articles with the articles I also see about the depressing glut of postdoctoral scientists. If it's really just about programming/scripting ability, statistics, and undergrad calculus, why can't they take a bright, dedicated postdoc scientist with those three things and teach them the domain-level stuff they'd need to know to transition into their specific field?

I have little patience for anyone bemoaning the number of U.S. STEM skills while simultaneously ignoring all of the hardworking, smart people who graduated with STEM degrees and are now stuck on the postdoc treadmill. Unless by 'STEM skills' they mean 'being a young man with no children who is willing to regularly put in 17-hour days'...
posted by dialetheia at 4:57 PM on June 29, 2015 [54 favorites]


It used to be that if you got into science you could save the world from giant mutant insects and really hot Russian spies threw their bodies at you. Those incentives are gone.
posted by dances_with_sneetches at 5:02 PM on June 29, 2015 [23 favorites]


I too have long suspected that the 'skills shortage' is really an unwillingness to pay for those skills. If you want talented people, you can always hire them.

Definitely. This is Economics 101 - the supply curve and the demand curve. These curves intersect at the market clearing price.

Saying that the "supply is insufficient" is incomplete - the follow on question is, at what price?.

If you want to hire (e.g.) a senior engineer in Silicon Valley who works 70 hour weeks, there's a lot of supply. If you want to hire him at $50K per year, well, there's no supply at that price.
posted by theorique at 5:11 PM on June 29, 2015 [12 favorites]


talented people don't want to live there.

Thats definitely not true. A very large percentage of people I know in SV are only there because they think its good for their career, or because there is a lack of "interesting" companies (ones like Google, Apple, FB) in cheaper areas. But most of these companies are fixated on centralization and want everyone to move to SV, so people do (and complain about it endlessly).

I mean, obviously lots of people want to live in SF/SV. But there is also a sizable set of workers who are only there because thats where the jobs are, not because they don't want to live in a smaller or more reasonably priced area.

I spent 10 years in SV because I thought it was good for my career (it probably was) but it would take an awful lot to drag me back to that hellhole.
posted by thefoxgod at 5:17 PM on June 29, 2015 [14 favorites]


Also having finally read to the end I feel this particular article once again misrepresents H-1B statistics and lumps companies like Microsoft and Google with Infosys, Wipro and Tata which are the real abusers of the immigration system. See for yourself.

Microsoft and Google are numbers #8 and #12 on that list. Microsoft hires about 60% the number of H-1Bs as Wipro. I'm not seeing the gigantic chasm between these two groups that you do.
posted by crazy with stars at 5:20 PM on June 29, 2015 [4 favorites]


Plenty of companies will employ STEM graduates AND not pay them what they're worth.

A lot of people overestimate the competency of the management classes.

Having been an overworked staffer in a firm that regularly understaffed and then compensated by overworking the junior employees, I would say that the problem is American capitalism and incompetent management. Nobody wants to TRAIN employees any more, either. When I asked why it was taking so long to hire new people, I was told that it was very hard to find good candidates. That may be true if you're planning to hire people who theoretically already know how to do the job, even though it's entry level. Or you insist on a master's degree that is wholly unnecessary for the work being done. After referring people who were certainly smart enough or well-credentialed enough and seeing no result each time, I realized my company wasn't worth referring people to (I have since left it). There's a lot of obsession with "qualifications" rather than actual skills. At said company, they hired somebody at a management level, with a state-specific license you have to pass a test to have. Than that person asked more junior staffers questions he should have known the answers to, but why would he know the things he should know? That's what staff who didn't even work for him were for.

Many, many employees at my company got a master's degree for the sole reason that it was required in order to move up into management. They then used that degree precisely never.

Many also got professional licensing that they again used precisely never. For the same reason. Though employees did admit that adding letters after your name was cooler and a lot less time than getting a whole master's degree you were only going to use to obtain promotions or shop around for a better job.

The quality of our work output was frequently subpar, even as clients considered our technical reports better than our competitors, which is really bad news for the industry, because ours were frankly fairly crappy.

(Sidebar: Many Engineers make terrible maps. I was told by some colleagues that some of them deliberately throw too much information and extraneous crap on there to make it more difficult to read so people aren't looking too closely at the data)

Given the ratio of engineers to actual engineering at my firm, I can assure you very readily:

We have enough engineers.

With the possible exception of more rarified fields like microprocessor design, there are enough people studying for the jobs we have. But when was the last time you heard a company complaining that they couldn't find enough people who knew specifically how to design a GPU, or how to write x86 or ARM assembly code? Or that not enough people were studying advanced materials science and come up with new varieties of plastics?

Also, don't send an engineer to do the job that somebody who's not an engineer might do the same or better. Looking at you, states who have Professional Engineer licensing but not Professional Geologist licensing.
posted by Strudel at 5:21 PM on June 29, 2015 [14 favorites]


The solution would have been to develop a plan that didn't rely on a few "superstar" programmers...

Except study after study shows that "rockstar" engineers provide 10x the productivity than their peers.

Yes, it's a controversial statement, referred to often as a myth.

However you feel about it, though, consider the converse -- how much productivity is lost because of bad engineers dragging everyone else down?

This is why the two sides can say there's plenty of STEM candidates and a dearth of STEM candidates, and both sides can be right. Because there's not one definition and wide variation between the two camps.

I'm not a high-end talent, but I work with many of them. At one point in my career, for a year, I stopped working in my software industry (video games), and worked in a different one (CRM software). The difference in average talent levels between the two was profound. If we did some head-to-head whiteboard challenges, the game engineers would kick ALL the asses.

So, yeah, a CRM company might look around and go, "Plenty of talent here!"

But the game companies are handing out $15,000 referral bounties.
posted by Cool Papa Bell at 5:23 PM on June 29, 2015 [18 favorites]


I'm not seeing the gigantic chasm between these two groups that you do.

I think the chasm has to do with pay. Sure, Google and Microsoft have a lot of H1Bs, but they are well paid and making more or less the same pay as non-H1Bs. I think thats less true for the... shall we say... less discriminating employers.

H1Bs hired by Goog/FB/Msft will be getting offers at multiple companies and have negotiating power (somewhat reduced by the visa, but not to nothing).
posted by thefoxgod at 5:24 PM on June 29, 2015 [6 favorites]


I'm not seeing the gigantic chasm between these two groups that you do.

Microsoft pays 60% more than Wipro which dispels the notion that the H-1B visa holders hired by non-consulting companies are being underpaid?
posted by GuyZero at 5:24 PM on June 29, 2015 [2 favorites]


Definitely. This is Economics 101 - the supply curve and the demand curve. These curves intersect at the market clearing price.

This is true for fungible goods and liquid markets. Neither one of those two descriptions applies to hiring STEM workers.
posted by GuyZero at 5:27 PM on June 29, 2015 [1 favorite]


I've found through the years that whenever a CEO or businessman says he can't find workers for XYZ, what he really means to say is that he is unwilling to pay what it takes to hire them.

It's been my experience that every CEO or businessman tries hard to pay any worker considerably less than what they're worth, regardless of field.

I wonder if we're reaching a point where your standard STEM type job is becoming the blue collar factory job of our time. Some of our most successful companies don't make anything, but instead maintain databases and interfaces that fill our free time digitally, or contribute to the service economy or sell ads or install malware. (this is not a criticism of that kind of job or business, so let's not derail into a debate about the value of that type of thing.) So instead of factory workers churning out cars, we have factory social media companies churning out facebook, medium, twitter, tumblr, uber, lyft, slack, hipchat, google, vine, and on and on and on.

What if the idea that you learn a STEM discipline and become a trailblazer of the future is now basically a myth? What if, at any level below Founder of a successful startup, you're just a workman making functional uninspired code to support a larger machine within which you will achieve very little of personal satisfaction and within which you will be seen as largely replaceable overseas because it's just a baseline competence that is now necessary?

Sure it still requires an education, but it's an education that many of our most successful entrepreneurs taught themselves by the time they graduated high school and which many people find colleges inadequately prepare their students for. So you graduate with a STEM degree, and unless you're the kind of kid who whizzed through this stuff for fun in your youth you mostly just become a code monkey.

I'll confess I don't know how much of this is true. Maybe I'm totally wrong. But it's really starting to feel like maybe the problem is that we expect that learning STEM should be an automatic upgrade to the upper crust, and our world has moved beyond that.
posted by shmegegge at 5:28 PM on June 29, 2015 [19 favorites]


I too have long suspected that the 'skills shortage' is really an unwillingness to pay for those skills. If you want talented people, you can always hire them.

This is always the case. Even if the Software Engineer unemployment rate were 0.0%, there would be thousands of candidates willing to jump ship for the right salary.

I'm writing this message in the lobby of Infinite Loop 1 (underneath the 3 story-ish tall hanging Watch/MacBook poster) , and if a recruiter showed up right now and placed an offer letter against the glass with a large enough number on it, I'd leave Apple this minute.*

Perhaps your business can't afford to pay people what they are effectively worth, but that is a different (while valid) problem.

* Don't worry IS&T, it would have to be a very large number.
posted by sideshow at 5:34 PM on June 29, 2015 [5 favorites]


1) What ever happened to investing in training the right employee? Companies seem to expect the ideal worker with 25 years experience in x, y, and z niches and then are surprised when they don't accidentally stumble on this unicorn in the wild. Maybe you could take someone with x and y and teach them z?

Yup, this is definitely a thing, particularly in tech - companies advertise what "skills" they're looking for, but the way they pursue people is actually rank credentialism combined with screening for the "right kind of person." People are rarely willing to consider any sort of transferable skill; they want to check the box with exactly the credential they're looking for. If you're applying for a position using Ruby on Rails, good luck telling them that you wrote a lot of Java apps for the Tomcat framework - that's not Ruby!

Between BASIC in middle school and Pascal in high school, I taught myself a bunch of C++. Then they made me learn Java in college, and within a couple years of graduation that was passe and I should have already been using C# or Objective C, depending on which empire I wanted to be part of. Should have already been doing it for 5 years, of course!

Any competent programmer with a CS degree can apply skills from one OO language to another one; from one web app frame work to another one; from a heavy RDBMS to a lightweight database. The transferrability just needs to be recognized and the new company has to be willing to invest even the bare minimum (like, less than a month!) in training. Instead people use these petty differences to filter almost like a high school clique honestly - yeah someone who programmed Java on Tomcat can probably understand Ruby on Rails in theory, but they're not, you know, one of our kind.
posted by Joey Buttafoucault at 5:38 PM on June 29, 2015 [17 favorites]


This is always the case. Even if the Software Engineer unemployment rate were 0.0%, there would be thousands of candidates willing to jump ship for the right salary

Sure, and the reason companies like Apple and Google pay so well is that now they actually are doing this (and competing against startups as well) so there is a bit of an arms race. (As the lawsuit from a few years ago shows, for a while they were _not_ doing this so as to avoid the same arms race).

But the supply of engineers is not infinite. So at some point you have everyone fighting over the same pool. The question is whether the pool is actually too small or not. If its a very small pool, you'll end up with a few companies that can hire enough paying very large salaries (as an engineer, that sounds good to me!). That seems to be the case at the top companies, given the rejection rates and the general bad quality of candidates for jobs where most engineers will be breaking $200K with bonus and stock.

But not all companies need the same kind of engineer. So saying "there aren't enough really awesome engineers" doesn't mean "we need to bring in a lot of average engineers" because its more likely there are enough of the latter already.
posted by thefoxgod at 5:39 PM on June 29, 2015 [1 favorite]


Yup, this is definitely a thing, particularly in tech

Curious where people see this. Startups? Ive been working for almost 20 years and every new job has been in a language I had never touched before. But most of these are big companies where they expect people to come on board and figure stuff out regardless of prior language experience.

I know it does happen in a lot of IT positions at non-tech companies (Banks, insurance companies, etc) --- presumably because HR/recruiters know very little about tech and don't know how to filter well.
posted by thefoxgod at 5:41 PM on June 29, 2015 [1 favorite]


In Australia at least, kids aren't chosing STEM because the government has absolutely gutted those industries. The coalition has a policy of M for Mining and that's it.
posted by turbid dahlia at 5:52 PM on June 29, 2015


A lot of STEM employment in mid-twentieth century USA was public sector - and that's where a lot of the basic research that leads to true innovation happened.

We gutted public science. We shouldn't be surprised that countries which actively support research have more STEM industrial capability.
posted by jb at 5:58 PM on June 29, 2015 [18 favorites]


If you want to hire (e.g.) a senior engineer in Silicon Valley who works 70 hour weeks, there's a lot of supply

What it you want to hire one who is TEN TIMES as productive as an average engineer?
posted by thelonius at 6:09 PM on June 29, 2015 [2 favorites]


Metafilter: Uber, for elevators
posted by sammyo at 6:14 PM on June 29, 2015


The Center for Economic Policy and Research, tracing graduates from 2010 through 2014, discovered that 28 percent of engineers and 38 percent of computer sciencetists were either unemployed or holding jobs that did not need their training.
The obvious question is what percentage of Business majors and English majors are holding jobs that genuinely need their training. There's a lot to be said for a broad liberal arts education. But, most of it can also be said for a broad education in quantitative subjects as well. Defining STEM education as job training, rather than life-education that also happens to provide specific job training to a fraction of its talented and lucky students is a weird choice that we apply to very few other fields.
posted by eotvos at 6:15 PM on June 29, 2015 [2 favorites]


I wonder what the supply is like of short-order cooks or car salesmen who are ten times better than their merely competent peers?
posted by thelonius at 6:33 PM on June 29, 2015 [5 favorites]


Yup, this is definitely a thing, particularly in tech - companies advertise what "skills" they're looking for, but the way they pursue people is actually rank credentialism combined with screening for the "right kind of person." People are rarely willing to consider any sort of transferable skill; they want to check the box with exactly the credential they're looking for.

Curious where people see this. Startups? Ive been working for almost 20 years and every new job has been in a language I had never touched before. But most of these are big companies where they expect people to come on board and figure stuff out regardless of prior language experience.

It's something of a paradox that a.) pretty much every programmer understands that a really good programmer (with whatever background) is worth vastly more than someone with X experience using framework Y, and b.) job postings for programmers are hyper-specific nonetheless. I tend to think this is the result of biz people *not* understanding how this works and/or companies exhibiting wishful thinking. The other possibility is that in certain places there are actually enough working devs that such demands can be met but my own experience is that companies do not usually treat all the requirements as must-haves in practice.

Since startup culture often fetishizes an engineering perspective one might expect them to be more realistic about this and sometimes they are. On the other hand since startups have no resources to train people sometimes they put out crazy aspirational ads and take the best-fitting person they can actually find.
posted by atoxyl at 6:40 PM on June 29, 2015 [2 favorites]


obviously I'm talking about requirements regarding experience with libraries, tools, and languages not, like, a PhD in machine learning
posted by atoxyl at 6:50 PM on June 29, 2015 [1 favorite]


I've never gotten a job based on what languages I've known and have often been hired to work in tech that I knew nothing about beforehand. My current employer hired me to do Ruby code knowing that I'd never written a line of it before and then once I'd learned that, switched me to JavaScript which I also had never touched before. They figure that once you've got a few languages under your belt, it's not that hard to pick up another.
posted by octothorpe at 6:54 PM on June 29, 2015 [1 favorite]


A lot of the time employers are just sorta sketching out their ideal hire (who is probably not actually available for the salary offered)
posted by atoxyl at 7:06 PM on June 29, 2015


What ever happened to investing in training the right employee? Companies seem to expect the ideal worker with 25 years experience in x, y, and z niches and then are surprised when they don't accidentally stumble on this unicorn in the wild. Maybe you could take someone with x and y and teach them z?

You know, trade unions do this - hire people with no experience, invest in their education, and then keep them around with high wages. And as a result of this, people will stay with a union job for 30 or 40 years - how often does THAT happen anymore?
posted by showbiz_liz at 7:07 PM on June 29, 2015 [11 favorites]


a PhD in machine learning

The good thing about a PhD in machine learning is you're in a position to have the machine write the dissertation for you.
posted by turbid dahlia at 7:26 PM on June 29, 2015 [6 favorites]


The result is like those creepy fractal-like pictures from neural nets that have been going around, except instead of shape and color you have grammar and context.
posted by idiopath at 7:38 PM on June 29, 2015 [5 favorites]


I too have long suspected that the 'skills shortage' is really an unwillingness to pay for those skills. If you want talented people, you can always hire them.

I am over on the borders of STEM (and about a million miles, in work terms, from Silicon Valley and the tech firms), but my experience is that this is not necessarily true. Difficult and technically demanding work is really hard to hire for, at both white and blue collar levels, even when paying very high wages for the region. A lot of people can't handle the work, and a lot of other people are willing to accept much lower wages for easier work.

Obviously, there is a salary level at which you would have your pick of the global creme-de-la-creme, but short of that exalted level (while still paying very generously) pickings get a lot slimmer. My work is different from the tech work described here in that there is physical difficulty on top of needing to be technically proficient, but the basics of the hiring problems sound familiar.
posted by Dip Flash at 7:39 PM on June 29, 2015 [1 favorite]


From the article:

"In less than 15 years, China has moved from 14th place to second place in published research articles."

Meanwhile, in reality:

Publishers withdraw more than 120 gibberish papers

"Labbé does not know why the papers were submitted — or even if the authors were aware of them. Most of the conferences took place in China, and most of the fake papers have authors with Chinese affiliations"

I'm not too worried about comparing our scientific output to China in this regard at least.
posted by permiechickie at 7:51 PM on June 29, 2015 [1 favorite]


the general bad quality of candidates for jobs where most engineers will be breaking $200K with bonus and stock
That's pretty much as high as it gets for developers, excluding the few successful startup millionaires. It's also what you get as a below-average doctor, or an average new lawyer.

I strongly suspect that most of the STEM crisis can be explained by people making rational decisions about their future income, job security and respect. When the long-term success path in a field is to do something else, a lot of people will go elsewhere or try to start in management from the beginning.
posted by adamsc at 7:54 PM on June 29, 2015 [6 favorites]


That is not true. Even in Seattle 200 is rare. Not unheard of, but rare.

Lot of very smart people making 100-140 everywhere. Not that that's a terrible salary, but it's less than many similar professions.
posted by miyabo at 8:00 PM on June 29, 2015 [2 favorites]


b1tr0t: Perhaps that's true in DC, but in Seattle that would be an insulting lowball for a senior dev.

huh?
posted by tonycpsu at 8:00 PM on June 29, 2015 [1 favorite]


I find it incredibly hard to reconcile these sorts of articles with the articles I also see about the depressing glut of postdoctoral scientists. If it's really just about programming/scripting ability, statistics, and undergrad calculus, why can't they take a bright, dedicated postdoc scientist with those three things and teach them the domain-level stuff they'd need to know to transition into their specific field?

I'm a former math postdoc who decided to jump off the treadmill and get a job at youtube. I know three others from my particular research area who have also come to Youtube. So, it does happen. My research area was particularly CS-heavy, with a lot of programming to find counterexamples and patterns that were too onerous to get to with a pen and paper. It's a bit different for people who never touch a computer in their research, of course.
posted by kaibutsu at 8:00 PM on June 29, 2015 [2 favorites]


Perhaps that's true in DC, but in Seattle that would be an insulting lowball for a senior dev.

With bonus and stock, maybe. That's near the very top for salaries as far as I know and I'm in the Bay Area.
posted by atoxyl at 8:02 PM on June 29, 2015


b1tr0t: just to add to the chorus, do you have a cite for that? Maybe I spend too much time with open-source folks but the only people I've heard mention that kind of money as common working in IT are specifically working on Wall Street.
posted by adamsc at 8:06 PM on June 29, 2015 [1 favorite]


Ask anyone who has attempted to fund a startup recently and you'll find that senior developer wages have stagnated around 150 base (plus or minus 20% for locale) thanks not to a supply problem but rather VCs are loathe to fund anybody paying developers what they're worth, because their pattern-matching models expect all but a very small number of technical staff to be fungible at that rate. Anything more and you're pressured to hire cheap junior people while leveraging equity to keep a small cadre of senior folk around.

This equity is rarely realized, driving actual hourly rates down to where VCs can stack the deck to ensure if anything in their portfolio pops, they make out quite well.

But we're America, a land of temporarily embarrassed future millionaires all.
posted by abulafa at 8:09 PM on June 29, 2015 [5 favorites]


I'm unlikely to be quite at a point in my career to make 200K (though I am definitely about ready to move beyond my current seat-of-the-pants company) I'm just going by what I've heard from other people.
posted by atoxyl at 8:13 PM on June 29, 2015


breaking $200K with bonus and stock ... what you get as ... an average new lawyer.

No derail intended here, but I can't let that one go unchecked. Nope, and those stats even leave out the hordes of unemployed and underemployed new lawyers.
posted by asperity at 8:31 PM on June 29, 2015 [3 favorites]


the only people I've heard mention that kind of money as common working in IT are specifically working on Wall Street.

Those numbers are pretty spot on for the Facebook/Google/Amazon/Apples of the world, not just Wall Street.

And let's not conflate the fact that tech hiring is hard with the "the STEM shortage is a myth" stuff that gets thrown around; the two are not mutually exclusive. STEM is a huge umbrella that covers a lot of fields, and software engineering is a very tiny slice of it. Just ask all my unemployed bio major friends.
posted by Itaxpica at 8:36 PM on June 29, 2015 [4 favorites]


There is a tremendous shortage of extremely talented professional baseball players able to play at the NBA level. It does not follow that there are going to be unlimited job openings for anyone who played college hoops. Nor can we expect to solve this problem by ramping up the size of college basketball programs. Also it is not realistic to expect the NBA to restrict its talent search to the USA and ignore talented players in other countries.


I am not saying that every software developer is at the level of an nba player, perhaps a better analog is more like minor league baseball, but even that is a bit narrow. I do think though that there is some level of natural ability, quirk of the brain between those who can be reasonably productive members of a software writing team and those who seem to lack the knack. This isn't unique to writing software. Writing fiction at a professional level also has this barrier. We can't just ramp up the number of highly rated fiction books published per year by graduating more English majors.
posted by humanfont at 8:38 PM on June 29, 2015 [1 favorite]


showbiz_liz: "And as a result of this, people will stay with a union job for 30 or 40 years - how often does THAT happen anymore?"

I think that no tech company, save a few who have already done it, and maybe a few who are on a trajectory to do so, but the vast majority of technology-oriented companies have no idea whether and how to survive for that long.

The math pans out that there is a lot of money traveling in the technology world, but pretty much all of it goes to people with connections and very little goes to those who actually make the stuff. There is some meat to the argument that software development is the coal mining of the Information Age, but it doesn't have to be that way. The money people, as always, have the ear of the political class, though, and that's where H1B policy is made, and their ace in the hole is that they'll just import people who are working for less. I'm not sure that the Industrial Age (or prior) produced any lasting solution to that problem.
posted by rhizome at 8:46 PM on June 29, 2015 [3 favorites]


I hate the term STEM. Stop lumping together the biologists and the Silicon valley coders making 10x as much. When people say STEM, they mean programmers and a couple of specific types of engineers. Most of STEM is a mess with no jobs or poorly paid ones. You should stay out unless you are going into IT or have a really specific, well researched plan.
posted by Mitrovarr at 8:58 PM on June 29, 2015 [23 favorites]


[breaking $200K with bonus]...That's pretty much as high as it gets for developers, excluding the few successful startup millionaires. It's also what you get as....an average new lawyer.

AHAHAHAHAHAHAHAHAHAHA

No.
posted by snuffleupagus at 9:06 PM on June 29, 2015 [3 favorites]


Come to Seattle and do some interviews. See for yourself.

Not to be contrary, but the going average I see is between $100-140k. If you are a first year at a larger firm that we have all bought stuff from, you might vest another $20-50k of stock in 3-4 years. Total compensation is still going to be well under $200k, even for second or third level ("senior") devs. Now project managers get paid really well, some upwards of $250-300k, but you're basically handing your free time over to the company at that point. And you won't be doing dev work, if that's your thing.
posted by a lungful of dragon at 9:19 PM on June 29, 2015


Disney is one of the most egregious abusers of H1B visas, laying off talent so they can hire H1B visa employees.

There are lots of CEOs who will eloquently explain that there is a shortage of technical talent and that H1B visa holders help fill this shortage, and that they are paid the same, etc.

There is a simple test of their honesty. If there really is a long-term shortage, they should be working to enhance the Green card program. Green card employees, unlike H1B visa holders, won't get deported if they lose their jobs, and can simply look elsewhere if they aren't treated well. They become taxpaying citizens, helping to build this country.

But, contrary to all effort being put into growing the H1B visa program, bring up the Green card program and you'll hear the chirping of crickets.

That's why I think all those CEOs are completely full of it--including TJ Rogers, John Chambers, and Bill Gates.
posted by eye of newt at 9:21 PM on June 29, 2015 [8 favorites]


Thanks, Mitrovarr. I doubt many people had "Geologist" in mind (aside from, ironically, the oil industry) at all when they said STEM. I worked with a lot of engineers, but only half of them bothered to respect the geologists they worked with, even when our knowledge - (Hint guys, soils are not homogenous, this has huge implications when you're trying to deliver a targeted in-situ treatment or track contaminants) was actually pretty important if they wanted to do their jobs properly.

But yeah, "STEM" makes a lot less sense when you realize that people saying it never mean that we should have more people studying biology, because why would biology - or heavens forbid, ecology, the science people are having a hard time realizing they should care about it, be counted in with the brogrammers who make big dollars by selling the newest ephemeral smartphone app while ecologists are furiously trying to save the rare endemic species we have left?

I'll accept "STEM" as a term when people treat E.O. Wilson, Wallace Broecker, or Shirley Ann Jackson (just to name some people living today) with the same adoration they afford Zuckerberg, Jobs, et al., because it seems like "STEM" really means "Disciplines that bring in those dollars in private industry"

Sorry, I'll get off my soapbox now.
posted by Strudel at 10:27 PM on June 29, 2015 [15 favorites]


If your rockstar engineer is 10x as good as your ordinary engineers, that engineer shouldn't be doing any engineering. That engineer should be a training/coaching mofo, furiously turning the other engineers into copies of rockstar engineers.
posted by ctmf at 10:38 PM on June 29, 2015 [3 favorites]


ctmf: If your rockstar engineer is 10x as good as your ordinary engineers, that engineer shouldn't be doing any engineering. That engineer should be a training/coaching mofo, furiously turning the other engineers into copies of rockstar engineers.

Yes, because anyone who's great at something can teach it effectively. That isn't a completely separate skill that has completely different requirements, or anything.
posted by Mitrovarr at 11:30 PM on June 29, 2015 [10 favorites]


Regarding "rockstars," in my experience, the most time in software development is wasted by not being in a position to call shots.

Developed a rock-solid feature? Doesn't matter because it doesn't fit in with the design or timeline of our rockstar over here, who just completely redesigned the project yesterday. Throw your work out and start again, and in a few weeks we'll wonder what on earth you've been spending your time on, and why you can't be as efficient as our rockstar.

Thus there is only room for so many "rockstars" at any given company. The rest of the space can be filled in by people who are willing to play second fiddle for second-rate compensation and credit.
posted by mantecol at 1:35 AM on June 30, 2015 [1 favorite]


Relevant XKCD
posted by humanfont at 3:33 AM on June 30, 2015 [4 favorites]


Strduel: it seems like "STEM" really means "Disciplines that bring in those dollars in private industry ..."
Yeah, and there's also the inference (touched on in the linked article) that putting students into STEM streams also means "keeping kids out of those pesky humanities courses that seem to turn them into weirdo lefty liberals." Let's not overlook the culture wars aspect to this, because it's a huge unspoken component of the "debate."
posted by Sonny Jim at 4:45 AM on June 30, 2015 [10 favorites]


What if, at any level below Founder of a successful startup, you're just a workman making functional uninspired code to support a larger machine within which you will achieve very little of personal satisfaction and within which you will be seen as largely replaceable overseas because it's just a baseline competence that is now necessary?

Oh, I realized that long ago.
posted by escape from the potato planet at 5:23 AM on June 30, 2015


If your rockstar engineer is 10x as good as your ordinary engineers, that engineer shouldn't be doing any engineering.

Most companies promote their rock star engineers into management jobs, or non-coding technical jobs, where they don't do a whole lot and usually get depressed and apathetic. Just my observation.
posted by miyabo at 5:56 AM on June 30, 2015 [1 favorite]


If you focus on the "rockstar" companies and highflying startups, I can see the (100+ favorite) comment near the top of this thread being accurate-- in fact, real collusion for pushing wages down was proven among those firms.

That, however, ignores the middle-of-the-road, or the non-sexy startups that still make valuable contributions to software, but haven't reached the great heights of the supernovas. I know from personal experience that hiring good engineers at a company like that is very difficult. It's not about an unwillingness to pay high salaries at all, it's about being able to compete with Amazon/Google for talented people. Building a diverse development team is even harder. There is a large gap between the good and the mediocre programmers, and more people in STEM would, in theory help this.

My company's way of competing has been to provide what can be missing from the huge companies-- work/life balance.
posted by cell divide at 6:10 AM on June 30, 2015


STEM streams also means "keeping kids out of those pesky humanities courses that seem to turn them into weirdo lefty liberals."

There's some truth to this, but I think you underestimate the capacity of humanities majors to turn into obedient corporate drones. Sure, it's slightly less than STEM majors, but not by much.
posted by Noisy Pink Bubbles at 6:33 AM on June 30, 2015 [2 favorites]


Oh, absolutely, NPB. My imagined quote, "keeping kids out of those pesky humanities courses that seem to turn them into weirdo lefty liberals," is entirely sardonic and was meant to skewer an anxiety among those (like Michael Gove) who disingenuously push STEM for culture war reasons, not describe an actual state of affairs necessarily.
posted by Sonny Jim at 6:39 AM on June 30, 2015 [1 favorite]


Oh man, this is a thing I have so many feels about! Let me share them with you.

Though an aside to start with, mantecol is spot on about the truth of a lot of 10x programmers — their shit often doesn't work and then the devs supporting them, who may honestly be just as knowledgeable, look "slow" as they clean up behind the rockstar. I'm seeing that right now with my fiancé, who has a background in game dev, writes ML stuff in his spare time, and is seriously one of the most knowledgeable programmers I know (and yeah I am biased), spends so much of his work day getting the "10x" guy's untested shit actually functional.

But! One thing I really wanted to talk about is how programming is so self-limiting when it defines what to look for in a good programmer, especially in terms of background, and how that is the source of so much teeth gnashing around diversity and general pool size. When people talk about the pipeline, they are so often using "evinces interest in math & science as currently presented" as the baseline for bringing people to programming. But you know who has the kind of skills to make awesome programmers? Lit people.

There are tons of lit people who love obscure grammar rules, who played word-based logic puzzles as kids, and who can untangle the logic of poetry far more inscrutable than even the hackiest code. These folks have a feel for languages and constructing logical arguments, where one step follows on another, in an elegant and decipherable manner. And some of them will fall in love with these same challenges in code — which is really just an arcane and limited grammar focused on describing domain-specific problems, but still a species of English, at base.

Voila! A whole new pool.

And how do I know this? Because, of course, I am one of those people. My undergrad degree is in writing and literary theory. And now I am a pretty decent self-taught programmer — decent enough to get into Hacker School and write my own little domain-specific compiler and get paid to spend the summer before grad school writing open source libraries. And I would be even better if I hadn't waited till my 30s* to find out how much I love this and how applicable my lit and logic skills are to the actual work of code.

I was really lucky to fall into the orbit of places like the School for Poetic Computation and the data vis scene, where everyone is from a different background and there is a deep acceptance of heterogeneity.** And where it is not assumed that STEM and humanities are in opposition.

And what I've found, now that I've gotten here, is that at some high levels of CS performance, things like creating openFrameworks and even game design is the people with the deep CS background and the people without come around to be not so different after all; the difference is the path that got them there. And if, when looking to expand the pipeline, college CS departments had considered reaching out to folks who ended up in the humanities because they loved language and were maybe isolated by some of the dominant STEM narratives, they might have had some more art/humanities and CS double majors and a pool of awesome, diverse folks with skills to bring to the table.

So instead of masturbating furiously to our images of the 10x / talented young white guy we need to come save us — and how we can find more — those of us involved with computer science, in industry and without, have so many more talented programmers just waiting to be uncovered if we can open our minds only slightly. And I think that is so fucking exciting.


* In college I actually asked someone who was taking intro CS what it was all about because it sounded interesting and he just snatched away his printed out slides and told me I wouldn't understand. So, fuck you, Alex, and thanks for setting me back so many years. I got there in the end.

** And to have a bunch of openminded friends who have been willing to informally educate me.

posted by dame at 7:33 AM on June 30, 2015 [30 favorites]


There are tons of lit people who love obscure grammar rules, who played word-based logic puzzles as kids, and who can untangle the logic of poetry far more inscrutable than even the hackiest code. These folks have a feel for languages and constructing logical arguments, where one step follows on another, in an elegant and decipherable manner.

...and they tend to write better, more coherent copy than MBAs! [again on my soapbox about humanities] if you want to look polished and together and smart in this world, you need humanities-minded people writing and editing. I used to work for a major energy conglomerate, and both internal and external publications were lousy with typos, spelling errors, and punctuation just all over the place. It was embarrassing. For god's sake, hire someone who likes to read and knows their way around a sentence. Programmers and engineers are valuable in their way, but we're doing ourselves no favors by disincentivizing non-STEM fields.
posted by witchen at 7:49 AM on June 30, 2015 [3 favorites]


the general bad quality of candidates for jobs where most engineers will be breaking $200K with bonus and stock
That's pretty much as high as it gets for developers, excluding the few successful startup millionaires. It's also what you get as a below-average doctor, or an average new lawyer.

posted by adamsc



You clearly have no idea what you are talking about.
posted by jayder at 8:11 AM on June 30, 2015 [2 favorites]


I know quite a few newish lawyers and none of them are making even close to $200K.
posted by octothorpe at 8:34 AM on June 30, 2015


Most companies promote their rock star engineers into management jobs, or non-coding technical jobs, where they don't do a whole lot and usually get depressed and apathetic. Just my observation.

A company I cannot name actually has a good record for respectfully demoting engineers back to engineering when necessary.

Yeah, they're freaks. Black swans, even.
posted by ocschwar at 9:13 AM on June 30, 2015 [1 favorite]


The good thing about a PhD in machine learning is you're in a position to have the machine write the dissertation for you.

So --

which one builds the time machine that makes this work?
 
posted by Herodios at 9:52 AM on June 30, 2015


Let's say I'm a smart math and language savvy student. I could go into a lucrative STEM field like CS or Engineering, and have a decent middle class life, and if I'm really lucky and have connections and move to the right geographical area, I might found a startup and sell it for several million dollars to Google/Amazon/Facebook (I consider selling a startup for $1BN+ a lottery ticket-like possibility).

Or, I could go into lucrative areas of finance and get a bonus much higher than your shit hot rockstar programmer's salary, and probably higher than the CEO at a startup.
posted by benzenedream at 10:44 AM on June 30, 2015 [1 favorite]


If you think tech has a bad work/life balance, don't look into what junior financial analysts have to do. Finance is brutal, even more so for junior employees.
posted by GuyZero at 10:53 AM on June 30, 2015


There are tons of lit people who love obscure grammar rules, who played word-based logic puzzles as kids, and who can untangle the logic of poetry far more inscrutable than even the hackiest code. These folks have a feel for languages and constructing logical arguments, where one step follows on another, in an elegant and decipherable manner. And some of them will fall in love with these same challenges in code — which is really just an arcane and limited grammar focused on describing domain-specific problems, but still a species of English, at base.

I really like this comment. I'm a pretty typical software guy, started when I was a kid, asked my parents for a book on C because I wanted to make video games blah blah I have a CS degree I'm a white/half-Jewish kid from an academic science family blah blah it's easy for me to fit in with programmers. But while I'm alright at math - once it gets abstract it gets interesting - I was never the one winning math competitions or even doing great in math class. There's a whole side of math - the spatial stuff - that I'm actually quite bad at. Before I discovered computers I just read books all day and killed anything having to do with English comprehension and verbal reasoning. So I completely agree that there's lots of underappreciated potential CS talent on the humanities "side" and I've never understood people who think of them as different sides in the first place.
posted by atoxyl at 10:56 AM on June 30, 2015 [6 favorites]


And man do I think language and compiler theory is awesome.
posted by atoxyl at 10:59 AM on June 30, 2015 [5 favorites]


Well, it's not just finance. Accounting, law, a lot of government administration (outside local governments which pay terribly), higher-end research positions in biotech/econ, chemical engineering, materials science, project management, many positions in medicine including physicians obviously but also nurses, PAs and administrators, IT at big companies (NOT dev -- just setting up/configuring purchased systems), lots of stuff in insurance and real estate, even recruiting positions all pay quite competitively with the tech sector. The alternatives aren't "starving low-wage worker" and "software engineer" which is a dichotomy I see a lot.
posted by miyabo at 11:02 AM on June 30, 2015 [1 favorite]


Let's say I'm a smart math and language savvy student. I could go into a lucrative STEM field like CS or Engineering, and have a decent middle class life, and if I'm really lucky and have connections and move to the right geographical area, I might found a startup and sell it for several million dollars to Google/Amazon/Facebook (I consider selling a startup for $1BN+ a lottery ticket-like possibility).

Or, I could go into lucrative areas of finance and get a bonus much higher than your shit hot rockstar programmer's salary, and probably higher than the CEO at a startup.


Yes, but Google will let you work a 45-50 hour week and actually have time to enjoy spending that money, while Goldman will chain you to your desk around the clock, surround you with the kind of douchebag that makes even the worst excesses of the tech world look cuddly and fun, and drive you to an early, coke-laced grave. I know which way I'd rather go.

There's a whole side of math - the spatial stuff - that I'm actually quite bad at. Before I discovered computers I just read books all day and killed anything having to do with English comprehension and verbal reasoning.

This is exactly me - I was always pretty bad at math, but I read constantly and wrote a ton. My CS degree is from a liberal arts school. Hell, I'm even half Jewish. There are dozens of us! Dozens!
posted by Itaxpica at 11:23 AM on June 30, 2015 [3 favorites]


I came from a biology degree and a 50/50 math-humanities predilection and started programming in my late 20s. I would not say I'm a rock star, but I have done well by just being organized and willing to learn new things, and being able to communicate what I'm doing verbally and in written form (code docs). There are a ton of programmers who can't spell, think clients want to know what XML is, or who write code that ... I dunno maybe I'm just not smart enough to understand it, but people seem happy when I refactor that stuff. It's gotten really bad lately with the jQuery nested-ested-ested anonymous functions. When I see 15 opening braces I have no idea what the hell is wrong with people. Oops, sorry. Anyway, I agree that there's a lot of talent outside of the core CS field. Those people may be missing stuff like OS design or algorithm optimization, but frankly that's a very small subset of programmers anyway.
posted by freecellwizard at 11:25 AM on June 30, 2015 [2 favorites]


> Any competent programmer with a CS degree can apply skills from one OO language to another one; from one web app frame work to another one; from a heavy RDBMS to a lightweight database.

I keep hearing these three thrown together - but one of these things is NOT like the other. Frameworks, databases, APIs, packages, sure.

But languages are not so easy to get right. I have written programs in... well, probably close a hundred programming languages. I've been paid to program in at least thirty.

Out of this I am a master of two languages, and there's a third I know really quite well.

In a language, it takes a long time to get from "bumbling idiot" to "poor craftsman". I shudder to think of the bad programs I wrote in C++ when I got onto it. There were moments when I understood concepts I'd never gotten before, and I thought, "How did I even manage for all these years?"

Regarding "moving from being a problem solver" to "being a software engineer" - a lot of it is learning to write maintainable code in collaboration with other engineers. You spend an astonishing amount of time on error handling. You learn to make your "global" (wide-scope) variable, class, method and function names to be long and chatty, and your local variable names often just one character. If you're smart, you learn a lot about optimization your workflow, unit testing, integration testing, regression testing.

You learn to write simple, clear code rather than clever, hard-to-understand code. As Kernighan said, “Everyone knows that debugging is twice as hard as writing a program in the first place. So if you're as clever as you can be when you write it, how will you ever debug it?”

And you learn to write documents before you start programming. I don't remember who said, "Weeks of programming can save you hours of planning," but it's always true. You learn this in your heart... for example, here's a design document I wrote a few days ago for a fun project that very likely I'll be the only one to ever use - the number of edge cases and decisions that came out even in that short doc saved me no doubt tons of frustration a month from now.

None of these skills are taught in schools - nor can you really learn on your own, you need to work with others and realize that the ideas that are clear and correct to you might be obscure and suboptimal to others. And you need to make a lot of mistakes, and you need to see other people make a lot of mistakes, and you need to learn from those mistakes.

If you want to go further in this direction, I strongly recommend working on open-source projects - things that really hit your core interests. If you're inspired, hit me up in memail and perhaps I can come up with suggestions.
posted by lupus_yonderboy at 11:42 AM on June 30, 2015 [7 favorites]


Technology jobs are highly bimodal.

There is a tremendous oversupply of Americans who can, or with a little training could, do $80k a year 9 to 5 jobs in Disney's Orlando IT back-office center. Permitting Disney to replace Americans with H1-Bs for those jobs to save a little money raises a real question about the fit and function of immigration law.

There is a global undersupply of people who have the skills and credentials for the jobs that $250k devs do for startups and the front office of established technology and financial companies. Immigration of people of this caliber should be open, or the next closest thing to it. Any IIT or Oxbridge (etc.) grad we keep from coming from abroad to work in San Francisco is a net loss to the Americans who'd be doing the marketing, accounting, and sales jobs that his work enables.
posted by MattD at 12:00 PM on June 30, 2015 [3 favorites]


It seems to me that there's plenty of people who are qualified to do $250K front-office jobs at tech companies. Many, many more people than there are such positions.
posted by snuffleupagus at 12:40 PM on June 30, 2015


I keep hearing these three thrown together - but one of these things is NOT like the other. Frameworks, databases, APIs, packages, sure.

But languages are not so easy to get right. I have written programs in... well, probably close a hundred programming languages. I've been paid to program in at least thirty.

Out of this I am a master of two languages, and there's a third I know really quite well.


That's all fair. I suppose what I was getting at is more that you don't need to be a master to compete with a fair proportion of people who claim a language as their specialty on their resume though. In particular I think there's a good chance someone who has been working in a single language for ten years will still be writing it the same way it was written ten years ago - and there are only a few languages for which that's appropriate.

I think it's unwise to generalize about what it takes to pick up a language. The transition between the most dissimilar languages is on another level from the transition between the most similar languages.
posted by atoxyl at 12:46 PM on June 30, 2015


It seems to me that there's plenty of people who are qualified to do $250K front-office jobs at tech companies. Many, many more people than there are such positions.

As someone who conducts interviews for these kinds of jobs, if this is true I have no idea where they're hiding. Tons of people who THINK they're qualified, maybe.
posted by Itaxpica at 12:55 PM on June 30, 2015 [3 favorites]


As someone who conducts interviews for these kinds of jobs, if this is true I have no idea where they're hiding. Tons of people who THINK they're qualified, maybe.

The original comment said there is shortage of $250K devs, but I'm pretty sure snuffleupagus meant to take a shot at $250K managers. I don't think there is actually a whole lot of either top-notch devs or real top-notch project managers.
posted by atoxyl at 1:17 PM on June 30, 2015 [1 favorite]


> In particular I think there's a good chance someone who has been working in a single language for ten years will still be writing it the same way it was written ten years ago

Warning: rant follows...

Working in technology is really a pretty great job. Sure, there's a lot of bullshit, but most other jobs have more, you're not in physical danger, and you generally get pretty well treated and have an affluent life.

So there's no excuse for not keeping your skill set up to date. Even if you can't use the new features in your code, you should be reading about them and trying them on in your head. There are lots of great short articles online about every aspect of "your language here", at all skill levels, and you can simply peruse them - like you would read car mags if you were a car person, or the sports pages if you liked those.

I think there's no substitute for creating small open source projects just to learn new language features, but knowing the theory is a necessary step to using the features. You can certainly BS me in an interview by just having a talking knowledge of these features!

I interviewed someone a few months ago for a C++ position - someone contemporary with me, but who had been in the same company for ten years. It wasn't just that he didn't know the new features - you can learn them - but he really hadn't heard they existed, or had any idea how much better and different C++11 is than C++03 was (I mean, all your C++03 will work but move semantics alone simplify or eliminate completely all sorts of memory and resource management chores by simply deleting existing code... lambdas! auto! It's a new world...)

Fundamentals, fundamentals, fundamentals!

If you're a C++ programmer and you haven't already read Meyers' Effective C++, you should run, do not walk to your nearest non-Amazon bookseller and get a copy of it and memorize it. Then consider getting "Effective Modern C++" from the same guy - this is the sequel focusing on the new C++11 features, and it's advanced, but still a really chewy read.

For Python, you should be familiar with the most important pages starting from here. I still find that there are libraries I don't know, but in Python just knowing that someone's ten line function can be replaced by a more-powerful, guaranteed-to-work library function is a constant benefit of having read all the docs.

As I said - it's a great job, and it can be a lot of fun, but you have to stay up-to-date or you will waste a lot of your time reinventing the wheel, and badly.
posted by lupus_yonderboy at 1:45 PM on June 30, 2015 [3 favorites]


Yes, because anyone who's great at something can teach it effectively. That isn't a completely separate skill that has completely different requirements, or anything.

Of course it isn't. But the nice thing about "rockstar"-type people in general is that they can learn how to do stuff. Once you get that teaching/coaching/mentoring is a skill, your biggest bang for the buck is giving people that skill first.

I've got a few rockstar-like people. They're nice to have for the emergencies, but they're not as irreplaceable to me as they like to think. I'd much rather have the kind of person who makes everyone better. A lot of my performance feedback goes toward explaining this concept and a lot of my coaching for my employees goes to teaching the teaching skills they need to do that.
posted by ctmf at 1:47 PM on June 30, 2015 [1 favorite]


It seems to me that there's plenty of people who are qualified to do $250K front-office jobs at tech companies. Many, many more people than there are such positions.

As someone else who interviews for these types of positions the issue is less qualification per se than risk.

The risks associated with hiring the wrong back-office IT person are low. They have low autonomy. Their ability to disrupt business is limited (outside of being surly on helpdesk calls).

If you're a senior dev on new development at a startup or if you're the integration lead for, say, integrating Yelp into Apple Maps, the risk is high. And while it's not necessarily that much more skill required it's much harder to find a candidate who the team feels confident to deliver such a project. There are very serious consequences if the project goes off the rails.

At Google, Microsoft, Apple, Amazon there are a lot of these latter types of projects. And it's not like hiring a unicorn is the only solution, but given time constraints it's the approach most companies take. And when they can't hire enough unicorns their reflexive response is the same as every problem - get a bigger pipeline. Not enough women? Bigger pipeline. Need more developer cultural & racial diversity? Bigger pipeline.

And it's not wrong, but it's also not the only possible solution to the problem.

Anyway, like Itaxpica says, if you really know where all these people are hanging out, let me know.
posted by GuyZero at 2:02 PM on June 30, 2015


If you know how to go from being a normal-but-good developer at a large software company to being a unicorn, let me know.
posted by miyabo at 2:07 PM on June 30, 2015


Well, so Guy Zero, here is an interesting thing. You say "it's much harder to find a candidate who the team feels confident to deliver such a project" — but confidence has to do with bias as much as with actual skill, right? Likewise one of my points about looking at humanities people, people who "don't fit the pattern" is that there *are* people with those skills out there right now. But so rarely does the hunt high & low extend to really questioning your hiring process and interrogating your own biases.

And yes, I think finding people with curiosity and learning skills to make something of themselves is perhaps the way companies should be aiming. And then figuring out how to nurture those skills so that by the time the big project comes you have a stable of creative, experienced folks to hand it to.
posted by dame at 2:32 PM on June 30, 2015


That's pretty much as high as it gets for developers, excluding the few successful startup millionaires

(On my $200k figure)

Thats... not true. I know quite a few engineers making substantially more than this. A senior engineer at Google or similar company will exceed that easily.

I mean I'm talking about engineers with 10-20+ years experience, not college grads or like 25 year olds.
posted by thefoxgod at 2:51 PM on June 30, 2015 [1 favorite]


Of course, startups pay much less. The tradeoff there is you take less money and work many more hours for a tiny tiny chance to be the next WhatsApp.

Otherwise, you end up with .5-1% of a company that sells for say $100M and you are wayyy below where you would have been if you'd spent those years at a larger company with much better salary/bonus/stock.

IMO startups are for founders and people who thrive on chaos and have a big dislike for the structure and (slow) speed of larger companies.
posted by thefoxgod at 2:57 PM on June 30, 2015 [1 favorite]


I can think of perhaps 10 engineers who make that much (based on job title and some extrapolation), out of 200+ people I know in the industry. And they're all in their late 40s/50s with multiple $100m+ products under their belt. I mean, yeah, they do exist, they're not as rare as lottery winners or anything. But the vast majority of software engineers will never reach that stratosphere. Sometimes I think the companies keep these exalted roles around just as a carrot to motivate the underlings.
posted by miyabo at 2:59 PM on June 30, 2015 [1 favorite]


I know way more than 10, but they're all at a handful of the companies who pay the top rates and compete with each other (Facebook, Google, etc). And a lot of that is stock. Getting a $100K+ annual stock refresher is not that unusual for a senior engineer.
posted by thefoxgod at 3:01 PM on June 30, 2015


Likewise one of my points about looking at humanities people, people who "don't fit the pattern" is that there *are* people with those skills out there right now. But so rarely does the hunt high & low extend to really questioning your hiring process and interrogating your own biases.

You are right. There are very few things you (or anyone) can say about how broken tech hiring is or how to fix it that I'm going to disagree with. General what we look for is a track record, which is fine and mostly bias free (in theory) with the one glaring loophole that it takes experience to get experience and... yeah. The best thing I can say about it is that it's not a new problem or one unique to tech.

And yes, I think finding people with curiosity and learning skills to make something of themselves is perhaps the way companies should be aiming. And then figuring out how to nurture those skills so that by the time the big project comes you have a stable of creative, experienced folks to hand it to.

I think there are about 3,000 interns around here this summer. Three. Thousand.

3,000 people is more than the sum total of all employees at all 4 companies I worked at before coming to Big Tech Giant. 3,000 of the best and brightest kids PER YEAR is a heck of a pipeline. AND YET. And yet we still want experienced people with specific skills.

It's hard to overstate the appetites of giant tech companies.

To be cynical, diversity as a creativity enhancer and risk reducer is all fine and good, but diversity initiatives exist in no small part just to try to get the bottom line hiring number that much closer to the unobtainable goal.

Finally, for those who aren't aware of the phrase, I am fully aware that the pipeline is leaky and full of acid.
posted by GuyZero at 3:04 PM on June 30, 2015 [4 favorites]


And a lot of that is stock.

I'm not sure why salary vs total comp really matters so much. If you have a $100K salary and yet take home $250K annually between bonus and stock, you make $250K. The general advice is that you should sell any company stock as soon as you get it to reduce risk from being overexposed to your employer.

Put another way, if Facebook gave an employee $100K cash, most of them would not go out and buy $100K of FB stock.
posted by GuyZero at 3:06 PM on June 30, 2015 [2 favorites]


> If you know how to go from being a normal-but-good developer at a large software company to being a unicorn, let me know.

Sure!

First, in the short term you're going to have to devote some serious time to this endeavor. In the medium-term you should be able to save time because you'll be a better developer, but in the short-term you're going to have to treat it like an exam, and actually cram for a while.

So dump all your subreddits except r/programming, and r/yourlanguage, and get on it!

Thing zero you should do is to spend some time on your workflow.

Master your version control system! I went from being a git fumbler to fully understanding it on this job - it took me a year but it finally clicked. You want at least to be good enough not to live in fear of your version control.

Experiment with toy projects. Make deliberate mistakes in the past and try to correct them in the present. Don't allow

Master your editor! Automate everything you can. Almost all the common tasks I have are attached to a single keystroke - I have one that is "build and run all the tests" for example.

Then you need to do is to master fundamentals. This means fundamental data structures, like lists, binary trees, and hash tables - fundamental algorithms like binary search, both simple sorts and advanced sorts, hashing... and O() notation, a simple way of roughly measuring the time and space performance of your program: apparently this book is good these days, all my texts are hoary and old. You wouldn't have to master all that book (or some other similar book) but simply owning it, knowing the ten most basic, and having it as a reference, goes a long way.

You can't just read the book. You need to do the exercises - you need to actually write code, and time that code. You need to make mistakes, and recognize them, and correct them.

Then you need to master your language. It'll depend on your language, but there will be some "key book" that covers not just "how the language works" but "best practices". THIS is the book you need to read from cover to cover, twice... or more, I've read Effective C++ probably a half dozen times (in three editions). Create toy projects in your favorite version control system, and play with the language features.

This sounds like work. At the start it's work - just like going to the gym. But after a while, it gets much easier. It becomes much more fun. In six months, you will be doing this as part of your routine, you'll be doing at work and being paid for it, and the reward when you see something at work that taps into your new-found knowledge is considerable...

And once you have that, keep up on your technical reading, always keep a weather eye ahead for new language features coming, and above all, avoid making unnecessary work for yourself and your coworkers, and you'll be a regular hippogriff!

And all the advice I already gave above - planning, good choice of names, simplicity, and a whole bunch of other rules with names like Golden Hammer and Law of Demeter and Cargo Cult programming (that one you avoid) that have evolved over time which you'll find out about as part of your skeptical technical reading...
posted by lupus_yonderboy at 3:07 PM on June 30, 2015 [5 favorites]


> If you know how to go from being a normal-but-good developer at a large software company to being a unicorn, let me know.

Go into sales engineering. The bar is low. Customers will drive you insane. The engineering team will mostly refuse to help you actually sell the products they're busy building.

But if you can accomplish anything at all given those conditions, people are generally pretty happy. Well, I mean, make quota. Miss quota and you're fired.

But pull it off and you're literally golden.
posted by GuyZero at 3:09 PM on June 30, 2015


I'm not sure why salary vs total comp really matters so much.

It does a little bit --- since that stock is always a "vests over X years" the value of it is technically not known until that time has passed. Sure, 95% of people are selling as it vests, but the value could drop or rise dramatically. So I do value salary higher than stock when looking at compensation for that reason alone (and its safer to make budgeting decisions on salary).

But mostly I mentioned it because I think some people might be thinking its rare for an engineer to have >$200k salary (which is definitely not crazy rare, but its mostly very senior engineers at the big companies). Total comp > $200k is much more common at those same companies.
posted by thefoxgod at 3:15 PM on June 30, 2015


I guess. For sure at the $300K level that much salary is pretty much VPs and above but $300K total comp is definitely possible for rank-and-file employees.
posted by GuyZero at 3:26 PM on June 30, 2015


I just really have trouble believing in the shortage of software engineers. I've been writing production code on significant projects for 4 years now as a mid-level developer (C++ and Java, often 100+ dev projects), and I've always gotten great reviews and made a lot of good connections inside and outside my current company. I go to meetups, I tweet about techy stuff and get positive feedback, I coauthored an academic paper last year, and I get multiple requests for resumes from recruiters every single day on LinkedIn (actually one called my cell phone like an hour ago, I have no idea how he got that number since I don't give it out to anyone).

Yet when I actually apply for positions that would be a step up (a couple a year), things evaporate. Either I'm not a great fit for the specific position, or it would require me to move, or I don't get an offer, or I get a lowball offer (significantly less than I already make), or something really weird happens (one promising startup abruptly lost all its funding). I'm not in any danger of being unemployed or anything, but I don't see this bright shiny future of infinite advancement the techno-optimists are always talking about.
posted by miyabo at 4:29 PM on June 30, 2015 [3 favorites]


Itaxpica: And let's not conflate the fact that tech hiring is hard with the "the STEM shortage is a myth" stuff that gets thrown around; the two are not mutually exclusive. STEM is a huge umbrella that covers a lot of fields, and software engineering is a very tiny slice of it. Just ask all my unemployed bio major friends.

Yeah, if you want to see people get really cranky about STEM booster-ism and H1-B stuff -- and who wouldn't? -- you should take a look at the chemistry blogosphere.

Incidentally, I suspect this whole 'rockstar' concept is unique to software development. At least, in my experience as a process chemist, I've never seen anyone who would qualify as '10x' productive. I've seen some slick route development work and I've heard a lot about the glory days at Merck process, but almost all of it is due to team efforts and not some lone 'Free Electron.' Maybe there's something comparable in the academic world of natural product total synthesis.
posted by Peter J. Prufrock at 5:10 PM on June 30, 2015 [3 favorites]


Peter J. Prufrock: a big difference is that in development we don't have very many fixed time sinks. With some very small set of exceptions (compilation can take a few minutes depending on your language / workflow), development speed works at the speed that the developer can figure out and verify a working solution, small differences in experience or concentration can make huge time differences.
posted by idiopath at 8:46 PM on June 30, 2015 [2 favorites]


The skill/knowledge ceiling for software development is very, very high and there's not a lot of formal gatekeeping - it seems reasonable to assert that there is a very wide range in the value of developers. A real "10x" employee would be someone who makes design decisions that make everyone else more productive though, not a lone wolf who churns out lots and lots of code. For everyone's sake don't try to be that guy.
posted by atoxyl at 9:27 PM on June 30, 2015 [4 favorites]


A real "10x" employee would be someone who makes design decisions that make everyone else more productive though, not a lone wolf who churns out lots and lots of code.

This. I've met one 10x developer in my entire career, one of my old tech leads. He managed to be 10x more productive than the average engineer by making the five other engineers on his team all 1.5x more productive each.

(The last 2.5x was all him, though. Dude was a killer engineer.)
posted by Itaxpica at 9:51 PM on June 30, 2015


oh yeah, churning out 10x as much code is silly, a good dev can remove 90% of the code while increasing the feature set and removing bugs
posted by idiopath at 6:36 AM on July 1, 2015


There are all sorts of different ways to be a "10x" programmer. The point is that it's very much worth hiring a small number of 10x programmers rather than a large number of regular programmers. 10x programmers don't generate ten times the code - they are rather ten times as productive to the organization.

I agree that this concept really doesn't exist in any other field. I suspect it's because software engineering is not yet a real science.

I don't consider myself a 10x programmer though I'm significantly better than your average code monkey - I tend to go off on tangents and also lose interest and go and post on Metafilter. 10x programmers tend to be a bit monomaniacal...
posted by lupus_yonderboy at 8:35 AM on July 1, 2015


> He managed to be 10x more productive than the average engineer by making the five other engineers on his team all 1.5x more productive each. (The last 2.5x was all him, though.

Adds up to a 5.0x engineer. :-D For it to total 10x he'd have to make every member on his team put out 250%!
posted by lupus_yonderboy at 10:06 AM on July 1, 2015


« Older Does the moral universe arc?   |   Struck by Lightning Newer »


This thread has been archived and is closed to new comments