I’d Pay You $500k a Year, but You Can’t Do the Work
shellypalmer.com
shellypalmer.com
Nobody is going to pay me $500K. Nobody is going to pay me $200K. As recently as 2015, I still had well-known companies trying as hard as they could to bring me on at under $100K! The last time I talked to an SV company publicly claiming to offer $250K, it turned out they were reserving the "top end" for imaginary devs. My work experience only weighed in at $150, according to them. Also, despite having a very rare combination of two unrelated specialties (the reason I applied), and being proficient in 6 languages, including JS, they passed because they felt my JS experience was too light. Writing the AJAX and UI framework used by a team of 30, and working on the front end of a major portal, both at BigCo, were apparently too small-time.
My whole career in the industry I was aggressively low-balled 9 times out of 10. Hiring people can't hire who they want, because they're scheming double-talkers, and they've convinced themselves that it's just good business. I started a small business that pays the bills, and I've never been happier. I sincerely would not go back to the industry even if you did pay me $500K.
Truth in advertising though. I'm the founder, I'm weird, I ran that company much more like a cooperative than just about anyone else would have. So I don't expect that comp to be that commonplace.
I also tracked salaries at the big companies and made sure we were competitive. In general, we were very competitive but it is possible to get a better package, not common, but possible. One of my guys went to Saleforce or Linkedin, and I could not beat their package (well I could but then I'd have to bump everyone else up to that and we all agreed that didn't make sense for us).
On the other hand, I treated people really well, much better than most people would have. So I don't agonize over the retirement part.
And one of my guys, as we were winding it down, said something really nice: he pointed out that yeah, we didn't get to the retirement part, everyone got to work from home. He got to be there with his kids, watching them grow up. His best friend is out the door at 6am, 1.5 hour commute, rarely makes it back in time for dinner. The contrast is pretty stunning and I made that possible.
Hearing that was very cool. He's right, there are other rewards besides money.
The most important thing I luckily learned early was you never, ever say how much you currently make when negotiating salary for a new position. Tell them to make an offer first or kick rocks. If you want to be more polite about it, say you believe firmly that what your current compensation is is not relevant, what matters is the value you can bring to the company.
I would say that had I not followed that rule, I'd have lost tens of thousands in salary already in my relatively short career.
Except that's wrong. As much as you may dislike the tech industry, you can't contradict the data that shows there are more job openings than developers in the Bay Area
If you simply count job openings, you'll overestimate actual available work by a really large margin.
Also...someone applied to a product manager position at my girlfriend's job. They were well qualified. A week later they get an email saying "hey you aren't being considered as we're going to focus on other candidates but we'll keep your resume on file." Turns out...they had cancelled the position about three weeks before, basically forgot to take it down, and then sent out the same standard rejection letter to everybody. And I should mention this company is one of the larger Internet job boards, so even more ironic.
Also I get how not following up or "ghosting" maybe happens in dating, but there needs to be a higher standard in recruiting. With all the waiting and guessing, we're causing a lot of friction in the economy. Indeed Prime has this thing where if you don't explicitly respond to a message within 72 hours I think, they suspend your account for a week. Stuff like that could help out.
There are enough jobs out there that senior devs can laugh those off.
That's not a tech shortage - that's a sanity shortage on behalf of the startups (often new MBA grads with no experience who think their Hot Idea funded by their VC friend deserves devs taking pay-cuts for their lottery ticket options. News flash: senior devs have played the game too long to be bilked for suckers like that)
One west coast company has interviewed me. The company recruiter sent me like 14 "how to prep for tech screens" links and recommended I check them out days before the actual tech screen. I'm on a job right now so I don't have time to be doing that sort of thing so I didn't prep. It made me expect I was going to have to implement a BSP decompiler with a hand tied behind my back.
The guy who called me allotted 50 minutes to solve 1 problem "two if I finished the first early" on collabedit. I finished both in 6 minutes. I'm a good, experienced developer but I'm no genius. Their tech screen was so ludicrously easy it made me wonder what the current standard is for developers.
After I finished the guy said "huh I normally don't have to end these early. Great I guess." I pressed him a little and he went on to say his questions had done a great job invalidating candidates. Most people couldn't do it.
It's pretty beguiling since my midwest salary demands would be peanuts compared to my west coast equivalent. There'd have to be >60% remote-related productivity penalty for it not to be a no brainer to hire people like me.
The last few years has taught me that job seekers and dev seekers both have a hard time connecting.
Here's basically what they asked me to do:
#1) Write a function that accepts one parameter. An array of numbers. Convert those numbers to pseudo-binary strings. Instead of "0" use "Y" and instead of "1" use "X"
#2) Do the reverse, Write a function that accepts an array of pseudo binary and convert it to an array of numbers.
Just fyi, its probably because many developers don't touch binary.
I work with numbers all day but they are currency transactions and accounting data. I haven't cared about transforming something to/from binary in 10+ years and couldn't do it without googling.
However, the number of devs (and accountants) who can't figure out a 4-4-5 calendar reliably is quite impressive.
If you remember binary is just base2 I bet you could do it. Since you do accounting stuff, could you split a number into each base 10 component? 462 = (400,60,2). A bit of thinking leads me to 10^i, a for loop and some conditional subtraction / modulo. Binary is just 2^i.
So, no, I'm going to refuse a screen that prevents me from solving it the way I'd solve other problems I don't do regularly.
Wait, WAT?!
I am flabbergasted that this could possibly take a 'serious' computer-y person with ANY knowledge of just about ANY programming language an hour to do. I mean, 6 minutes is very good, it would take me longer to type it all out and run through the bugs in my code.
But an hour!? What are the other applicants doing in that time for Christ's sake? Playing hop-scotch?
Jeeze, maybe the big 4 really aren't kidding when they say that they can't find anyone good...
The point I was trying to make wasn't to trash the other candidates. My mistake if it came off that way.
My point was: If the pool of qualified candidates is so small they have unfilled positions, why's it so hard for me to get remote work out there?
(As a side note: I'm happy to trash the charlatans who lie about their education, cheat on exams and hire freelancers to interview for them. :/)
Anyways, thanks for answering!
My 6 minutes didn't include them explaining the question or them going over my answer. I didn't really explain my work. I did talk a little while I wrote, but after I finished he just went through my code line by line himself.
They were kinda shocked at what I did with it, because no one else had went that far with such a simple thing. Honestly, I thought it was stupid and boring, considering I've been a dev for so long - its a bit insulting.
At least the kind of test you got was a bit more interesting...
A much more accurate measure of supply and demand is salaries. And runaway salary inflation has not happened. If you need a developer you can simply pay them more. This site is filled with developers willing to leave their job for a large pay bump.
And if you're not willing to pay them more, it's not a shortage, it's just a wish for cheaper labor.
According to cost of living calculators, I would have to make almost a half of a million every year living/working in the bay area to keep my current standard of living. Are they going to offer me that salary to relocate? I don't think so (and most don't want me to work for them remotely either).
The blame is on the founders who choose overpriced locations and either cannot or will not pay correspondingly high wages.
At a low price, the market will demand a lot of a good or service, but there's less incentive to supply. At a high price, the market will demand less of a good or service, but there will be more incentive to supply.
Let's apply this to developers. At minimum wage, there would be a lot of demand for developers. However, there wouldn't be much incentive to become a developer. As a result, there would be far more job openings than people interested in working the job.
At 500k a year, fewer people would want the services of developers, because they'd only be needed for very high value projects. However, lots of people would be lining up to take the job.
Economic theory tells us that supply and demand will meet at an equilibrium. So if there are far more job openings than developers, that suggests that the curves are not yet in equilibrium. As salaries for developers rise, demand will fall, until they are in balance.
Markets aren't perfect, and the real world is messy. But supply and demand are still in effect, and your comment suggests that you haven't even considered this. Saying that is a shortage of developers at 100k a year makes as much sense as saying there's high unemployment among developers who will only work for 500k a year.
Except that even that rarely happens. People who talk of a shortage of developers, amazingly enough, most often don't even mention salary. It's as if they have no concept of how salary affects both supply and demand.
Now, in this particular iteration, we do have a number, $500,000 a year. However, many of us on this forum are calling malarkey. Show us some numbers that you're actually offering and paying this salary and we'll talk. Otherwise, many of us suspect this is all bluster.
I guarantee you that a 10x heart surgeon won't do as good a job fixing your teeth as a 1x dentist.
The reason why so called 10x developers don't get paid 10x is because business owners and founders who actually have that kind of money are too smart to believe it.
The problem with developer inexperience is more related to understanding broad concepts and pragmatically applying techniques while managing risk (including debt) and understanding business rules.
Are there really? I don't see many language/framework experts having 10x impact. Maybe Herb Sutter and Bjarne Stroustrup.
For example, I've written an open source project related to real-time web systems and so I can build chat systems 10x faster and probably 10x better than a typical senior developer but ask me to program a drone and I will be 1/10th as fast as someone who is an expert in that field and I probably won't be as good.
After you become a senior software engineer and have honed your skills in critical thinking and problem solving, all that is left to differentiate yourself are your specializations.
There are lots of generic senior level developers but very few in any given niche.
That usually means thinking of out-of-the-box solutions that reframe the problem in a way that's dramatically easier to solve and often more useful for the end user. For example, they may realize that your customers don't want a web UI that they have to visit separately at all, they just want to receive a text message when certain events happen, and so they can replace your entire UI team with a single Twilio API call. Or they may realize that all of the complicated algorithms you have a whole backend team slaving over can be replaced by a deep-learning network that's mostly pre-trained over ImageNet, and just needs some fine-tuning for your problem.
Usually this requires deep knowledge across domains, not deep knowledge within a domain.
Developers who wander off the yellow brick road don't usually end up in a nice place. The term "lone wolf" is a derogatory term used to describe the kinds of developers who think too far "out of the box".
The best technical ideas are usually derivatives of much older ideas which require deep niche domain expertise to understand.
The person who has both rare talent and applies total effort may produce 1 - 1.5 (and perhaps occasionally more) orders of magnitude more value than what is average.
Here's a typical HFT entry level job posted by a recruiter note the emphasis on how they are willing to teach and knowledge in any specific language is not necessary http://www.biviumgroup.com/search_job_details.php?job_id=707...
Could you provide data or at least anecdotal evidence to back this statement?
Tons of companies claim "we would pay [huge number]", or "there's no upper bound of income for the best talent". It's almost never true.
$600k isn't that hard to make at these companies.
The reason I'm skeptical is that while I do know people at google as relatively senior dev (very talented, elite CS degrees, 15+ years experience), they were well above 200k a year, but nowhere close to 600k. This was also more than 2 years ago.
Again, I understand data isn't public, but do you have something to support the notion it isn't hard to make 600k as a dev?
What everyone replying fails to realize is that if you include the appreciation of the preliminary and refresher grants these engineers are making >$400K rather quickly.
I suppose some of this may turn on what you mean by "rather quickly" for compensation in excess of $400k a year (let alone $600k/yr, which seems very high). I can't say you're wrong, because I don't have evidence... but that's the problem here, I don't have any evidence to believe you either. You're claiming everyone is failing to realize something, but in the absence of credible and available data.
Just give me something here. I can be convinced by evidence, but references to documents "floating around" just isn't enough for me, as it contradict my direct conversations with google employees, though my conversations are limited, slightly old, and personal information may be unreliable.
$250k, sure, that squares with what I've heard.
$250K is accurate assuming zero/normal stock appreciation. Assume half that is in equity compensation with a 38% (for FB) growth rate on a 4 year schedule and determine what the figures get to.
That's at least 1 case that appears to support this.
Keep in mind, Mr Palmer chose to make this claim very publicly, and he's gotten plenty of attention at this point for doing so. So I'd love to see a good journalist follow up with some real numbers here.
If he's telling the truth, well then, good for him! I tend to be skeptical about people who claim there is a shortage, since they almost never talk about what they're offering. Mr Palmer is.
So far, so good. But he should be willing to offer some real evidence of this claim. Let's see the numbers.
is there any room to take blame for the quality of the test?
All testing must consider its reliability and validity as a measure.
If it is VALID it measures what you think it measures. EG: by passing a programming test it measures that someone CAN or CANNOT code.
If it is RELIABLE it has the same results time and again.
I'd suggest in their case, that they may have a test which produces a high number of false-negatives - people who can program but struggle with their specific test for one reason or another.
Anyways, it's up to them to do whatever they want with respect to their hires... It's up to the rest of us to not let them get away with blowing smoke up our butts about how great their test is or the exceptionally high quality of their candidates are.
Joel had a great article saying roughly "no you don't really hire the top 1% of programmers"
I think this is the subtext.
$500k is not enough. $500M is not enough.
If you put more hours in your labor export category, you have to take some from your leisure consumption category of your time budget. Whatever you earn from selling labor time is generally consumed during your leisure hours, after you subtract all your overhead expenses.
And $500k for 100hr work weeks is only about $96/hr. If you subtract $175k for taxes and $75k for overhead expenses, that gives you $250k left to spend over your 624 hours of leisure time, which means you would have to party hard at $400/hr to enjoy it all. You would have to play 4 times as hard as you work.
In contrast, $150k for 40hr work weeks is $72/hr. Subtract $42k for taxes and $58k for overhead, and you have $50k left to spend over 3744 leisure hours, which is about $13/hr. If you play just 1/5 as hard as you work, you're directly enjoying all the fruits of your labor. For reference purposes, if you spend $350/mo on a cable TV subscription, that's about $1 for every non-working, non-sleeping hour. If your movie theater charges $10 per 90-minute movie, spending every minute there that you aren't working or in bed is still less than $7/hr. Most leisure time activities repackaged for sale out there are targeted to lower-income households, so it's really difficult to burn up all your disposable income (at that level) just on typical middle-class entertainments without enlisting the help of dependents.
That 100hr work week essentially means that you need to have a trophy spouse and some kids that don't know you, so they can spend your money for you. No, thank you; I don't want that.
Short term these market dynamics appear to benefit the big firms, but long term it constrains the entire ecosystem. All the big firms need a huge ecosystem of competent little companies who handle integrations at a more local scale. I.e. Google needs small business people who know the webstack well so that Google can integrate its services with your business and sell you ads. So Google is incentivized to invest in community education because every one of those future hackers is a potential future customer.
If you want to differentiate in hiring, I'd say the main thing to offer people choosing between Google and you is leadership opportunities. Don't stick your techies in the basement -- offer then 1:1 time with top execs and owners so they can give the feedback they need to build better products.
Agreed!
(Massive turnover and high recruiting costs for new "leaders".)
Yeah, that was a weird statement in the article. Tech moves so fast that allowing for internal education needs to be a requirement at any company. I literally learn something new every single day. When I look to hire, I look for some raw talent and enthusiasm to learn because whatever the candidate knows right now will be obsolete in 12 months (except for CS foundational topics, but that's for a different post).
E.g. you are highly qualified at fixing/tuning Ferraris but Toyotas are n't your thing. So you go to a Ferrari tune up shop where you can spend the $500,000 salary. /s
IMHO, Tech talent on the other hand works completely differently. They are more about talent (i.e designing stuff, critical thinking, analysis skills) rather than rolling into a specific shop to fix a specific issue.
That's where there seems to be this problem with "run a business, not a school" that they have.
If every company only wants the best of the best programmers and adopts a "better a false negative than a false positive" attitude to hiring, then it is just economics that programmers who are not obviously first class are being undervalued. Translation: if every company wants programmers with a perfect git profile, you can get a programmer w/o a good git profile at bargain prices. Even when you price in the risk of hiring duds, with such an irrational attraction to top-performers, there is a huge opportunity to profit here.
Sure, no one should go seek out unnecessary risks, but I think companies should employ a little more cost benefit analysis. Training people is a risk. Hiring junior programmers is a risk. Hiring programmers from a second tier college is a risk. But risks are opportunities to innovate.
If you only want to hire MIT grads with 10,000 GitHub stars, fine, but don't expect to get a competitive advantage from this, because this is by and large what all your competitors are doing.
The company that learns to identify and retain new talent or manage the risks of hiring "B-team" programmers will be the one with the competitive advantage.
Does anyone have some example github accounts for a talented web developer? Interested to see what a github account for someone who earns $500k looks like.
What the author is pointing to is the $250k dev who just 2 years back was struggling to land a $90k job.
That's a fuckton of money. I don't know how you make that unless you're in finance, self-employed as a high-end consultant, a CTO/senior architect, or a founder.
The author thinks he can find someone to pay $500k and this person will outperform multiple teams of dozens, hundreds, or even thousands of people. That's delusional and a horrible way to "lead" a company. Damn right he won't be hiring anyone with that $500k. Such a human being does not exist. Not at FB, not anywhere.
Unlike most tech recruiters, I actually could vet candidates before presenting them, in theory generating higher quality candidates who are more likely to get placed. There's still a supply-side issue though...
My personal understanding (as a web developer) had always been, someone who is "good enough" is someone who can build a system from the ground up, with the capability to handle requests at high capacity and manage performance. BUT, this would just be an advanced CRUD app and I fail to see how that would reach a salary of $500,000 a year.
It looks like ShellyPalmer has a special focus on machine learning and data science. Perhaps their requirements are beyond what I am even aware of.
Being a good developer (usually) doesn't mean writing especially performant code, at least not beyond what's noticeable in terms of the end user's experience. It means creating products with:
- intuitive database schemas
- clean code architecture
- good overall readability
- simplicity and optionality
Being a developer isn't much different than being any other type of writer. The best way to figure out if someone is likely to be a good developer is to ask yourself whether they'd likely be successful as a contributor to the New Yorker.
If you want to min/max your stats, all that matters is mastering the 'Cracking the Coding Interview' style. So many companies cargo culting Google interview style such that it's now pretty dominant, at least in NYC.
On one hand you'd think this would be self correcting, more nimble companies would find more effective ways of interviewing. On the other hand, software development is one of the most fad driven industries out there.
* Build a system from the ground up => Understands how to build custom solutions with or without frameworks and pre-established libraries in order to reach the optimal business solution for the company/client which may include time and resource constraints
* Capability to handle requests at high capacity and performance => Understanding of development operations including but not limited to linux, networking, automation, cloud solutions, databases
Now the extent to which a developer has trained those skills would greatly effect earning potential however having them at a basic level would certainly qualify one for most dev jobs.
Machine learning and data science are particularly valuable because their is simply so much unexplored territory and so few candidates. $500k could easily be the salary of some of the primo researchers working for Uber, Google, Etc.
It's just another consultancy business.
Same reason famous actors, athletes, etc. are paid more than others doing the same job: Their marketing ability brings more customers to the theatre, stadium, etc. That brings added value and the leverage from that brings added compensation.
Oh no, other companies are swooping the people I want based on their GitHub! Those candidates are my low hanging fruit, damnit!
Also $500k is more than 1 in 300 developers make. Every billion dollar company in the world was built with people less talented than the ones your demanding. I would like to see what specific tasks a 1 in 300 developer can accomplish this his 1 in 10 or 50 peer cannot.
What did Chaos Monkey require that a 1 in 10 peer could not have done? Technically? Maybe it wouldn't have gone smoothly, or maybe it wouldn't have been as fast, but I am fairly certain most decent developers (with sufficient sysadmin chops) could have built chaos monkey. But the reason that engineer is worth $500k is because of the unique value it added. Their job wasn't to build Chaos Monkey, it was to make Netflix operations more robust. They identified that they didn't know how their software would behave during infrastructure failure and found a way to better understand failure proactively.
1 in 10 engineers add value by writing code. 1 in 50 engineers build value by solving problems. 1 in 300 engineers add value by identifying and solving problems.
Google would pay $10 million for a lawyer that would win a case against Microsoft for IP. Similarly defining a 1 in 300 developer as one that makes great contributions is problematic. You're no longer paying for the developer but for the outcome. And people are willing to pay a lot more for outcomes than people.
> In practice, we could train these workers, but not at market prices with added recruiter vigorish. We just can’t get enough value out of B-team players while they are in training
Does the author realize that this is the exact cause of his "problem"? Developers live in constant fear of "if you don't stay up to date, you'll never get another job". Combine that with the generally risky venture-backed tech climate, an at-will employment culture and the zeitgeist of youth worship and blatant ageism. All I can say is: you reap what you sew.
Turn this toxic culture around so that devs can feel comfortable that being a great engineer is enough, instead of chasing frameworks and books about algorithms.
And here's how you, as a smaller tech company, can beat the system and snag great talent anyway: look for devs with expertise in technologies other than those created by Google and Facebook.
You've seen what lies behind the shadows on the cave wall. You know that the talent gold rush is not really about getting the right tech skills, but using tech to get the right people. Now make a bold move based on that knowledge and go with Ruby on Rails. Or Django. Or Ember. Or Intercooler. Or heck, even PHP, which Facebook uses but hardly has a monopoly on. Or even - dare I say it? - .NET!
Step off the hype train. Break the monopoly.
They create a culture that doesn't value the workforce, and then they wonder why people leave?
If this is for real, I'm willing to apply. I've built web-based software for clients for 17 years. I can handle the tech, but also lead a team, manage a project, design products and features, learn a customer's problems and advise them, and offer creative solutions that bring massive value and savings. I'm a great fit for a consulting company. I do pretty well right now working for myself, but $500k would still be a big bump up. So I'm looking for the call-to-action, and it is . . . "Subscribe to the newsletter." Really? Who is this article for anyway? It is just one executive commiserating to others? It definitely doesn't seem to show ShellyPalmer in their best light: I don't see any solutions, just complaining and excuses. They are advertising their inability to hire the best people?
Offer me $500k to solve technical problems (and not leave Oregon), and I'll apply. But I can't even find a Careers page. I guess they feel I should have to work for it. That's fine, I'll tweet at you if you want, but in that case I'd like to see some proof first that this offer is for real.
* It's a jobs ad; it shouldn't be frontpaged and they're not paying anyone $500k.
* Nobody says "I want 100 steaks for 200 dollars and I couldn't find it; there's a steak shortage!!" Labor markets and scarcity are a thing, I'm sorry this person isn't getting (by their own admission) the same output from their few employees as the world's most valuable companies. I wonder how good their consulting is if their reaction to tech's labor market is "the world is rigged and most developers are useless or untrustworthy."
* I'd be curious to know what the author's tech chops are. There's no shortage of non-tech people who think building an app is "simple" because "I know what I want and explained it to you" and surely the issue, should problems arise, is that the developer was subpar. "I'd pay you, but you can't do the work." Please.
This is exactly the person you avoid in your career, life.
So small companies are left with a much smaller pool of candidates, often less credentialed and much stronger willed. They cannot grow a workforce of highly credentialed/technical workers who do what they are told.
Are there mavericks who are also very technical out of passion rather than trying to oull their families out of poverty? Yes. But they usually aren't willing to play second fiddle.
Basically I think developers need more focus instead of the industry expecting us to know everything. I am not saying that we shouldn't know or try to learn different things, but its really hard to become the best when your spending your time on frontend, or backend or tweaking the database or algorithms there is just so much going on. people just need time, just like doctors need time to become a good doctor, developers also need time. People who really get this understand how to build teams and good engineers in which inevitably leads to a good product.
It's more likely the OP's employees don't like consulting, and the lifestyle of having to deliver unreasonable amount/quality of work in a short time that was over-sold to clients.
If they can get B-Players into their company, that's doing well in my book. I'm often stuck hiring C and D players because of the corporate pay rates my company offers, and lack of perks that make us not competitive around town.
Yesterday who is hiring made me sort of depressed, I am in desperate need for work, yet all work I was qualified for was non remote in other countries, or semi remote, the few ones that allowed real remote required some random citizenship I don't have.
Seemly being born in the wrong place can heavily cripple a career.
1. We want to hire experienced programmers for 500k
2. We don't want to train junior programmers to become senior programmers because they'll leave for BigCo.
3. BigCo. with bigger budgets are stealing such senior employees and somehow it's not fair
I'm still waiting for the "it's satire" post. That said, out of curiosity: why a Github account? If you are that good, and work that hard currently, you'll probably not have time for a Github account that'll land you a job anyway :/
Or are they looking for "branded" devs that work in open source? (because not all companies even allow for open source on stuff you work on)
Yes. If you have a very complex problem, it won't help to just put more people to it. Rather the opposite.
Though there are also plenty of jobs for not-genius programmers.
Google, Facebook, etc., hire college kids and give them time to learn.
There is the difference. I'm so sick of the fucking idiots in this industry.