The Programmer's Price (2014)
newyorker.com
newyorker.com
Michael Solomon [1] still my agent, and 10x has stood by me throughout my career. While I've stopped doing consulting work for others through 10x, they still support my contracts related to art and speaking arrangements. I can't speak highly enough of how much they've done for me.
I stopped doing contract work not because of 10x, but simply grew tired of working on, and fixing other people's problems. They were completely accepting and supportive of me to head out and build my own company (since 2017). I know their rooster of talent has grown significantly since then, and I would still highly recommend companies use them to get amazing talent onboarded without any hassle.
[1] While you're looking into 10x, don't forget to check out the nonprofit he started https://www.musiciansoncall.org which brings live music into hospitals!
10x does stellar work - as Max said, standing by me, enabling my career, and helping many people along the way.
10x also runs https://10xascend.com/ , a salary negotiation service, which has been discussed on HN before: https://news.ycombinator.com/item?id=16494677
The “10x” topic usually brings up a number of arguments (do they exist / does anyone need them / etc.) :) but I do want to highlight at least one small thing: having a professional business negotiator working for you is life & career changing.
It’s very easy for my technical enthusiasm to get ahead of my interests (“I just want to build the thing!”), and that’s not usually a problem when working for myself on an art or side project or helping friends. But some businesses will 100% take advantage — if given the chance — of this maker spirit that’s not uncommonly seen among some developers. 10x has always been there to remind me that it’s ok to both love doing the work and setting clear boundaries (and they will then help enforce them).
Others here might have an easier time setting boundaries than me, and that’s great! But considering it’s been something I’ve consistently struggled with, I’m deeply grateful for Michael, Rishon and all of their colleagues’ work.
What are the things you did or the things you had that made that opportunity available to you?
I've recommended freelancers that I've worked with to 10x based on their technical abilities and empathy/"EQ" i.e., people who are pleasant to work with & get stuff done.
This was a grade 6 or 7 Civil Service Role, Colonel and up to just below the Senior Civil Service BTW
As for the main agency (10x Management), they also have people from all over (both clients (the talent being represented) and the customers).
Let me know if I can help / intro, etc.!
The problem is that while I think some devs are better than others, I'm not a big fan of the superstar idea. The only area where you can even have indentifiably top performers is in sports, where you have a contest that someone is going to win, and you want to pay up for the guy who is marginally better than the next guy.
I don't doubt that the Django guy would be useful for writing a Django app. The question is how big is the gap between him and someone who's been using Django for a few years, even without contributing PRs to the project. Do the thought experiment in your head of whether you could tell the difference between code written by one guy or another. For instance you are given a load of repos, how big is the set of people who aren't the original guy? My guess is you can find quite a few people who can use it properly without being the main guy. That's kinda the point of a framework.
You couldn't do that with sports. If MJ or LeBron had had bags over their heads, you would figure out who they were, the group of maybe-MJs would shrink very rapidly down to a small set, and you would be justified in paying them millions.
The other difference with sports is you don't have a fixed team size. You found a 10x guy, good for you. Now with the 999 other people you have 1009 people's worth of productivity. In a sports team, you absolutely want CR7 or Messi, you aren't splitting the pie 1000 ways.
Music is similar. There's only so much appetite for music in the world, and a band is only a handful of people, so you can pay up for the top people.
There are games written by one person that are more fun and sell better than games written by teams of 1000. Some one-man open-source libraries are used by ten people, some are used by millions. The degree to which you can control that is your multiplier.
Ever been in a design review meeting where some junior guy who has just joined the team asks a stupid question, and an attempt to answer this inadvertently finds what would have been a very expensive to fix design issue?
Now that might be the only really significant contribution that junior guy makes to the project, but it might have just saved millions, or saved the product, but I bet if you've been in that situation you don't find them heralded as some sort of uber programming hero.
If however the exact same stupid question leading to the exact same problem was found by your super-expensive rockstar programmer, chances are that management would get to hear about how they had saved the project, and their lavish compensation is totally justified.
I'm sure there's a lot of very competent makers in every field who don't get called up to make the thing they are good at, that people also want.
I disagree and think superstars also exist in software programming and can be identified. A 3-sigma[1] subset of top performers can exist in both athletic and intellectual endeavors.
IMO, I think the following are not just examples of 10x programmers but more like 100x or 1000x. It's not just because they're "faster and more productive" but because they can also solve problems most others can't: John Carmack (Doom, Oculus), Fabrice Bellard, Linus Torvalds, Charles Simonyi (MS Word & Excel), Dave Cutler (Windows NT kernel), Jeff Dean (Google mapreduce and later AI with Google Brain).
Whether or not future programmers of their abilities will trend towards using talent agents to negotiate like Brad Pitt remains to be seen. I'm guessing they won't.
[1] https://en.wikipedia.org/wiki/Normal_distribution#/media/Fil...
There are hundreds of thousands of companies whose needs are so pedestrian (whether they want to admit it or not) that paying for John Carmack wouldn’t be worth it. There’s no La Liga team that wouldn’t get better (and wouldn’t make a shitload more money) with Messi on their roster.
So purely from a recruiting standpoint; if this sort of phenomenon happens at an undergraduate level, I can believe that just having John Carmack on your team alone can bring more talent in, for potentially cheaper just because of increased supply.
Just because somebody can add value doesn’t mean that their current cost is equal to their value. Any top flight club in the world would fall over themselves to pay Messi’s weekly wages. Nobody wants to pay nearly a billion euro for that right.
Adding Carmack to one of the "hundreds of thousands" of companies would be like adding Messi to your local pub team: it would make it better, you'd win your local league, but it wouldn't pay the $20 million a year that would make it "worth it".
The number of companies that could consider hiring Carmack is maybe 1-2 orders of magnitude above those who could consider hiring Messi.
You could argue that someone like John would invent a system in a few months that simply took a very low level engineering mind to run that would cover all those needs. You pay him for one year and get ten years of business out of his system.
There are 10x programmers, even 1000x programmers. They invent protocols, programming languages, databases, IDEs, tools, operating systems, cryptology, algorithms, frameworks and libraries that are used at all your 100,0000+ companies doing pedestrian stuff to do the pedestrian stuff. Try to imagine a completely closed source world where everything had to be made from scratch. What percentage of those pedestrian companies would succeed?
These people are and were giants that have provided billions in revenue to the world economy. That's indisputable. We stand on their shoulders, and because they are broad enough to look like an endless plain to us in the multitude, we claim that there are no giants.
What the person wrote before is ludicrous because coding scales much, much better than sports
I'm not a big fan of the superstar idea. The only area where you can even have indentifiably top performers is in sports, where you have a contest that someone is going to win, and you want to pay up for the guy who is marginally better than the next guy.
*
I've worked at one of the trillion dollar companies, at a smaller company that sold for $4 billion, and now run my own startup
In each case I saw examples of this
For the company that sold at $4 billion, the top two developers were at least 100x developers
at the trillion dollar company, there were many developers in 10X to 100X range, not just a few
and in my startup I'm lucky to have two 1000x developers
Of the examples given, I'd say
Linus and Carmack and Simonyi for sure
I'd also say Stallman
* I also had 2 college friends who were somewhere between 100X and 500X
one of them coded an entire stock trading platform as a project for a one semester college course. The Professor was astonished and so was everyone else It was fully working
the other worked on making a mobile version of an enterprise product. His team freaked out because he did more on his solo project than a 200+ developer team that was the 'official team doing it'
seems they gave it to my friend/college mate just to see if he had some new approach. They didn't expect he'd do more than the official team
*
People don't understand mindset
we had one person in our college, this was back in 1999, he coded a FULL multi person chat software (like ICQ, but not as polished) in his first year summer vacation AS A HOBBY
If you really think someone like that is 'only marginally better' than people who clock in for 30 hours and then run back for 'work life balance' then you don't really understand coding
Coding is an art and a science
and you need practice and you need a sort of neural network in your head that keeps learning stuff specific to coding
as the whole moneyball thing shows even that incentive might not be enough to make people figure out who really is productive or not.
Other comments have started to point out how wrong this is, but to put the final nail in the coffin, I just want to point out that "9 women can't have a baby in 1 month" is a principle that applies to software development generally. To think that one can casually split a project 1000 ways is assuming the mythical man month.
But I never said that. Quite a lot of people are reading my comment wrongly.
Like I said, I don't doubt that some devs are more productive than others. The question is whether it's worth paying up for the top guy, as opposed to the next guy. I never said you can just divide the top guy's salary by n average guys.
In a sports situation, the power law is much steeper. It's adversarial. And all the merchandise arguments connect to this too, it's all the same, the top guys kill and eat everything, everyone else around them are like housekeepers, they have work because it would not make sense to have CR7 do anything other than score goals. It's even well known that he doesn't track back, others have to fill in the defensive hole for him, and it's worth it.
It's also a principle of good software that other people should be able to understand your code. That's cooperative. Number 2 might be worse than number 1, but he doesn't get pummelled. Hopefully if you have a top character on your team, he helps everyone get better.
It's often not very obvious where the productivity is coming from, though of course everyone wants you to think it's them. In sports you can have the entire movement history of a player for every match they've ever played in. You know who is fast, who scores, who makes the passes, etc. And you have a well defined metric for what the goal is, and those goals have been static since the dawn of time. In business, you have constantly moving goalposts. Quick and dirty can beat well-thought, best-practice engineering. People have heterogenous roles, and you don't know what they're doing every minute of every day. That makes it a lot harder to think about who is better.
This all leads to the curve of reasonable pay being a lot less steep. I'm not saying there's no curve.
Later, at a FAANG company, I was working on a new full-stack system with a team of 4. It took us 2 months to plan and build out about half the functionality. Progress felt a bit slow, but no one was alarmed by how long it was taking and things were basically on track. Then my team hired a senior guy, internal transfer, with about 10 years of experience. He got up to speed on the project and did the other half of the work himself in about two weeks. The bottleneck was the rest of us reviewing his code (which was pristine; he was on the internal standards committee for the language we were using). I realized that sedate big-company speeds had become normalized for the rest of us, while this guy had never stopped asking himself if something could be done faster.
If I'm worth my salary (debatable) this guy was worth 10x mine.
This is incredible.
Even for 6 years ago, that didn't seem all that incredible.
Big pain points with 'offshore' include timezone work, language and cultural differences, missing of body language, etc. My experience has been most offshore folks are afraid to ask clarifying questions, which introduces a lot of delays over the long haul, but makes it feel at the the start of a project like things will go great.
£400 is a good day rate for a average contract programmer outside London.
https://www.bls.gov/oes/current/oes_nat.htm
Median hourly rate in the US ranges about $41/hr for 'Computer Programmers' to $70/hr for 'Computer and IS Managers.' In a state like New York the rates would be even higher, perhaps much higher.
There is no "talent shortage". There are a lot of whiny, cheapskate employers trying to scam the government, or to convince programmers that they have it "so good right now" so they aren't able to see the exploitative nature of capitalism.
Programmer salaries were amazing in the 1980s and '90s, if you were any good. The numbers were the same as now, but adjusted for inflation, $300-500k (in today's dollars) wasn't unusual... not for middle management or PM bullshitters but actual, honest-to-God, knew-what-they-were-doing programmers. You could actually get rich by working. Today, your only shot at reaching that comp level is playing politics and climbing a management ladder, or a "technical ladder" that is calibrated to be approximately 50 times as hard as the management one to create the impression that all these MBA-toting Directors and VPs are actually good at something.
Also, recruiters have existed forever and most of them are optimizing for churn, but if you think that you can hire "an agent" as a programmer and not be laughed out of the interview... sorry. They'll say "It was great to meet you" and then hire an "unagented" H1-B.
Either you get employed by a big consulting firm, or get your consulting agent to find gigs for you.
Naturally one can try on their own, but alone getting through the first round of RFPs is going to be a challenge regarding company assurances for delivery.
Nowadays, recruiters are...different. I quickly learned not to have anything to do with them, after leaving my last job, and dipping my toe into getting back into the field.
My experience with today’s recruiters is a big reason that I quickly gave up on looking for work.
I think that the enormous flood of substandard developers has warped the technical hiring process. There’s so much chaff, that wheat has no chance.
Weird place to be.
Trouble is, most of those companies don't have any need for this. It's plain line of business and basic data management they need but they're after more, more, more. Unicorn guys/gals. It's unreal.
So I've got to stand out. And I don't really know how. Any suggestions? I'm working on a project that should show my creds, and I know they like that (and that makes sense) but any other suggestions?
I'm not sure my advice is relevant, but I'll tell you what I have.
I have a gigantic open-source portfolio. I incorporated it into what Stack Overflow calls a "story"[0]. This is sort of a "super-CV."
I have an almost solid green GH Activity Graph[1]. The value of this is reduced by people that "game" theirs.
I spruced up my GH profile[2], using their "hidden Profile README"[3].
I have had over twenty apps in the iOS App Store, over the years. I'm down to just a few, now[4].
I spent my entire career (over 30 years), shipping product; even my open-source work is done as "ship." I have written a tool that has become a worldwide standard[5] (but is now under the care of a new team -I hardly have anything to do with it anymore).
I write a lot of stuff[6].
Basically, my motto is "Don't just take my word for it; see for yourself. I can prove what I say."
I would have been happy work for half of what people with far less skill than I demand, as I do what I do for the love of the craft, and my retirement is set.
That all means nothing. Recruiters drop me like a live snake, as soon as they figure out that I'm older than 40 (50, actually). I now make sure that my age is known up front, so that prevents a big waste of time. They don't need to give me a binary tree test to weed me out.
Sorry to be the bearer of bad news.
[0] https://stackoverflow.com/story/chrismarshall (Story Format) https://stackoverflow.com/cv/chrismarshall ("CV" Format)
[1] https://github.com/ChrisMarshallNY#github-stuff
[2] https://github.com/ChrisMarshallNY
[3] https://docs.github.com/en/free-pro-team@latest/github/setti...
[4] https://littlegreenviper.com/AppDocs/
[5] https://bmlt.app
Do it for pay = after a job.
Either way no dice. It's a tricky one.
My suggestion is to ask for feedback when you get rejected, most people will be happy to give it to you.
It’s not fair but that’s been my experience.
There are plenty of people this side of the Atlantic who would love to make twenty-five bucks an hour. Westoid programmers are hella entitled.
Europe has the individual talent, but their capital markets tend to be sclerotic and risk-averse, and in the case of certain countries, protectionist as well.
Ultimately, if there are no other constraints interfering, the pay will gravitate towards being as low as workers are willing to accept (which ultimately is a function of costs of living).
In a way, every developer that feels "entitled to" high salary is contributing towards keeping the programmer salaries high, so it's in our all our interests to keep asking for more, not less :).