Hacker News new | past | comments | ask | show | jobs | submit login
Pricing Programmers (facebook.com)
162 points by ingve on Dec 6, 2015 | hide | past | favorite | 124 comments

For years, from one job in the bay area to the next I worked on products that never made any money and ended up being canceled. Even when I worked on a project that ended up making money I spent a year working on a version that was rebooted from scratch before customers ever saw it.

At a couple of startups that never took of afterward I could clearly see the impact that code I wrote was making on sales and value. It wasn't very much.

I'm not sure why people pay me so much, but I'm glad they do because I get to do what I love (programming, not not shipping), and I get to live off of that at the now rare and fading middle class standard of living.

On that existential tangent, there are times I find it comforting that fools pay me to write code they want written. It's like ghostwriting: it pays the bills. You write a biography for any idiot the way they want it. The 'authors' buy 300,000 copies of their own book through phantom distributors to prop it up to the NYT top 100 list, then they slap their name to it and you go home to your two cats and tell them we don't have to eat garbage tonight.

Other times I yearn working on a popular open-source program or a library or a tool so that I can slap my name to it and actually know what I'm working on, and get some recognition. Or even criticism, because meaningful feedback by peers who actually understand what you do is great.

It's a whole pile of depends. Particularly in your case it depends on what you love about programming.

The guy who rocks into a company, tells them they need to write everything in new-buzzword-framework and use bucket-with-holes-in-it-db is arguably creating negative value and if the world was fair, they'd be paying for the privilege to be there.

On the other hand, the guy who comes in and tries to deliver the product, makes resonably, albeit slightly boring, choices and focuses on creating the thing people want, but the product fails because of poor market fit, deserves to get paid. It's not their fault if business people haven't done their jobs.

I'm totally stealing bucket-with-holes-in-it-db...

Why would you want to steal a bucket-with-holes-in-it-db? It's not going to be very good.

> I'm not sure why people pay me so much

Why is this sentiment in the community common? I can't really find an explanation for it so far.

Because it's one of the most obvious questions to ask about Silicon Valley? You have to pay a hefty premium for programmers that may leave at any time for a better offer.

The rest of the US is a cheaper, Western Europe is cheaper still, and by the time you look at Eastern Europe you'll see that not only can you find programmers that stay on longer, you can actually find experienced ones.

There are literally thousands of blog posts on why or why not Silicon Valley, and the cost of living and hiring are brought up every time.

It's incredibly pervasive—it's essentially one way of imposer syndrome manifesting itself.

It doesn't seem to be so common among marketing people, lawyers, or politicians - all of whom, in increasing order of severity, might benefit from more if it.

They often have different personalities.

Also: Marketing has a measurable outcome.

Lawyers work like slaves (very well paid ones) and have a measurable outcome.

Politicians do a lot of marketing / fundraising.

Programmers don't always measurably see the value of the things they create. Especially on a large team. This obviously depends on the product.

I was thinking about exactly this earlier today -- I'm almost suspicious about my level of compensation. I work for a reputable company doing straightforward development, but the stars aligned, so to speak, in the timing of my offer, and I'm probably making twice as much as the average programmer with my experience in my region. I'm good at stuff, but I'm not twice as valuable. I just wonder if this is going to last.

> I can't really find an explanation for it so far.

He basically hinted at that by saying: "because I get to do what I love (programming,...)"

I believe you and gp (lemevi) are talking from 2 different perspectives. Your perspective is more about "don't sell yourself short" or "don't devalue your skills".

The gp's perspective is more about the "mystery of the universe" as to why an enjoyable job could pay more than a boring one. It's a similar sentiment to the successful novelists, comedians, musicians saying, "I feel lucky that people pay me lots of money for doing what I love to do." (Yes, there are tons of programmers who suffer through boring CRUD coding and treat it as "just a job" but there are also many programmers who truly enjoy the activity.)

I experienced the gp's perspective in my first job out of highschool. I happened to be a decent typist so I got a job to transcribe audio to word processing documents. One day, the business owner was looking at his screen in frustration trying to make something work. I looked over his shoulder and saw things like "DO WHILE" and "DEFINE PROCEDURE" on the screen. I just looked at it and then had one of those Jurassic Park moments[1]. I said, "you need to set a variable here, and move that line there, etc etc." He was totally surprised and said he'd pay me double the hourly rate if I could fix the computer program. I couldn't believe it. I had programmed computers during middle school (age 11 to 13) and treated the whole coding activity as "playing with a toy". I stopped programming during high school and worked at a fast food joint for minimum wage. I had no idea that people paid money for programming. People will pay me more for typing "DO WHILE" than mopping floors and hauling out grease buckets?!? That's absurd!

Yes, on one level, one can do all sorts of economic analysis (supply-vs-demand, marginal utility, productivity multiplier of software) and conclude that it makes perfect sense that programmers are paid $X more than brick layers. However, even with that logical rationalization, there can still be this "mystery" of why a person typing on a keyboard in a pleasant air conditioned office makes more than a brick layer sweating in 100 degree heat. It seems unfair that a "game" from my childhood earns more than back-breaking labor.


I've heard it mostly from individuals of more humble backgrounds working on projects with little connection to the value they create. Many people are simply unequipped at seeing how they impact at scale. I've often found myself reminding people of the contributions they've made and even gone to lengths of calculating those contributions so I can show them that, if anything, they're vastly underpaid.

It's nice to see someone have such a nice experience with their employment history. I actually have the opposite experience.

tldr: I am happy you had such good luck; mine sucked.

Worked in Tech Support (for a tech-related company), made tools to make mine and colleagues' from the department job easier and faster. This caught some attention from the infrastructure department, which got me "promoted" to junior sys admin. Nearly everyone kept point out how useful I am[1]. Yay!

But it's not really that much of a yay. It's now expected of me to still do tech support, work on those tools, do sys-ops for some big/corporate/enterprise clients, be the "errand boy" for the other [senior] sys admins (ie, do stuff that's "below" them or that they don't know how to do)

It gets worse. I am the lowest paid employee in the company, too. I get paid less than our DNS admins, simply because they're there longer (there's this certain "culture" in the company which I'll get to in a bit) and they hardly do anything, because most of their job is automated (and more so since I made their job even easier). I wouldn't even mind doing all this, but then pay me for all the three jobs I do. The reason for my salary is "historic": Is started working as a student, and even though I did get a few raises since my initial salary, it's still the lowest one in the company because the "base" salary is still what my student one was. I get paid ~£450 while the next person with the lowest salary gets ~£600 which is an [also under-appreciated] girl from the DNS department. Everyone from the tech support had at least ~£700, while my two sys admin colleagues get ~£1100 + bonuses; oh and I don't get bonuses for the same shit that they do; they even make me do something and then get the bonus for what I did. Sometime in the past they agreed to track "overtime" (which also includes any really special stuff for the really big clients which are outside of the contract that we'd do) under one user on Harvest, and just split it between themselves. I was given access to the harvest account and I tracked my time on it because I was told to do that. But they'd still split the money in half? The fuck. When I asked about it because I was genuinely not sure if I was doing something wrong, the response I got is, and I quote--because the absurdity of that moment is etched into my mind--was, "but I have three kids and you don't." I was too shocked to say anything and just murmured something in agreement. The other admin hasn't got any kids. He doesn't even have pets.

Also, some of the longer-employed employees are trying to push this "we're a family" bullshit, when anyone who's not them is clearly not part of the family, which is clear from how they all interact. If anyone from one of the "newbs" tries to buddy up, all they get is attitude.

And can't look for another job, because I wouldn't be able to relocate due to certain life circumstances that tie me to this town (at least for now).

Typing this is just making me furious so I'll stop now. I'll just like to add that, I am not in need of money, because I come from what is considered a "middle class" (I hate the labels, but they get the point across here) background. However the unfairness is what really gets to me.

[1]: Maybe I'm retarded and they want to make me feel nice.

I also get furious reading this! My advice: Thank them for everything you've learned and explain that you are about too seek other ventures, but you really like working for them, and wish them the best. Then leave as fast as your contract lets you. Take out any semester if you have any left and go on a vacation.

When you have officially quit and your contract is off. You can get hired again and can negotiate a much better contract. Also look for other jobs! And write down everything you've accomplished and the value you add to the company.

And in the future, if you even smell bullshit and think something is unfair, you have to open your voice and argue! You also need to "ventilate" far more often, so that when you "ventilate" it will only be small issues instead of the "huge pile" you just dropped.

I do not think my story is terribly common, but I was in a similar situation about 11 years ago. Somebody noticed, and at some point I was simply given a ~20% raise. I didn't even ask.

Some companies cultivate a recognition of talent, and some don't. Some companies are simply small companies, and the culture reflects some of the idiosyncrasies of a family (for better and worse). Getting a promotion without a pay raise is certainly a mixed signal.

The one thing I'd suggest you look around for, is to understand the business cycle of the company you're working for. If most of the revenue is from contract sys-ops for enterprise clients, pay raises may simply lag based on the client business cycles.

If you can't leave, you have no leverage and rely on the benevolence of others (a trait which is exceedingly rare). I've been in the situation where I went from being the junior hire to the team lead, with only minor pay adjustments. All it took to fix that was to point out (nicely) that I expected to be paid what I was worth, and they had the choice to do so or to risk me walking out. Line up an alternative, then leverage that into a better situation. If you have no alternative, you're not underpaid, regardless of fairness.

I could leave, but I am not sure I want to. I like the people and some of them have become my good friends and the job was genuinely fun until I became a donkey.

I have enjoyed most of it, apart from the parts highlighted earlier which frustrate and upset me.

My alternative is to quit and sit at home. One of the reasons (I'm not sure how relevant it actually was) why I took the job was because my doctor said it'd help manage my depression, and it did, because it made me happy, and the atmosphere and coworkers were amazing.

Although, if by alternative you mean another job, I don't know if I'll be able find one close enough so I can still take care of my mum.

Underpaid isn't really the problem, it's just a symptom of this "broken" culture, where anyone new won't ever be as valuable as the new crew (regardless of their actual value or how much they contribute). And I feel part of my problem right now is that that I'm in the department with all the old employees.

You do "tech support" and are generally tech savvy? Try getting a job doing remote QA. There are online services for testing apps/software. I work for a company that employs such a service to test our stuff.

Now, your real goal, it sounds like, is not to leave your current job, it is to get paid better. You can't do that without mobility.

I took the tech support job because it was the only tech-related job.

If I do get to doing work remotely, I'd enjoy development more than TS.

Leave. Life's too short.

Or sell yourself to the manager. "This is what I did (proof that you're valuable) - if you assign me to this new thing (and pay me more, since it's harder), I'm going to create 2x the value that I'm creating right now."

If it doesn't work, leave.

It doesn't reflect well on you to say that basically all the projects you worked on failed.

It doesn't reflect well on you to not understand how this works.

Projects fail for all sort of business reasons that have nothing to do with programming. However, that doens't mean that projects never fail because technical folks are not aligned with the business interests.

Sure, if you're just a worker bee, you can be selfish and milk these poorly organised start-ups for all they're worth, but if you wanna step up into those senior roles and actually have a chance of making something of those options, you need to weed out folks who don't care about delivery.

I'm not saying the guy definitely doesn't deliver but there are a number of indicators that suggest that he's not actually suffering from imposter syndrome but is actually just self aware to the point that he knows the companies hiring him are not getting value for money.

Even if that is true, he himself can hardly be blamed for taking the money. Whilst I try to deliver value to my clients, I also bill them as much as I can get away with.

The labor market for programers in the tech industry has two features (anecdotally observed) that are interesting to me:

1. Labor does not receive (or insist on) percent-of-value or percent-of-transaction compensation. This is in contrast to some other professional disciplines (e.g., salespeople often get paid on a percentage or commission, bankers often take a % cut, pe / vc / hf has 2% and 20%, real estate is on a %, lawyers may get paid on a % ("contingent fees"), etc.)

2. Initial salaries are good, but there is wage stagnation. Just-out-of-college salaries for programming are often better than virtually everything else (notably, banking and consulting); but after ten years, the opposite is relationship is reversed (considerably so). The difference between a newgrad salary and a 10-yearer salary for tech-industry programmers is often (in my anecdotal experience) less than 2x. In contrast, 5x or more is not unusual in other fields.

> out-of-college salaries for programming are often better than virtually everything else (notably, banking and consulting); but after ten years, the opposite is relationship is reversed (considerably so)

Don't forget that there is huge flight from banking and consulting, but much less so for programming. Of 10 people who start as bankers or consultants, 80% will likely leave the industry within 5 years, and 90% within 10 years. So, in a way you're comparing the salary growth of a median programmer to the salary growth of a top 5-10% banker.

This is an interesting point; thanks! Found this article incase anyone is interested. One quote stood out to me:

> Private equity recruitment firm PER conducts an ‘unofficial count’ into how many analysts join the M&A and corporate finance teams of six leading banks in London. In 2010, PER calculated that 250 people joined a combination of Bank of America, Citigroup, Credit Suisse, Goldman Sachs, JPMorgan and Morgan Stanley. After tracking those individuals for three years, it recently calculated that 140 of them are still working in banking. That’s an attrition rate of 44%.


That's an interesting comment. Do sources for those stats and numbers on how many people leave banking? What about programming?

Just searching around doesn't show anything solid up.

In short, the "up or out" policy of banks and consultancies is notorious for having more "out" than "up": https://en.wikipedia.org/wiki/Up_or_out

To put hard numbers on it, McKinsey is one of top management consulting firms. According to an employee, its average tenure among new consultants is 2.5 years. https://www.quora.com/Why-are-employees-loyal-to-McKinsey

That's consistent with the staffing ratios within the firm (Wikipedia suggests thare are ~400 directors compared to about 9000 total consultants). Those are the ones who stuck around for more than a decade.

This is the employment equivalent of Betz' law from wind power. Before you throw that idea out as ridiculous let me explain.

Betz' law states that there is an upper limit to the amount of power that you can extract from a given mass of moving air (aka wind). The plainest explanation is that the wind has to go somewhere in order to be able to bring in fresh wind. If you extract all the energy then the air would have to pool around the windmill and then eventually the pressure differential would drop to 0 and there would be no more wind. So you give up some of the energy and use it to remove the air after you're done extracting energy from it.

The parallel is that if up-or-out wasn't a fact that these companies would sooner or later run out of room in their org chart to bring in fresh recruits at the bottom. This would stop them from hiring the occasional gem that they will promote to the top of that chart. So to be able to hire the really good people they have to create room at the bottom, they have to get rid of a certain percentage of their people at all levels every year to keep the machinery moving.

It's an expensive affair but in the longer term it makes good business sense. Both windmills and really big companies are extraction devices.

Not OP but I read a statistic that only 1 in 5 analysts at I-banks are still in the industry after five years in the book 'Young Money'

> Labor does not receive (or insist on) percent-of-value or percent-of-transaction compensation.

This is true of pretty much all engineering jobs, and more broadly, most non-sales jobs. Commission becomes feasible when you can directly attribute sales or billable hours to a specific person.

> Initial salaries are good, but there is wage stagnation.

This is true for all engineering jobs, and also most jobs in general. Banking and consulting are exceptions, and as others have pointed out, the attrition rate is quite high in these fields and that skews the numbers somewhat.

> In contrast, 5x or more is not unusual in other fields.

Care to name some, besides banking and consulting, and possibly corporate law? I'd suggest that in most fields, you don't make significantly more money until you're managing a significant percentage of people, or tasked with making decisions that set the direction the company.

Why should programmers be an exception?

> Care to name some, besides banking and consulting, and possibly corporate law? I'd suggest that in most fields, you don't make significantly more money until you're managing a significant percentage of people, or tasked with making decisions that set the direction the company.

This is fair / you're right: I was mainly thinking of banking, consulting, law, and buy-side finance. As you say, though, there are plenty of highly-trained professionals who don't experience a 5x earnings increase over 10 years; functional medical roles (e.g., anesthesiologists) come to mind.

Something I was wondering when I wrote the original question -- and I may be way off here -- is whether there are cultural or structural effects in tech-industry programming that cause wage stagnation. For example, there is less wage stagnation for programmers in quant hedge funds than there is in the tech industry; part of this is the clear p&l, of course, but perhaps there is a cultural / structural component as well? I'm not a programmer, but I once heard something that stood out to me: A friend, who was a senior programmer, discovered an inefficient process where he worked. In brief, whenever a certain "event" occurred, the company lost money; the senior programmer noticed this, and built a fix -- no more "events", and hence lots of money saved. From what he told me, my back of the envelope was that by building this (which took him about a week), he saved the company more than $600k a year. I mentioned to him that if he had come in as an outside consultant with a black box solution and offered to charge $100k a year to save the company $600k per year, there was a nonzero chance they would have said "yes"; he laughed and shrugged. This made me wonder whether there is something intrinsically non-value-capturing going on; perhaps (1) tech-industry programming doesn't have a culture of individual-value-capturing, or (2) the role of a programmer doesn't have the structural leverage to reliably capture value. Of course, this story is just anec-data; there may be no conclusions here.

Isn't this just how employment works? If you build something and it turns out to have been a total waste of time and energy, you get paid all the same. If you build something and it turns out to save the company $600k a year, you also get paid, but the surplus value goes to the company in exchange for substantially reducing your financial risk. You can't have it both ways: if you want to capture more of the value, you need to share in more of the risk.

"whether there is something intrinsically non-value-capturing going on"

If you mean that it's hard to apply value to an individuals labour in programming you are correct, except in some rare circumstances where there is only one guy at work - then it becomes trivial.

Let's look this from the point of view of features and fixes for an individual software product.

For a car mechanic, an unserved issue means the single client may switch vendors (cost, say, 1 k).

For a software engineer, a botched feature may mean that a category of clients abandon the product (cost:1M+).

Ok, from the point of view of catastrophe recovery we know who can save more megabugs.

What about delivering value from new features? The car mechanic doesn't create anything new. Let's take the construction worker, then. This is really bad analogy but hold on.

The construction worker gets plans, builds the house, and moves on. Architecture, engineering and construction are split to separate people, all of whom have a known cost to their labour. Thus, we have a fixed project and a more or less transparent cost structure.

Software is nothing like building a house except in rare circumstances. Real world construction projects are mostly about creating linear combinations of known things.

Writing new software is like playing a combined game of sudoku and mastermind in a dark room - in the best circumstances. Sometimes the lights are on and the board is almost done, and you only need to put one piece down.

But - you can't really tell from outside what the situation is. Is the board ready? Did someone mess up the first steps and now they have to start over?

The whole thing is like a black box with input and output. The only measure of quality and value is that is the customer satisfied with the data coming out. There is no metric you can gauge the work reliably.

From the point of view of the organization the software project is like a black box, into which the team goes to do their work. They yell estimates to the project manager sitting patiently outside, who then writes project reports. After the team declares they are done, the deliverable can be tested.

You can send anyone inside the room, but only software engineers understand whats going on.

Sometimes a new programmer needs to meditate months inside the room before starting doing changes.

Sometimes the black box blows up.

Sometimes the team just goes into the box and cries all day without doing any porgress-for months - unknown to the org.

I'm sure this gets the imagination going - basically, anything that can happen with a black puzzle box and real people can happen.

I'm exaggerating to make a point, of course. But these unknowables make writing software a really risky proposition from the point of the view of the org. And individual can be incredibly productive, or a total failure, and it's really hard to point this out reliably if all are not specialists.

That's why, IMO, personal bonuses aren't really helpfull for software projects and fixed company wide bonuses are the only way reward without creating unfair situations. Any KPI based individual bonus system will at worst be destructive, and at best almost completely unfair.

> Software is nothing like building a house except in rare circumstances. Real world construction projects are mostly about creating linear combinations of known things.

Have you actually built a house before? The plans never quite match up to the reality. It always takes longer than you think, and costs more. No house is exactly the same as another. Every house has bespoke parts to it. Shoddy construction happens often, and fixing the issues that result can cost more than initial construction. And then the customer changes their mind, causing costly rework that never quite fits properly into the initial design. I would say building software is very much like building a house.

"I would say building software is very much like building a house."

Yeah, it's good to remind that making anything new and not mass produced is always messy. I would still claim that software only goes more insane from that since there are very little constraints to the work and it's less understandable as a whole. House at least is bound to the basic laws of physics. One cannot mess up the local universe so that walking through any arbitrary door takes one suddenly to the toilet. In software, on the other hand, one needs to design the constraints oneself (I'm generalizing again, of course).

Yes, civil engineers use a 30% - 40% fudge factor to deal with those unforeseen costs. They often get the costs wrong, sometimes it's nearly twice more, but those times are rare.

Software developers normally apply a 200% - 500% fudge factor do deal with unforeseen costs. Problem is, they are usually wrong by an order of magnitude or two, at whatever direction.

I'd love to know where to find more information on this kind of thing.

> I'd suggest that in most fields, you don't make significantly more money until you're managing a significant percentage of people, or tasked with making decisions that set the direction the company. Why should programmers be an exception?

One way of looking at programmers is that they are managers of an extremely cheap, fast, scalable, yet stupid, workforce. Once that workforce is put into action it can operate indefinitely. The problem is this workforce is very rigid in what it can do, and it must be told exactly what to do. It also requires a certain amount of maintenance due to security issues and ecosystem rot, but even so, the fundamental nature of this workforce has completely changed the landscape of the global economy by discovery of a new type of worker neither human nor animal.

Looking at it in this light, programmers potentially deserve to be paid on the order of top managers and even entrepreneurs and growth-phase directors. But not all of them, because being a programmer entails getting lost deep in the weeds of the mechanics of managing this invisible workforce. So the people who are capable of doing this are not necessarily the type of people who are good at understanding and articulating the business goals. Furthermore, because of the inscrutability of the work to non-programmers it is very difficult to enforce accountability from the outside, and therefore it is all too easy for programmers to become infatuated with operations that actually yield no value to the greater business.

At the end of the day programmers can drive businesses just as management can, but the tools are different. This is why I believe calling programmers "engineers" is a misnomer—it's not because real engineering is harder, but because programming is much more open-ended; a running program is literally logic incarnate. There is no limit to what can be done with software, but whether that can be harnessed to create a profitable enterprise is another question.

Maybe, but that unfairly biases towards writing types of code that scales when that isn't always the case. Lots of work doesn't scale in the same manner and still needs to get done. Plus the company owns those workers you made now.

Of course, the company itself captures most of the created value from this process, so if we're sticking with capitalism I'm fine with making extra money.

Well, that bit about management is true but sucks.

I saved my previous employer 60k years in running cost on my first three month on the job, and couldn't get a 10% raise out of it. Just promises and nice words. Well guess what? If you pay programmers as blue collars and get them to work as blue collar in a "software factory" paying them blue collar wages, you are in a self fulfilling profecy about their value.

My point of view is that I should cost my company somewhere between 1/5 and 1/3 of the value that I create for them.

Less than 1/5th and there's room to pay me more. More than 1/3rd and I'm at risk of getting into the unstable realm where if I or my team hit a temporary rough patch, that the company would be economically ahead to fire us, especially after you consider the amount of "double counting" that goes on.

(Engineering builds something that saves $100K/yr. Manufacturing deploys that thing to save $100K/yr. What do you want to bet that the total savings claimed is closer to $200K/yr than $100K/yr?)

I see what you mean, but putting your work value at the company behest is a losing proposition. My work has value even if the company that commissioned it to me is unable to monetize it.

My time has a value which is independent to what the company pays me to actually do. My time would carry the same value even if the company got me to clean bathrooms.

If I had the willingness to start a company and spent my time there, how much money would I make? That's the value of my time, but it carries quite some risk. I am not the best at monetizing software, so I outsource the monetization of my time and associated risks to a third party. They do get a substantial cut of the money, which is fine since I get reduced risk.

If you tie the value of your time to the capability of the company to direct you doing high value tasks you're starting with the losing foot in any negotiation. What if you gave your time to a charity? What if the company needed you to debug some worthless software in the chain as an emergency? Your time has a value even if what you are told to build in your time from your employer has no value - it's the employer loss, not yours.

Your second paragraph talks about the value of your time to you and in that sense, it's true. From the company's point of view of your time, your second paragraph is somewhere between irrelevant and false.

You hit the nail on the head that we're giving up a lot of the value "pie" in exchange for much lower risk. My mindset takes that one step farther: ensure that everyone's economic goals are aligned and stably pointed to continued employment of me and my team. That requires an exchange of my time for the company's money at a rate low enough that it's obvious to the company they're getting an economic gain from buying it and high enough that it's obvious to me that I'm getting an economic gain from selling it.

If those ranges don't overlap, you have a very unstable situation. When those ranges have large overlap, many different valuations of time are stable and mutually beneficial.

>What if the company needed you to debug some worthless software in the chain as an emergency?

If the software I'm debugging is worthless, it's hard to imagine there's a genuine emergency involving it. The mere fact that there's an emergency involving it means it has some value to someone.

Point 1 makes sense, to the degree that it's true. Programmers are typically too far removed from actual transactions to get paid in the way that sales, bankers, real estate agents, etc. are paid. Thus, measuring what they're actually responsible for is difficult.

To the extent it can be done at that level of abstraction, I'd argue that programmers are actually very over-represented in being paid based on hard outcomes. I haven't heard of any other profession with such a focus on equity grants.

This is interesting, I would be more bold and call these problems instead of features, as I think programmers deserve better. (Then again I may be biased!)

Problem 1 is more systemic and harder to solve.

For Problem 2 I feel there may be a way to strategize around it. Specifically, wondering if there is a point where salaries increase, and then after a certain point, rate of salary increase drops off at which point it may be beneficial to do a masters, phd, MBA or some professional work to refresh the resume. Either that, or perhaps dedicate some time (in lieu of higher ed) to some interesting open source project. Thinking more about economy of time here than education, education is just a way to make this concrete.

I'd be very hesitant to push a system that gave significant bonuses to salary increases based on going out and getting an additional degree. A.) Does the material in the additional education in any way contribute to making you better/more efficient/whatever at your job? B.) The risk of bullshit diploma mills goes up again.

I have family in education, and many districts have incentive programs for teachers to get Master's degrees, so that in addition to the pay bump, they get some or all of the tuition covered. I've known a number of people who've done this, and not one says that it helped them do a better job as a teacher - the programs were big rubber-stampers, and the only real outcome is that they are now not quite so pitifully paid.

This is very much a requirement for promotion in federal service. I've joked I'd get paid less than my wife whom holds a masters in government when I currently make 5x what she does and I'm currently underpaid.

You can never make good money as a programmer, if you let non-programmers pick the subject, or let non-programmers monetize the platform in your stead. Google and Facebook are worth hundreds of billions of dollars exactly because there is not one non-programmer with a say in them.

I think you confuse the founder/owner status with the work role. I would rephraze this - you can never make good money as a salaried employee (google with it's early-stock-millionaires is an exception).

The second question is, how can a company be succesfull? I know several very succesfull software businesses which were not directed by software engineers. The question about competence to run a company is far more complex than saying if domaim specialists won't run the show it will tank.

Steve Jobs knew programming, but I wouldn't really call him a "programmer" in the way you're thinking about it.

Steve Jobs probably didn't "know" programming.


I actually think your first sentence is an interesting thesis that bears examination, but your second sentence is an unnuanced non-sequitur.

Others claim other reasons for Google and Facebook's success: how did you determine that your reason is right and theirs are wrong?

I did not say that I believe this because it would be true. Of course, I only believe this because I want to believe this. You see, I am a programmer. So, my belief is that programmers are superior and non-programmers are inferior. So, everything I claim will always further that view. Therefore, my every political move is always aimed at confiscating any possible say or decision power from non-programmers and to eject them out of the game. Seriously, when push comes to shove, I only listen to other programmers. Isn't that obvious?

Wow, I guess there's something to be said for being aware of your own biases at least.

Well, at the risk of sounding negative but I'm surprised that this incoherent rambling made it to the top of the chart on HN and garnered such interest from the community.

I read the whole thing but I couldn't follow exactly what he was trying to convey there. Yeah pricing is difficult and one of the most intricate subjects in marketing and just ask any marketer or MBA student/pro and he will confirm that and labor is no different.

I also think that compensation would be a better choice of words than pricing. Human labor is a commodity and thus carries a price but the human being itself is not a commodity and can't be priced, bought or sold whether he be a programmer, plumber, astronaut ... etc.

>If I create $1M of value for the company, you can compare my price with $1M.

Incorrect. If your company were to pay you the same amount as they profit off of you, you wouldn't be sticking around for very long at that company. That's the basic requirement of your company's mode of production.

>If the ranges of acceptable don’t overlap, it’s worth stepping back and clarifying what glasses people are using to look at the numbers.

Consider my previous assertion. You may come to this conclusion: "it is unacceptable that I don't make as much money as the money I produce for my company." You may realize that the entire economic system is structured that way. Then, you're right that it's worth stepping back and clarifying what glasses people are using.

> If your company were to pay you the same amount as they profit off of you [...]

That's not quite what he's saying.

From the post:

> You can never say a price is high or low without asking, “Compared to what?”

He's saying that his price can be compared to the value he creates, not that the price should be the same as that value. So in this case, if his price was $1M for $1M of value, then any reasonable person would say that the price is too high compared to the value.

You're right, I think I understand. OP is laying out the metrics dependent on social relations by which one may estimate a sort of "fair" wage.

My rant was tangential to that bullet point but relevant to the second bullet I quoted... so I probably should just remove the accusatory word "incorrect" from my post ;)

> Incorrect. If your company were to pay you the same amount as they profit off of you, you wouldn't be sticking around for very long at that company. That's the basic requirement of your company's mode of production.

Why is this a basic requirement? Assuming by "amount they profit off" an employee, you refer to the economic profit (that is to say the profit after taking into account of all economic costs, including opportunity costs) rather than the nominal value, then I really don't see why this is a basic requirement.

This really perplexes me especially since the amount the company pays should be exactly equals the amount of economic profit you generate for the company, in a perfectly competitive labour market. Of course, reality is not always perfect, but for the average programmer it's pretty close (skills are quite homogeneous and programming jobs are less constrained by geography).

The capitalist would not be making any money off of the capitalist endeavor if their workers were not being paid less than 100% of their work's value. Incidentally, the economic system is set up in a way to obscure this basic fact. Example:

Say a TV is priced at $100, the raw materials to produce the TV costed $24, and all of the depreciated tools in building the TV costed $1 (the tools wear down, eventually requiring replacement). The labor performed by the worker produced $75 of market value.

If the capitalist pays the worker the fair $75, the capitalist makes nothing off of this whole coordination. Why in the world would the capitalist do that? Not only can the capitalist not take some of the money for themselves, they don't have any money to expand their business. A company that doesn't expand is a company that is eaten alive by companies that do expand. If the worker gets the $75, the capitalist isn't happy, and the capital isn't happy.

$30 goes to investment capital, $20 goes to the capitalist's wallet. The capitalist pays the worker $25.

Software is no exception to this reliable, yet simplified model.

>but for the average programmer it's pretty close (skills are quite homogeneous

I don't think that's right. First of all, programming skills are not homogeneous at all, they are in fact widely dispersed. A bad programmer can very easily destroy value by slowing down his team, in a way that doesn't happen in e.g. a factory environment. It's also not easy to judge programmer skill pre-hiring, so starting salaries are biased toward the mean, making good programmers underpaid and bad programmers overpaid.

Additionally, there are biases, morale considerations, and cultural issues that prevent compensation being equal to value added. Businesses are incredibly averse to firing people (there are some good reasons for this of course, e.g. morale). There is also very strong inequity aversion (again partially a morale issue) that makes it impossible to pay top programmers what they're really worth. Both of these issues lead to significant deviations.

And value created is lumpy. I found a bug in 20 mins in one major job site in the uk that was costing them £1/2 mill a week.

"In the best case the programmer and the company will both think they are getting a good deal."

IMO that is far from the best case. That allows "ignorance is bliss" and, at the other end of the malice spectrum, for one party to be taking advantage of the other.

I once sold a rare trading card for $50. I thought I was getting a good deal, the other person knew it was worth much more than that and thought they were getting a good deal. Was this situation optimal?

I once sold a laptop to a person over craigslist for a fair price. He thought he was getting a good deal as well. When I got home I discovered that model had just been obsoleted and so a brand new one was as cheap as the used one I'd just sold. Was this situation optimal?

"In the best case the programmer and the company will both think they are getting a good deal" is not the same as "if both the programmer and the company both think they are getting a good deal it is the best case." TFA says the former but your post is really about the latter.

What do you believe the best case is?

As with most negotiated agreements, neither side should feel like it's a good deal, but all should have sufficient, accurate information such that they can agree on what the limiting externalities are and how they necessarily shape the final deal.

Edit: I should note that this assumes a somewhat unlimited self-interest on both sides. Real people might not take all they can get even if it's offered, and real companies might not mind paying more than necessary even if they're not asked.

I've seen two competing philosophies of how to determine pay.

First, you can find a large pool of candidates, learn the typical wages in your market, and make offers pegged to the average (with some offset). You will learn what fraction of your offers are likely to be accepted (maybe shoot for 60%), and adjust accordingly. This works if you want to hire a dozen or more people over the course of some months.

Alternatively, ignore price, look for candidates, and when you find the right one, open a negotiation where you determine what price they are willing to take. If you need to hire a small number of specialists, this may be the best way.

I have also experienced failed recruitment schemes, such as ignoring price until the end but then pitching a "fixed budget" (which sometimes means "political limitations").

You can choose which method to use every time you hire. Great candidates may also be choosing, and you know which model they will cater to.

As always, prices are determined by supply and demand.

A price is too high if the buyer can find the same thing (another programmer considered to be an equal hire, in this case; people are not commodities so this can be difficult to evaluate with absolute accuracy) for less. A price is too low if the buyer cannot find the same thing for even an equal amount.

The price is just right, at that moment in time, if there is a mutual agreement between a buyer and a seller.

And ... we control the supply. If we all agree, we can set pricing however we want. Yes, it would be a monopoly/union/cartel, but OTOH, we could double or triple our take home overnight.

Hiring gets a lot of attention, but pricing is vague there.

It is much easier to estimate the price of an already hired programmer with a track record known over years and who has knowhow of the company's infrastructure, style, and knows the interactions between people and teams.

Also, it is usually easy to estimate how much it would cost to replace the well-known, skilled programmer with a new hire so I might assume that a careful owner or manager would be eager to re-evaluate his/her price continuously and adjust their salary upwards regularly to basically re-hire the hired programmer, to re-establish the position over and over again.

But large or continuous salary increases are not that common. You generally have to change jobs to get a significant raise to your salary.

It seems to be companies are more careless and flimsy with spending money on new hires and more conservative and thrifty with spending money on their existing hires even if that behaviour is in direct opposition to the amount of betting they are required to do.

I think the companies many times view a new hire as an isolated event and a raise as systemic.

Have to say, this reads like he's self-deriving micro-economics for the first time. My very simplistic way of looking at this (not having hired anyone myself) is as follows. If the company has a good strategy and is being run well, than Kent should probably not worry about value created by his new hire because it will dwarf any employee salary. Just make sure you hire the best one you can find and offer him/her a market-beating proposition (which comprises salary, culture, etc.)

People write a lot about how much programmers should make. I think there's a couple of sides to the discussion which the author mixes together instead of separating out by stakeholder. (i.e. he discusses opportunity costs for all stakeholders instead of discussing a specific stakeholder then talking about her opportunity cost). Someone could probably come up with a pretty robust framework or model for individual companies and individual programmers and look at how those interactions play out over a repeated game.

But there's a pretty simple rule in a competitive market: prices are set by the next highest bidder.

All of this assumes that you will work for someone else who will monetize the platform that you build. That's not how you create Google or Facebook valuations. The first rule is that you must decide by yourself what platform to build. Someone without hands-on knowledge of what exactly technology allows to build, cannot do that properly. The second rule is that you must monetize the platform by yourself. If you break these rules, you will never make serious money.

I like it because it de-commoditizes programmers. It forces you to evaluate each person and the business role rather than 'the market price for a programmer with X skills' which has always driven me crazy when dealing with large company HR. Human resources, treating people like commodity resources, heh.

When was the last time you saw a programmer wear a white shirt and tie to work? Maybe last at IBM in the 1960s.

Programmers are worth $0 because programming isn't a job. It's not even a skill; rather, it's more of an active literacy.

Asking how much you should pay a programmer is like asking how much you should pay a telephone user, or how much you should pay a pencil user.

You're 10 steps ahead of us all and probably living more than 10 years into the future. Yes, programming is a form of literacy. But in todays world, programming is also a job. Just like being a scribe was a job in ancient times, HTML'er was a job 10 years ago (and still is in some places) and programmer is one today (but assembly programmer is a job that is now in large part taken over by compilers).

And that skill has a lot of value to people that don't have that skill or are limited by their own time so we get paid for it. Probably a decent number of years will have to pass before we can call programming 'just a skill' akin to writing.

If you're going to put ideas out that are borderline detached from the current reality it would be great if you gave your thoughts a bit more foundation so you're easier to follow, it just so happens that I saw what you meant but I can also understand why someone who is currently a programmer by profession would in some subtle way feel offended if you called their profession (which is a hard one!) the equivalent of a telephone user or a pencil user.

Perhaps I'm assuming a casual familiarity with some of pg's earlier essays than no longer exists. Although I think the reason I'm getting downvoted isn't for being unclear, but rather for shitting on people's self-identities.

As for being ahead of my time, if you look at the job market today it's true that you do have a lot of people paid purely for their ability to code. These are mostly W2 employees, who work at the kind of places where you start out as a junior developer making 60 - 80k, and then make double that after 8-10 years. And given the current state of society, this is actually a pretty good career path.

However, we also have consultants who bill on a project basis based on value rather than skill, who might easily make 400k a year even as junior developers. (E.g. c.f. patio11's essays.) And we have entrepreneurs and founding team members who get paid largely in stock, the worth of which is largely determined by how much the market values the product.

It's kind of weird because as an industry we definitely need people who have ridiculously good technical skills, to the exclusion of all else. But for the most part programming is a pink-collar job that just happens to be done mostly by men. (In that it requires education, but there is a lot of downward pressure on salaries because the people involved are perceived as being largely interchangeable.) This is why I'll sometimes describe myself as a software developer, but never as a programmer or a software engineer. Because although I know how to code and I might even spend most of the day coding, I don't ever want to work at a job where I'm paid based on my coding ability.

> Although I think the reason I'm getting downvoted isn't for being unclear, but rather for shitting on people's self-identities.

Just to add my two cents, I downvoted your original comment because I thought it made no sense and was bordering on trolling. This reply is much more eloquent and puts it into perspective, so I've upvoted it. I think this is a completely valid and interesting opinion on the "worth" of a programmer, and it's not one that is ever really explored. Our industry tends to focus too much on the general "market value" of developers without considering that they are more than the sum of their skills.

That said, I think you're drawing a line where one does not exist in practice. Very few developers these days are paid to just crank out lines of code. At work, I'm not asked to write a function that takes certain inputs and returns a certain output; I'm tasked with building a feature for a product. This requires much more than the skill of knowing how to code: I have to have a good understanding of the product as a whole, how everything fits together from a technical perspective, and the end users' needs. The titles of "programmer" and "software developer" (and all the other variations) are used interchangeably because the distinction essentially doesn't exist anymore—if you hire a programmer, you're expecting them to know more than just how to write code.

The term you're looking for is 'analist', it was the job of the analyst to tell the programmer exactly what to do. Now we're all analyst-programmers. That makes the programming job that much more interesting but analyst was a separate job for a reason: people with that particular skill were a whole lot more rare than people that could program.

That actually gets back to my original point.

I have a friend who also uses Python as part of his job, but he's a hedge fund manager. Although we're both ostensibly programmers, there is no way we'd be able to successfully do each others jobs, at least not without several years of training. Nor do I think that just knowing Python makes me qualified to be a professional biologist, astronomer, filmmaker, or whatever else people are using it for these days.

That's why I think it's weird to ask how much a programmer should make, since in most cases it's actually the analyst part of the job that determines how much value you're able to create.

> Programmers are worth $0 because programming isn't a job.

Programming absolutely is a job. Its a thing people pay people to do for them.

> It's not even a skill;

Its absolutely a skill.

> rather, it's more of an active literacy.

Literacy is a skill. It becomes less of a notable skill when its common enough (near universal) in society, fading into the background. But programming absolutely isn't that common of a skill.

> Asking how much you should pay a programmer is like asking how much you should pay a telephone user, or how much you should pay a pencil user.

You might have a case if you were talking about a "computer user" rather than a "programmer", but as it is, that's just silly.

If I've got five years' experience writing, say, front-end JavaScript, I can reasonably call myself a programmer. A company that wants to develop software in C for embedded microcontrollers might reasonably advertise for a programmer. But my value to that company is approximately $0, because I can't (in a reasonable time frame) do the things they want done.

The same objection applies to translators -- which is why people talk about the languages one is literate in for both professions when hiring.

But it's not like there's much dispute that being a translator is a job.

Not sure if trolling or not.

Anything has value as long as someone is willing to pay for that. Simple as that.

Is a Van Gogh painting worth 50-100 million dollars? It is if someone pays that much for it.

Nothing more. Nothing less.

If you think programmers are worth $0, then that's your prerogative.

However you must surely be typing these comments in a computer programmed by yourself, using an OS and reading it in a browser you wrote from scratch, otherwise why pay money (that ultimately will arrive at the pockets of the programmers) for something that is worth $0?

Technical writers, human language translators, lawyers, and many other professions are primarily about "active literacy" as much or moreso than software developers.

Do you feel they are all worth $0 too, or just programmers?

The screenplay for The Hunger Games has value. A shopping list also has value. However, their values are very different.

Sure, each was created by a pencil user. But they don't actually have anything in common, so asking how much money pencil users 'should' make doesn't even make sense as a question.

I think you have a specific framework for viewing things, but you are being deliberately obscure rather than just elucidating your thoughts, and so I think the downvotes are just. What would happen if you exercised clarity? Bad things?

You are saying that a pencil user isn't worth anything, but you also recognize that a pencil user can write a script. You feel that it is the script which has value, and not the pencil user. So I suppose you're saying the programmer isn't worth anything, but the program is worth something.

That's one lens to view things, but it's also a gimped on its own. One should have multiple lens.

Agreed that the presentation does not help but it is an interesting train of thought and by far the most interesting part of this particular thread on HN. Indeed the output has value, the skill by itself is of no value. Just like painting has value and writing have value. There are lots of terrible paintings, terrible programs and terrible books. Those have no value, and then there are some really good paintings, great programs, great books. Those do have value. And the skill that allowed the bad stuff to be created is the same skill that allowed the good stuff to be created. So the skill per-se is not the differentiating factor, the quality of the application of that skill is what allows one to create valuable work and being the intermediary between someones ideas and valuable work is why programmers, writers and painters can make a living.

It's the whole basis of IP law and all the associated bits-and-pieces that allow all of us to make a living. Intellectual property has a shadow side, but this side is the one that keeps the IT world afloat.

The same laws that govern file sharing allow writers, programmers and other people skilled in some art to create enough value that they can make a living, sometimes even a very comfortable one and those writers and programmers that manage to hold on to the fruits of their labor long enough can do very well for themselves indeed.

> What would happen if you exercised clarity? Bad things?

Unlikely, but not everybody is equally capable of expressing their thoughts clearly. I should know, I've struggled with this for many years and only in the last 5 or so I've gotten better at that. HN has definitely been a tremendous aid in learning how to express myself more clearly to avoid being mis-understood.

If you need someone with programming skills and are willing to pay them, and someone with those skills will work for that amount, that's the price of a programmer. Asserting that the skill is worthless doesn't make sense as long as people will pay for it.

Even if you just consider it a form of literacy, scribes absolutely were paid to do their work before literacy was as widespread

People don't pay for "programmers" they pay for people to make products.

People don't pay for people to make products, they pay for people to make them money.

People don't pay for people to them to make money, they pay for people to build wealth.

People don't... wait I have to throw up. Will be back.

You have a decent point here, but please don't optimize for snark on HN.

But pompous comments are ok?

They're definitely not great, but the class of all comments that strike someone as pompous is so large that standardizing on snark in replies would sink us.

The existing platforms on the internet are worth trillions already. The ones that truly work, are built, operated, and owned by programmers. The other ones ultimately only crash and burn. What do we need non-programmers for, in that context? We may pay them to do something menial, but besides that, what else would we need them for?

I for one welcome our new programmer overlords. Kneel before the quadrocopter swarm of doom!

But really. Menial? Like teachers, doctors and kindergarten workers?

Societys true value is in something else than the value in the bank account.

At one point in history, knowing how to use a typewriter was itself a marketable skill, because few actually had access to one and knew how to use it. These days, most people in the developed world know how to type, but still only a small portion know how to write programs. Saying that this is worthless is silly at best; someone is willing to pay someone else to turn their ideas into code, so it must be worth something.

It does not matter whether programming is marketable or not. What matter is that the results of programming, such as Google Search or Facebook, are highly marketable. Mistake number one: never sell yourself. Only sell the result of your efforts, and preferable not to middlemen, but directly to the real buyer. That is how you create hundreds of billions of dollars in value.

You're flooding this comment thread with these posts.

A single person didn't build any of these billion dollar companies you're referencing; at some point they had to hire more people, who in turn "sold themselves" by your confused logic, to build the company.

Most of these halo companies have non-programmers who were brought in to monetize and grow the value in them. Sheryl Sandberg isn't a programmer nor I think the rest of that board. Eric Schmidt was an electrical engineer.

Schmidt actually is a programmer, he re-wrote a good chunk of lex.

You see, I don't like the mentality that exudes from "How to price a programmer". Furthermore, this site, "Hacker News", is not supposed to be upvoting that kind of posts, because in that case, the people on this site are not hackers at all. The vote here has obviously been subverted. But then again, it does not matter. Making billions is not a matter of voting or misguided pseudo-democracy. Mark Zuckerberg made hundreds of billions because he is undoubtedly a great hacker. All the misguided voting on the planet will not change anything to that. The battlefield is the marketplace and not the voting nonsense.

How to price a programmer is a legitimate subject of discussion on a website where a large portion of the audience derives their bread-and-butter from being exactly that, programmers.

What 'hacker news' is or is not supposed to be upvoting is only fragmentary up to you, the value of your one vote which you may withhold as you please.

There isn't a day that goes by without some relative newcomer here saying with great authority what HN should or should not be. Hint: HN existed long before you arrived and the charter is broad enough that it is probably not possible for any single individual to pontificate on what HN should or should not be without considerable care about representing viewpoints different than their own. Your comment fails that particular test.

HN is made up from individuals from all walks of life, and some of us are currently in the job cycle where an article that gives information on how to improve their lives is important enough to share with others.

Making billions, Mark Zuckerberg and Facebook have nothing to do with the subject at hand, and if you recognize that the battlefield is the marketplace then maybe you can also recognize that programmers are active on that marketplace and that tools to help determine their value are in fact useful and worthy of discussion.

If someone wants a tool to "determine their value" he is already asking the wrong question. It is his work that should have value. I can only feel sorry for people who believe that they should be the product and not their work.

Come on, don't feed the troll

I guess you can look at the comment as trolling. But look past that and it is an interesting idea that’s worth thinking about.

Well, I kind of see that point of view, if we are talking about the activity of "programming", which in itself may not necessarily be thought of as an productive activity. But the article was about developing software, which is a productive activity.

Sure, we can go philosophical and say that when I'm ordering a taxi I'm programming - although my input is a simple time-coordinate pair.

Since we are using natural language as real human beings our communication is context sensitive and this instance the context was the role of a paid position in a programming role. Don't go too philosophical without setting up the context, preferably with examples. And then think if you are actually saying something non-obvious.

> programming isn't a job

Hmm, interesting. Wonder what i'm actually doing from 10-7 every day in that case.

You could not be more wrong.

At least without any further elaboration, your assertion that it's not a job sounds dowright doltish and the following analogy irrelevant.



I think both of you are way out of line. If you spent more than 10 seconds thinking about what the guy wrote then you'd see that there actually is a point to it.

Calling him a troll and a douchebag is exactly the opposite of what HN is all about. Attack the idea, not the man or downvote and let it go.

View his comment history and you'll see he's a constant troll and negative asset to this community.

This thread looks like it has an unusually high amount of flagged/down-voted comments.

Yes, but that's just an indicator of its controversy, not its validity.

HN is a pretty homogenous filter bubble after all.

Google and Facebook are factor-11 dollar values (11-zero decimals, aka, hundreds of billions of dollars). The typical programmer will make a 6-zero revenue in his life time. You can create 11-digit value, only if you pick the subject by yourself. A non-programmer has never in history been able to pick an 11-digit subject. Only programmers can create half a trillion dollars in value.

> A non-programmer has never in history been able to pick an 11-digit subject.

Yeah, no:


To add on to that:

> By the time Rockefeller died in 1937, his assets equaled 1.5% of America's total economic output. To control an equivalent share today would require a net worth of about $340 billion dollars, more than four times that of Bill Gates, currently the world's richest man.

Yeah, piling on: While some tech companies have huge market caps, there are plenty of non-tech companies above the $100B mark. Current top ten includes Exxon Mobil, Berkshire Hathaway, Petro China, Wells Fargo, Johnson & Johnson, ICBC, and Novartis alongside Apple, Google, and Microsoft. (https://en.wikipedia.org/wiki/List_of_public_corporations_by...)

That was before the year 2000. Ever since, you will no longer get above the $100B unless you are a programmer. Non-programmers no longer stand a chance. You need to eat, sleep, and breathe technology these days. We will soon see the very last non-technology billionaire. Of course, it is a matter of principle for programmers not to turn any non-programmer into a billionaire by doing all the hard work for him. Let him do it instead!

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact