Hacker News new | past | comments | ask | show | jobs | submit login
The Programmer Salary Taboo (thurn.ca)
421 points by andrewmunn on April 12, 2011 | hide | past | favorite | 319 comments

Salaries never stay secrets forever. Hiding them only delays the inevitable.

Last year we were having a discussion at lunch. Coworker was building a new house, and when it came to the numbers it was let loose that it was going to cost about $700K. This didn't seem like much, except to a young guy that joined the previous year and had done nothing but kick ass and take names. The new guy was arguably the most talented guy in the company by a considerable margin, so he thought someone building a $700K home might've been overextending themselves. The person buying the home retorted that it was reasonable and asked the new guy why he wouldn't buy the Porsche Boxster he considered his dream car. The new guy responded that would never be prudent. That didn't seem right, as several of us at the table could've nearly swung a Boxster with just our bonus.

The conversation ended up in numbers. Coworker building the house pulled about $140K base (median for a programmer was probably $125K), and his bonus nearly matched the new guy's salary, which was an insulting $60K -- and got cut out of the bonus and raise in January for not being there a full year, only 11 months.

Turns out he was a doormat in negotiating, though his salary history was cringeworthy. It pained everyone to hear it, considering how nice of a guy he was. In all honestly, $60K was a big step up for him. Worst of all, this wasn't a cheap market (Boston). The guy probably shortchanged himself well over a half-million dollars in the past decade. This was someone who voluntarily put in long hours and went out of his way to teach others, and did everything he could to help other departments like operations and other teams. On top, he was beyond frugal. Supposedly he saved something around 40% of his take home pay, despite living alone in Boston. He grew up in a trailer park.

He spent the next day in non-stop meetings with HR, his manager and the CTO. That Friday he simply handed in his badge without a word, walked out and never came back.

Until 3 months later. As a consultant. At $175/hour.

That guy could have been me. Modest upbringing, lean living, doormat at negotiations, accepting absurdly low compensation because it seemed like the thing to do at the time, check check check. I'm glad he is doing better now.

That said, mission effing accomplished for the company: they're well north of a million dollars richer because good little kids don't drop their drawers or talk salary numbers. This topic makes me feel positively Marxist: we're willingly participating in a system designed and perpetuated to exploit us because to do otherwise would be impolite.

Ah yes. The old bit where social/moral obligations and judgments are only applied to normal citizens and never corporate citizens.

When a private individual walks away from an underwater mortgage because the deal suddenly sucks, they're seen as a scum-bag leech whose word isn't worth dirt. Get the economic-justice crowd in on the discussion and they start bandying about "debtor's prisons" and erecting straw-men for the dead-beat bonfire.

But when a bank walks away from an underwater property because the deal suddenly sucks, they're seen as smart. Shrewd. Walking might even be a bonus-worthy decision.

Not that private individuals are incapable of screwing one another over and somehow dodging social judgment [1]. It's just far, far less common. And the best treatment they get is a polite look in the other direction. No-one's printing an Op-Ed celebrating those decisions and castigating any attempts at socio-moral critique.

[1] For some reason we all look the other way when it comes to immigrant au-pairs. And that's horrible.

Loved your tweets on salary negotiations from last night, pity I haven't properly followed through on them in recent times.

Sounds like a Google story.

But regardless, some people define 'winning' as getting more out of you than you get out of them. Sometimes those people get into management positions, and when they do their groups seem to develop really wide pay ranges for the same amount of work. If you're a senior manager and one of your managers is trying to get points because "I can convince him to join for half what the last guy cost." then you need to jump on that problem right away.

Managers have the challenge when they pay someone $X but they aren't doing the same level or quality of work of someone making $X - $Y. As a manager you have three choices: 1) Bring the lower paid person up to an equivalent level 2) Fire the guy making "too much" and replace with someone who is more calibrated to your organization. 3) Engage in a potentially unsuccessful campaign to bring the contribution up of the under performer.

Of the three #1 is the "easy" one (giving people raises is always pretty easy), #2 is the "quick" one (especially if you're in a place where turn over is expected) and #3 is perhaps the biggest gamble (both the opportunity cost of not having the guy perform and the possibility he may never get there). It's one of those things that is different about being a manager vs being an individual contributor.

Things are weirder in pre-IPO + post-IPO worlds where people assume that if they are throwing around a bunch of money its because they got it from stock or something. It can be psychologically difficult on someone who has a lot of money due to an IPO but is doing the same "level" of work as someone who joined later and got post IPO stock. Harder to manage and harder to deal with morale issues if they start 'resting and vesting'.

Google was famous for having a 'personal multiplier' which would adjust your bonus and a 'median salary' for your pay grade but they wouldn't tell you either of those numbers (they made it a policy not too) so it was impossible to back check to see whether or not your bonus reflected your work or was just a beauty contest. When the company won't tell you what the median salary is for your pay grade that should be a red flag. But not sharing individual points across the spectrum I can see the argument for that.

$175/hour * 40 hours/week * 50 weeks/year = $350,000/year, for anyone else (like me) who can't immediately estimate equivalent yearly rates.

But remember that there is non-billable work (accounting, etc.) and a 15.3% self-employment tax. And also remember that there are probably not 50 weeks of 40 hours/week at this company but rather short-term or part-time work. And you are paying for your own benefits.

I've found a good (albeit a bit conservative) rule-of-thumb is to convert the hourly wage into the yearly salary. Working as a consultant for $175/hour is similar to being employed at $175K/year.

EDIT: The U.S. federal self-employment tax for 2011 is 13.3% (15.3% was for 2010).

A minor correction: it's not as bad as 15.3%. The self-employment tax is really just the company share of FICA withholding (6.2%) plus Medicare withholding (1.45%) If you're an employee you pay 6.2%+1.45%=7.65% and your employer pays the same. If someone else (employer) is not paying the 7.65% then you do.

However, for 2011 the FICA rate for employees is 4.2% instead of 6.2%, so the self-employment tax remains effectively 7.65%. But that's only for the first $106,800 in earnings - everything above that is not subject to FICA and Medicare for employer and employee.

Another (even more) minor correction: there's no limit on the Medicare tax, currently 1.45%.

As "bad" as 15%? Tax is at least 38% here in Au for that wage (was 60% not so long ago).

Well, it's 15% for FICA (employee + employer), but there's also normal income tax, which starts at 10% and gets up to 35%. And then the state and, depending on where you live, the city have income and/or payroll tax as well (usually in the single digits).

That's "only" for social security and medicare. You still pay federal income tax on top of that.

And on top of that the state income taxes in most states, and sales taxes that usually approach 8 or 9%, and property taxes on real estate (and autos where I live). Also if you manage to save anything after all that, you can look forward to paying dividend or capital gains taxes (a form of double taxation).

It is a myth that America is a low tax nation.

Most other countries have twice that sales tax, as well as having all those other taxes. The best rough estimate of taxation burden might be proportion of government spending of GDP, which IIRC is about 35% for US, and is lower than eg most European countries.

Government spending as a percentage of GDP per country


You need to take into account what you get in addition to what you pay.

In American those taxes provide a strong military. Most of the rest of the world are very poorly equipped by comparison. Other countries get health care and education.

Improving foreign policy would be a cheap way to reduce military costs - relying on a militia was the American tradition up until the Cold War and is indeed one of the reasons you have the right to arms.

Keep in mind that the US is a deficit spender, so effective tax should be even lower than that figure.

As other pointed out that is payroll tax, not income tax.

The differences in tax between the US and Australia are not so much in the headline rates as in the deductions.

In the US mortgage interest on a home you live in is tax deductible.

And in the US you get taxed as an economic unit with your spouse and children.

So a home owner with a big mortgage and a spouse at home looking after kids pays much less tax in the US.

Keep in mind that there are many tax tricks you can play here too, like paying yourself dividends and writing off a lot of expenses (speak to an accountant before doing so).

Also the overhead of running a corporation (including lawyer, accountant, payroll, and general insurance) is not much if you're making over $100/hr. It is certainly less than 26.7% (ie, $75 of every $175 minus 15.3%) worth. Most of these costs are fixed, not variable.

my wife is a cpa/cfp, and this is how i set up my company. i write off most stuff (car, office supplies, computer equip, internet, phone, etc), and pay out yearly dividends on top of a base salary. for a one-man corporation, the overhead can be really minimal. if you can get health benefits from your spouse and keep nearly 40 hrs week in billable hours, you'll never look back.

Even using your conservative numbers, this guy is earning almost 3 times what he was previously, a fantastic effort and do envy him :-)

That's 3+ times what he was making while reducing his hours or 6+ times his salary if he is pulling overtime.

Depending on how many hours you bill, maybe. But if you have a steady client or two, bill 35 hours per week (conservative) and work 48 weeks, that's $294k. Yes there are some additional taxes (but only up to the first $105k or something) and keep in mind salaried employees pay half the "self employment" tax too..

Yep, my accountants rule of thumb is after deducting time for admin and other downtime you will be doing well to sell about 60% of your available billable hours. So that about ties up with what you are saying.

Calling that pay rate $175K/yr is beyond conservative. Maybe if he's taking off 2 months a year for vacation (another benefit of contracting!).

$x/hour * 40 hr/wk * 50 wk/yr = 2n1000

The general rule is always "times 2, add 3 zeros" to do it in your head.

That would never work. You'd find some garbage in the output, or even worse, get a core dump due to n being undefined. I think you mean 2x * 1000. .... or I've been refactoring my code for too long.

But yes, this is generally the rule I use as well, take the hourly rate and double it and add a K (eg $30/hr = $60K)

Doesn't include holidays, sick leave or efficiency trade-offs (billable time vs maintenance, research). Personally I use an estimate of about 75% efficiency to get a realistic answer, so then your formula becomes 3/4 * x * 1000

So at $175/hr I'd expect something like 130,000 annually. Given that its said he's quite frugal and doesn't mind hard work, it could well end up being around the 250-300K, but I'd expect he'd end up burning out after a year or 3.

For 75% efficiency I assume you mean 3/4 * 2 * $175 * 1000 = $262,500 / year.

3/4 on it's own is less than %40 efficiency. I.e. Taking half the year off.

You also just stated the same thing slashcom did while meaning to correct him?

yes, quite right... maybe I should go and lie down somewhere...

But hey, at 75% efficiency at a half year's work at that rate I could probably afford it...

quite true ;)

Much shorter, just double the hourly rate for yearly salary in K's.

Eeek, only 2 weeks holidays per year? :(

Yearly revenue = hourly rate * 2 (in thousands)

$40/hr => 80k/y $120/hr => 240k/y

and his bonus nearly matched the new guy's salary, which was an insulting $60K

Is it common to get ~$60k yearly bonus as a programmer? Was this for a finance-industry job? All I've seen (either myself or others) so far is a few hundred dollars to a few thousand.

Large firms will do 'bonus targets' as some % of your base salary. Goals are established based on measurable metrics that you probably won't feel like you can directly do much about, such as average revenue per customer. If the company hits the goals, bonuses pay at some multiple of target. E.g., 10% bonus target, it's a good year so bonuses pay double = you get 20% of your base as a bonus. Managers will be given both a higher base salary and a higher bonus target.

Small firms are all over the map, from nothing to "finance industry".

Glassdoor suggests that no, this amount is not normal. But I wouldn't be at all surprised to see ~$10k be normal from a ~10-15% target. And it is certainly possible at a big company that does this sort of thing to get classified as a manager and have a 15% target payout double on a good year for 30% of base = a free car.

Avoid bonus systems. Bonus systems do not work out well for non-executives. Look at the story again: the kid made out better than anyone because his $175/hr is his for as many hours as he works no matter how the company performs that year. He gets his "bonus" every hour he works. The senior dev has a whopping 30% of his yearly comp tied up in a nebulous bonus that probably gets paid out far enough into the next year that he's already earned about half of his next bonus by the time he actually gets it (i.e. makes leaving expensive).

The bonus system was originally set up for high up executives to tie their comp more exactly to company performance since they are responsible for it. As a dev you are not responsible for company performance. Are you able to sack the sales team if you feel that they're not competent? Are you able to change company direction? You can't be responsible for something you have no ability to change. People saying you do are just manipulating you to their own advantage.

"The bonus system was originally set up for high up executives to tie their comp more exactly to company performance since they are responsible for it. As a dev you are not responsible for company performance."

As a dev, we might not be "responsible", but we sure as hell have an impact on the performance of the company.

So many people overlook the fact that we design, build, implement, enhance and support the products that earn the company revenue. The products might not be our idea, but we are the ones executing them. And in true HN fashion, we all know an idea is nothing without the execution.

You can affect it, but that's not what the bonus system is about. It it were you would "deserve" a bonus for simply not destroying the place, since this is the only thing really somewhat under your control.

Everyone, down to the cleaning service, has some effect on the company. Otherwise they wouldn't be there. Should a big chunk of everyone's compensation be based on company performance? If you do that then we're all suddenly big risk takers, and therefor vastly underpaid.

Can someone please shed some light on what would be a good strategy to follow if you were in his position talking to HR, manager, CTO?

What's the best way to save yourself once you've realized you're worth nearly double, triple, or quad your current comp pkg?

Honestly, the best way to obtain your newly-discovered market worth is to leave and find another job. In almost every job your only chance of negotiating a competitive salary is before you start.

Sure, you can talk to HR and your manager and perhaps see some form of bump in salary, but if you're significantly underpaid then a) it's likely other people are too and they won't want to rock the boat, b) there's a decent chance you wouldn't leave anyway, and c) even if you do chances are they can fill your position for what they're paying you now.

Agreed. Not only that, but the less people pay for your services, the less they respect those services (it doesn't feel as earned as the next guy billing twice as much).

So you pretty much have to jump. Which is likely anyways since if you were being paid less than half than everyone else around you and doing the same or better work, you'd probably be more than a little annoyed.

This is a sad fact. There are huge (irrational?) barriers for giving employees big raises or bonuses. Take Borland for example - they'd rather sue Microsoft for brain-drain (i.e. paying the employees more) than match the offers: http://news.cnet.com/2100-1023-279561.html

> There are huge (irrational?) barriers for giving employees big raises or bonuses.

Since they exist at almost every company, I think it seems probable that it's rational. Here's a simple possible argument for their rationality:

Creating big barriers to large raises/bonuses discourages employees from sharing salary info, since there's little they can do about it. Furthermore, the more your employees are worrying about their salary, the less they're working.

> ...I think it seems probable that it's rational.

It's an example of bounded rationality: http://en.wikipedia.org/wiki/Bounded_rationality

The decisions seem rational given the perspective and limitations of the decision-makers.

The easiest way is to just find another offer from another company. You're not "worth" double your current comp if you can't find it somewhere. Then you let them know that you have another offer but would prefer to stay if they can match the other offer.

Keep in mind that this happens all the time and is standard procedure in most American and European companies. As long as you act honestly, your boss will probably not hate your forever or start looking for your replacement. If your employer can't deal with negotiating over salary, you should probably just take that other offer . . .

The other option is to say that you're going to leave to go consulting. This is a harder sell because they'll think you're bluffing. You have to be ready to actually do it.

I think that it works better if you don't say you would prefer to stay. If they want you to stay, they will make the offer anyway.

You can also use the approach suggested in "Up the Organization" where you put in your two weeks and then re-apply for your position. It's good to have, as you suggest, a best alternative to a negotiated agreement on hand (BATNA), such as a job offer from some place paying the same or more than you're getting now.

Never take the counter offer.

If you're going to go, go. If you're going to play employers to get more compensation, play prospective employers.

If you take a counter-offer from your current employer, they'll just put you on the shit list. First to go in any sort of rough terrain. First to get thrown under the bus if they need a body. And most importantly: you'll have set a new normal for salary discussions. That is, they'll feel they can simply say 'no' to every request until you're ready to leave again and then just match the offer.

They get to continue paying you X for however many months you give them; however many months it takes to find a job worth leaving for. Then they coast in and match someone else's 1.2X offer, having enjoyed months and months of paying your old salary and playing all that stress and frustration and work of getting another offer against you.

And you can be certain they'll be playing every social/moral game to make you think you shouldn't get it along the way [1].

Further, you'll have damaged the nascent relationship with the would-be hiring company. They invested nontrivial time and energy vetting and planning for you and will be miffed to find they were a pawn in a raise-play. Sure, it's a valid business decision to change your mind and turn down an offer. But those individuals will remember and give you less preference in the future [2]. Taking a counter offer from your current employer just isn't seen the same way as taking a competing offer from a third firm.

By all means, use a counter-offer to negotiate for more from would-be new employers [3]. But don't take the counter offer and stay put. Unless you really love searching for jobs and can dispassionately go through the "I'm going to quit." stage and that doesn't negatively impact your co-workers [4].

[1] "it's not a good time right now". "the economy has everyone really tightening down". "no-one's getting a raise this year". "i had to really push to get you guys a bonus, there's nothing left for salary". etc.

[2] They'll also see you as one of those "threatening to quit to get the best possible raise" people. Which is a negative for any manager who'd rather not go through that drama.

[3] Keep in mind that asking for a bid against a counter-offer can blow up if you have no intention of taking the counter. If you push for them to bid and they decline, accepting that job marks you as a certain type of negotiator, which isn't helpful for you. So if you really want to take this route, be prepared for the case where you need to actually accept the counter-offer, but continue your job search anyway.

[4] Remember that in any group-work situations, your co-workers will catch nontrivial shit when you move into the negotiating/quitting stage and they have to adjust and plan around your possibly not being there next month. Which they'll be forced to do, because management will ensure they can most-effectively bargain against you.

Apply for other jobs while at your current job. When you have an offer that you would like, go to your current employer and say "I have been offered a job for X". That's all.

They'll either decide they want to keep you on at Xish or not.

Now the current employer will say sure we are happy to give a raise. You decline the good job offer. One week later your manager fires you.... That's what actually happened with one guy in my previous job. He actually came to an office party in the new company but then his previous manager asked him to come back with higher salary offer. He came back and was fired . He was very lucky that our company agreed to re-offer and accept him back

That's why you get the new job conditions in writing, i.e. a new employment contract. If your old employeer fired you, you report them to the Labour Relation Commission (or whatever body is in your juristiction (assuming you're not in the USA, who's employement law is about as good as China's democracy laws))

Visit www.paynegotiation.com (disclosure this is my friends site!)

I've learned an interesting relation regarding salaries myself. It's not about the amount that you can live with, or what you think you need but about appreciation. I was such an idiot earlier: this whole angle was anything but clear to me.

Early in my career I never asked much and I was quite happy with what I got because I didn't spend that much. All my salaries were big enough compared to the previous salary that I didn't even think much about the fairness of it all. Given also that as a programmer I was still enjoying better than the average national salary and still better than my dad.

But eventually I realized that the only tangible way a company can truly appreciate a good employee is biting the bullet and by paying him a bigger compensation.

Even if he doesn't need it.

In the previous job I stayed for five years. Year by year I started to wonder when will they give me a raise: I still liked the job and I was considered a good programmer. I was already approaching the senior status earlier, but they reworked their career plan and bumped seniority forward into the future. Of course, seniority would have meant some standard increase in the salary. It took me those five years to determine my own value and at the end of it, I left at the brink of my five-year review that turned into an exit interview in promptu.

It wasn't about me physically needing more money: it was about me deserving being paid more money for my skills and experience, about my employer actually acknowledging their appreciation towards my contributions.

These days, I enjoy about the double of the average salary in my country. Quite a considerable increase! I still don't need all that money which has allowed me both to voluntarily work part-time and to also invest part of my earnings monthly. But now I feel like finally receiving each month the appreciation I never got in the previous job. Given my skills and experience, I'm being paid much closer to my market value now and that is what matters, eventhough I still live a small life and could easily live on my old salary.

Job markets are like any other markets: the correct price is not the cost of production plus some profit (or employee's cost of living + some more) but an arbitrary agreement between the smallest amount an employee will accept and the highest amount the employer will pay, an agreement that makes both equally happy.

The next time I'll negotiate a salary, I will have a request ready for an amount that is high enough that I won't be in a hurry to get a raise, but which is hopefully within reasonable limits depending on the job. In the case it's too high for the company, I'm willing to scale back the salary along with my monthly hours, linearly.

But my value per hour remains the same. I know my worth now.

the only tangible way a company can truly appreciate a good employee is biting the bullet and by paying him a bigger compensation

Exactly! A lot of people say what they really want at work is to be appreciated by their boss. Well he will appreciate you a hell of a lot if the money that should be in YOUR salary is in his instead!

Here's a trick I once heard to share salary with your coworkers without the uncomfortableness of finding out you are over or under-paid.

Over beers with several of your coworkers, each write down your salary on a piece of paper and then mix them up. Randomly draw them out of a hat and then read them to each other.

If you're all roughly peers, then you get all the benefit of knowing the salary range of the group, with none of the downside of feeling embarrassed about making much more or less than your peers.

Another method I've heard: person 1 picks a large random number, adds their salary to it, writes down the resulting number, and passes it on to person 2. Person 2 adds their salary to the number, writes down the new sum, and passes it on to person 3. This continues until the result gets back to person 1. You end up with the large random number plus the sum of everyone's salary. Person 1 then subtracts the large random number and reports the sum of all the salaries.

This depends on people being able to do arithmetic after a few beers, though.

That reminds me of a technique for randomly selecting someone in a small group. Suppose that there are 6 people. On the count of 3 everyone has to hold out 0-5 fingers. Add the numbers mod 6, and that selects the person.

The funny thing about it is that as long as anyone picks randomly, the answer is perfectly random. But everyone can feel some sense of control.

Well, everyone can feel some sense of chaos, since anyone can randomize the result but no one can force the result.

This is better because it determines the average but not distribution. Imagine what would happen if there were five $70k salaries and one $165k salary for six people doing the same work. People would suddenly get very uncomfortable.

One technical gripe: you forgot that the arithmetic needs to be modular to guarantee anonymity. Let's just say the large random number is chosen between 0 and 9,999,999. (You need a range because there's no such thing as a "random uniform" integer.) Now let's say that Person 1's salary is 100,000 and that large random number is 9,999,935. Now Person 2 gets handed 10,099,935 and knows that Person 1 makes at least $99,936, because the "large random number" couldn't have been any higher than 9,999,999. If modular arithmetic is used, with the modulus being the upper bound on the "large random number", then nothing like this is ever given away. Person 2 gets handed 99,935... which could be 9,999,935 + 100,000, or 4,935 + 95,000, or 9,099,935 + 1,000,000, or 99,934 + 1. (Of course, the modulus needs to be big enough that there's no doubt that it's going to be larger than the sum of the salaries.)

>Imagine what would happen if there were five $70k salaries and one $165k salary for six people doing the same work. People would suddenly get very uncomfortable.

Isn't that the entire point of the first exercise however? If the 165k salary isn't completely obvious, then it should make people feel uncomfortable - they are being shafted.

If you're getting the $165k, you're not going to be very enthusiastic about this exercise.

The modular-arithmetic alternative is better, at least in terms of political stability: they figure out that there's an average of $86k. Then the people making $70k all negotiate up to $90k and, even if getting shafted, people are happier.

> If you're getting the $165k, you're not going to be very enthusiastic about this exercise.

Why not? I'd be completely fine being the odd one out, especially if it helped to encourage my lower-paid co-workers to renegotiate their salaries.

The whole point of this exercise, IMO, is to determine if there's inequity, and how much. I'd want to know the full salary range, not just the average. Companies rely on you knowing very little about your peers' salaries; more information can only help you, even if it might make you feel a little bad.

More money going to raises for your comrades generally means less available for you

Nah, it means less money available to the tier above you and/or the shareholders and/or the non-LOB parts of the company, e.g. HR.

Why would you, as an employee, care about "political stability"?

Because you have to actually work with those other people?

Of course other employees should aim angst about unfairness at management. But they won't. Not entirely. And that overflow can be enough to nudge relationships from friendly to strained/tense-professional, or not-particularly-friendly-but-professional relationships straight into unproductive-leaning-towards-toxic territory.

I was in a group of developers who had the hat method essentially performed for them [1]. Relationships changed [2]. Even after the discrepancies were largely corrected, the relationships remained strained.

[1] The short version goes: the comptroller's office was compiling stats on salary ranges for comparison to regional averages (back during the bubble, when management was paranoid about being behind the curve on pay and losing talent). Someone either needed help with a formula from, or just directly leaked the data to, a developer friend. That developer, upon seeing the wide variance, shared with the group.

And let's just say it was surprisingly trivial to map the outlying data points to names.

[2] Which is why I'd recommend the calculated average method over the hat method. It's better to see your position relative to the group, than to see the raw data that can impact interpersonal relationships.

You could get the same effect just by not defining an upper bound for the number, or if he really wants it to be secret, the first person could just not choose a number that close to the upper bound. It's not like this is something so out of the participants' control that we need to overcomplicate the math.

Umm...what? The first person just picks a number, there's no RNG involved, no need to tell anyone a range. I know we're taught to plan for edge cases, but I find this pretty silly.

edit: Nevermind the second point, I basically echoed what run4yourlives said - I think the averaging somewhat defeats the purpose. "Political stability" is the whole reason they ask not to disclose salaries in the first place.

I'd be more comfortable with a real random (at least pseudorandom) number. Humans are terrible at generating random numbers and information could be given away on account of this. For example, people tend to favor 5s and 6s when generating "random" large numbers.

Ok, I picked a fake random number with my terrible human random number generator. I added my salary and got 65419563.

It's easier to guess someones salary than it is to guess the random number they generated (in order to figure out their salary).

I didn't worry about the technical details because I just figured that people would write down random strings of digits. But this is all true.

Very nice idea, but wouldn't the handwriting give away who owns what? Maybe everyone should print their salary in Arial 12 Bold on a 1" by 2" piece of paper, so that there will be no clues to who made what note. OTOH, this might be a bit complicated in a pub setting ('over beers').

Time to knock up salaryshare.com?

(oh look, it's already registered)

I just registered salaryshare.me. Let me see if I can get something going tonight.

Done and done! http://salaryshare.me

I also submitted it to HN: http://news.ycombinator.com/item?id=2441888

Whoah, that's quick! The result looks nice. Is the code open source? I'm curious how you did it.

We did this amongst ten of us, but as the beers flowed everybody kept asking about the numbers (one person was significantly higher than the others) and by the end everyone knew what each other was getting.

The bottom two people had left within a year... go figure!!

If the bottom two people were people that the company didn't want to lose, sounds like management wasn't doing their job.

If they were people you wanted to lose, good job!

Good idea! Although for the most part if you don't work with people you consider friends this subject would never come up.

Consider a hypothetical scenario for the person on the other side of the table:

You are hiring up an engineering team and hope to hire up a team of 10 engineers paying 100k/yr each. So far you've hired 9 people at 100k and are working on filling that last slot. You find someone perfect but he has a competing job offer and is asking for 110k/yr instead of just 100. He's no better than the other 9 people you have already hired.

In a situation with relatively secret salaries it might make sense to go ahead and pay the 110k. It's only a 1% increase in your yearly budget which probably isn't a deal breaker.

But in a situation with relatively public salaries you're in a bad spot. You can either not hire him thus prolonging your search, or you can hire him and face potential moral/teamwork problems. Maybe you can hire him and bump everyone else's salaries up to 110k but a 10% budget increase might not be feasible. So the company is a bit screwed in this situation. And to the extent that the companies success is also the success of individual employees the individual employees might be a little screwed too.

I've made this scenario simpler than what reality would generally look like but the same principal holds.

In nearly every situation in which I've had insight into engineer's compensation I know for a fact that fairness has always been a top priority. But it's worthwhile to see that it sometimes can't be the only priority and to understand how the salary taboo fits into this.

Here's what I though you were going to say:

You're hiring up an engineering team. You have five slots. Four are filled at market salaries. The four people range in productivity from marginal to good-at-stuff-no-one-else-likes, but none of them are that great. You almost have to keep the four folks, because they're entrenched in deliverables and plus, they've shown their dedication to the company.

In walks a candidate who's got the skills to single handedly deliver a major component of a product you have committed to make. You don't have but 50-60K left in the salary budget and the hires you've made so far don't exactly make you look like a genius.

The kid has no idea what he's worth, which is north of $130K, and asks for $55K. What do you do?

Ask the board for more money to give him what he's worth?

Fire someone else to give him what he's worth?

Or, hire him for $55K?

The first step should be giving some disclosure to the candidate. Say, "55k? You're so silly. We'd hire you for much more than that, we only pay fair salaries here. Let me talk to my people and see what we can make available."

If the other people aren't providing a value commensurate with their compensation, you should fire them whether you have an expensive replacement on tap or not. If they are providing such a value, it's probably better to keep them in place. Too often people overestimate new hires and underestimate the value of institutional knowledge. But if you have people that need to be fired anyway, that'd be a good opportunity to do it.

If your bosses think you're an idiot, you should leave. If you ask the board for more money and they have more money to give, they'll probably give it, unless they think you're an idiot, and then you should quit.

If there's no way you can get the additional allocation, just tell the candidate that you'll hire him at 55k for now if he's still interested and give him a bump when the money for a raise materializes.

If you're upfront with people, life is much easier, and you'll find yourself looking over your shoulder much less. :)

I think the "surplus effect" here would also be nice. If he was willing to accept $55k and you say, "tell you what, let's make that $75k because we really like you," you're going to get a very happy employee, because he perceives that you just gave him $20k he wasn't expecting. Whereas if he just threw out $75k and you said "fine," it doesn't feel like a gift.

You could get a similar, cheaper surplus effect with all your employees by throwing in perks. "Now that we've agreed on salary, we also want to give you an extra personal day each month," or a laptop, or a trip to a conference, or a weekly lunch, or something else that's nice but not incredibly expensive.

Couldn't agree more!

Hiring him for $55k is, in all likelihood, going to result in him quitting when he realizes that he's been unfairly exploited. It's just a matter of time until he discovers his true worth.

Why are you even interviewing if you can't afford to hire someone who asks for a reasonable salary comparable to your existing developers?

Keep the offer at 100K. If he's no better than the others, you can find another one. If you keep missing out on hiring because other companies pay more, then you need to raise your standard salary, because all your other engineers will jump ship within a year or two.

But what if it had already cost $10k in resources to recruit him and get him this far? What if it costs $10k to find the next person who will accept $100k? Then it's a wash, and all you've done is lost time.

It's only a wash if your only gauge is money. If you hire him, you've potentially sacrificed moral. Sure, it isn't immediately meassurable in dollars, but it is still an important price to pay.

Well these engineers weren't savvy enough to figure out that they could make 110K right now. Who's to say they will in two years? Or maybe you just give them a raise to 110K in two years and they'll be happy with that and never figure out they're worth 125K now.

The parent said "if you're having problems filling the position". If you're having problems filling the position because other companies are paying more that's going to come out sooner or later.

I just want to say that I think that most of the replies to this question are silly. Just hire the guy, small variances in salary shouldn't be a problem and you don't want to have people who are so petty about compensation. You don't have to "ask the team"; just don't hire people whose feelings get hurt over 10k.

The point of transparent salary is to provide a general gauge of salary fairness, not to allow people to obsess about equality, money, and why someone does or doesn't deserve a little bit more than someone (or everyone) else.

Personally, I don't think a "posted salary" policy is a great idea; it would just cause a feeling of pettiness and entitlement and divert the employees' focus. I think you should just hire people at fair rates, and then it's no skin off your back if the numbers get out. If the person undervalues himself, you should offer a rate commensurate with the value and income he'll generate on behalf of the company instead of doing the immoral thing and leveraging his ignorance for financial or political benefit.

He's no better than the other 9 people you have already hired.

Except, for the purpose of salary, he is better than the other 9 people you have already hired, in that he has a competing offer and the others didn't. Unfortunately, it's not just about programming skill, it's about marketability.

At that point, you ask the team. Tell them, you've found someone perfect, but they're asking for 110, and you can't afford it for everyone. They should have been on the interviews, so they'll know if it's worth it.

>You find someone perfect but he has a competing job offer and is asking for 110k/yr instead of just 100. He's no better than the other 9 people you have already hired.

If he's not better than any of the other people working for you, these people can also presumably get a $110k job. Otherwise, if they can't, he is better; the market deems it so, and the solution is to publicly give the guy $110k. Is it fair? Well, it's not biased -- it certainly isn't egalitarian, but were I an employee making $100k in this situation I'd much prefer transparency to shadiness!

> So the company is a bit screwed in this situation.

Yes, and the problem is the company is passing on (externalizing) that screwedness onto their employees.

Several strategies exist:

1. Bump everyone to $105k and ask if he's willing to take that number. If he's going to turn the job down over $5,000, do you really want him?

2. Offer him a $10,000 signing bonus and the same salary as everyone else.

3. Hire him at $110k but give him more responsibility-- including tasks that the other developers don't want to do, such as responsibility for 3:00 am phone calls when the database dies. How many people are going to complain about someone else making 10% more than they are when that "someone else" is taking on the worst projects with a smile and giving them more time to work on the good projects?

4. Discuss it with the team. Are they willing to hire this person at a higher salary than they are themselves going to get? Maybe they think he's quite good and want to work with him. Maybe they think he's not worth it. There's a lot of valuable information that can come out of this discussion.

Re: "If he's going to turn the job down over $5,000, do you really want him?"

Couldn't the same be said from the applicant's perspective? If a prospective employer is going to nickel and dime you over 5k, do you really want to work for them?

A good work place environment is easily worth $10k in salary. If a manager were up front with me - "Hey we pay everyone the same rate, and everyone else makes this much. Still interested?" - I would consider that to be a good sign.

I am not sure I agree with this idea. Does that mean we all stay the same forever? What if I work extra hard and others are slacking? Are they all really the same skill level to begin with?

Sounds great that we all make the same until someone is working harder or less hard than someone else, then it will be a sore spot.

There is no way I would ever take a job at such a joint, even if the original offer was fantastic.

If I create a lot of value, I want to be able to capture a portion of it in my salary. I don't want to capture some average wage determined by a manager who doesn't have the guts to admit, even privately, that some people create more value than others.

I wouldn't simply because I wouldn't trust the boss not to cheat me.

With this article and the one yesterday I am going to assume that in any salary negotiation the other guy is trying to cheat me, so I would just ignore that.

As a developer who, admittedly, has never had trouble finding a salary I'm satisfied with, and who is comfortable negotiating, I'm not a fan of transparency. It seems like it would cause more problems than it solves.

If salaries are private, then salary is purely a function of negotiation between employer and employee. Presumably both are happy, or at least happy enough not to terminate the relationship.

If salaries are public, however, then a ton of other variables get thrown into the mix. For example, it's possible to end up in a situation where I'd be happy to stay for a certain salary, and my employer would be happy to give me that salary to keep me, but because they can't offer all my peers the same salary, it doesn't work out, and nobody is happy.

And that doesn't even take into account all the extra interpersonal conflict and rivalry that transparent salaries could cause.

The mitigation for both of these issues is, of course, is to base compensation on objective performance rankings. But that's a nontrivial problem. How do you compare a sales guy to a developer to a DBA? Even if you did come up with a mostly fair solution, it would still invite endless discussion and dissatisfaction from people who feel the system wasn't evaluating them properly.

The problem is that when you're hiding salaries you can't really evaluate the market. Really by hiding that information you're giving the salary giver most of the power and those shopping around for a higher salary need to do a lot more work to evaluate how much they're worth on the market.

I mean if Joe is doing half the work I'm doing, shouldn't he get paid significantly less? You're kind of attacking this from an "ignorance is bliss" standpoint, but that seems to support the market acting kind of erratically.

Does the market really matter if I'm happy with what I'm being paid?

That's ultimately the motivation for my argument - in which system are the greatest number of actors likely to be content?

Does the market really matter if I'm happy with what I'm being paid?

Sure it does. A portion of your happiness at work is down to the quality of people you work with, no? If your company routinely lowballs, then when the dust settles you are going to find yourself surrounded by people who had no choice but to accept that rate. The market therefore affects you whether you care about it or not.

Also, things change. Plenty of money to live on as a bachelor might leave you a bit short if you want to start a family. If you don't "need" the money right now, stick it in a savings account. Because remember this: someone is getting the value you create. Why shouldn't it be you?

I guess this is just a "to each his own" sort of thing. Personally I'm only truly happy when I have all the information (or as much as I can get in practical terms, anyway) and I'm still satisfied with the situation. I suppose others are fine without.

Note that this isn't a competition thing. I wouldn't necessarily be dissatisfied just by the concept of an equal peer making more than me; I'd be disappointed that I could be making more but I'm not.

I'm personally happy if I don't feel like I'm getting screwed for my time/output. I can't really judge that very well other than gut feeling if I don't know how much other individuals around me are making.

In order to find out if I'm getting boned I've had to go out and interview with other companies to pull offers to gauge the market, this is probably a net negative for all sides.

To me, this raises the question, "How do I determine whether to be happy with what I'm getting paid?" This is where having open salaries would be beneficial - I could compare my salaries against others with the same skills and experience and determine whether I was being treated fairly or not.

This is my thoughts exactly. I'm happy with my salary because it enables me to live comfortably and purchase the things that I want. What other people make doesn't directly factor into it at all (not withstanding the fact that prices usually follow the average income, which affects my purchasing power).

Comparing incomes and constantly thinking about what you _could_ be making just leads up to never being satisfied with any kind of salary in the long run.

>Comparing incomes and constantly thinking about what you _could_ be making just leads up to never being satisfied with any kind of salary in the long run.

I couldn't disagree more. The first career company I worked for, I got transfered up from a less-than-level-one position into a high end dev position through my own sweat [1]. Due to company policies about how much a maximum raise could be I found myself making less than 1/5th of what that position would normally get. For the first year or two I wasn't bothered because I didn't have too much experience. 5 years later when every piece of software we had deployed was my architecture, using my libraries, etc., etc. I started to be bothered seeing other people have all these possessions while being so frugal and getting no where. Even though I had no idea what other people were making, it was totally obvious I was getting screwed but I didn't know how badly. I didn't know what my market rate was.

Now as a contractor I know very closely what my market rate is because I get to test it at least twice a year (as opposed to once every 2-5 years before). I know what other contractors are making, I'm the lowest of my circle of friends or close to it. That doesn't bother me because we all do different things and they've all been contracting longer.

I know exactly where I stand and I see an obvious growth path and target. I have real (or at least the chance of it) feedback into where I stand instead of made up nonsense in some yearly meeting where your raise was set by someone you don't even know weeks ago and the things you have to "improve" on your yearly review are structured to justify it. Did my new contract rate go up, down or stay the same? Based on contacts and job ads, did I follow the market or diverge? If market rates went up and my rate didn't that's a real call to action. "Demonstrates acceptance of company vision - needs work" is not.

[1] Not trying to toot my own horn, others did as well. It was probably an artifact of how awful it was where we were.

I can't upvote this enough.

Most people can (and shoul) say NO to salary history questions, and only provide salary requirements. I just finished working on a group to hire someone for a state job. One candidate came from another state job and so his salary history was visible. It immediately put him at a disadvantage.

If I was to move to the private sector, I'd be at a disadvantage too - my salary history and benefits package is public info too.

When someone else besides you and your current employer knows your salary information, you lose.

I disagree. First of all, workplace social conflicts develop very fast and are often irrational in nature. If salaries are public knowledge, then people have time to accept that there's just that one incompetent guy making 20% more than he should and within a few hours they forget about it. It's mildly annoying, but as long as people are happy with what they're making and with their own job security, they aren't going to risk their jobs or reputations over it. It's when secrets are discovered that people become irrational, angry, and vindictive. Othello teaches this lesson. Dude discovers a scarf in the wrong place and loses all sense of reason, and kills his innocent wife in the process.

People would get angry and leave in a public-salary system. My contention is that people discover a lot of this information anyway and get more angry in a private-salary system.

Annual performance bonuses should probably be secret. The ranges or "buckets" for each year/class/job description should be public; who fell into what bucket should be private.

>people have time to accept that there's just that one incompetent guy making 20% more than he should and within a few hours they forget about it.

Really? I'm not sure about that.

>My contention is that people discover a lot of this information anyway and get more angry in a private-salary system.

I've never personally heard of a person getting upset upon discovering someone else's private salary.

I know lots of people who are dissatisfied because they're obviously far more valuable than a peer at the same level, and lots of people who are resented because of their parasitism at a higher-level job. (This is in the government system, where salaries are pretty transparent.)

All in all, transparent salaries don't really work that well for the government. What makes you think the corporate sector could do better?

I've never personally heard of a person getting upset upon discovering someone else's private salary.

I have, on several occasions. I've been that upset person once, even.

I know lots of people who are dissatisfied because they're obviously far more valuable than a peer at the same level, and lots of people who are resented because of their parasitism at a higher-level job. (This is in the government system, where salaries are pretty transparent.)

And that's exactly how it should be. If you're far more valuable than a peer but are being paid the same or less, you should be dissatisfied. Ignorance may be bliss, but I'd rather know I'm getting shafted so I can either renegotiate or look for a better opportunity.

If you're far more valuable than a peer but are being paid the same or less, you should be dissatisfied.

Value is not only completely subjective, but almost always biased. Most people think they are more valuable than their peers, and most are wrong.

I didn't say "peers" (plural). I said "peer." It's one thing to take your peers as a whole and say you're better than them (and I'd agree that, by definition, if most people make that determination, they're wrong), but a very different thing to take a single peer and believe that you're better. You may still be wrong, but it's easier to semi-objectively evaluate differences between your skills and a single other person's.

Of course everyone is biased to some extent, but the bottom line is that some people will correctly assess as skills difference. If you have 10 people of varying ability (even only slightly varying), all making the same amount, 5 of them will be equal or better than the average of all of them.

Then they should get unhappy, they should test the market and they should find out that they're wrong. Who knows, maybe they'll realize they need to step up their game.

I really hate this "just keep 'em dumb and happy" nonsense. We're not children (and you shouldn't treat children like that either).

I'm a state employee and my salary is public so take my experiences for a grain of salt if you work in the private sector.

We do get pissed about people making more money for less work, but we get over it. The people in it until retirement (and their 80% pension) know they're sitting on too sweet a deal to care. Those that know they're temporary either acknowledge it's temporary (e.g. I'm leaving soon after I get my diploma) or couldn't get much of a better deal anyway. In other words, our complaint is less about our situation (cuz if we wanted different, we'd have gone off and gotten it) and more a critique on HR's assessment of value, like armchair quarterbacking for HR or something like that...

For me, what I can't stand is when an incompetent has more power and influence than I do. That will have be quitting on the spot. If he's making slightly more money than I am, but no one takes him seriously and his shitty ideas aren't being imposed on me or the rest of the team, then why do I care? He's not in an enviable position. As a highly-paid incompetent, he'll be the first one let go when there's a need to lay people off.

My corporate-environment programming experience taught me that competence has no weight. Everybody just wants to get along and be friends. People who are buddies with the manager get more pay and advancement than others even if they are far less competent. They also tend to survive layoffs.

I've always wanted to write exactly this blog post. Keeping your salary confidential is great for big companies, but it benefits you in no way. You should be making what your coworkers make. If you make less, you're being fucked, plain and simple. The sooner you realize that, the sooner you can remedy the situation. Sadly, some people go their whole careers without doing so.

FWIW, my first programming job only paid $45,000 a year. What a ripoff.

But it does benefit you, personally: by not having your information out there in public, you can claim whatever you want when you go into salary negotiations, and the hiring company has no way of knowing that you'd be perfectly happy with a significantly lower salary. Generally, whichever side has less information public about them is at an advantage in negotiations.

Unfortunately, this leads to a prisoner's dilemma situation where each individual worker would be better off if everyone shared their salaries, but each individual worker is slightly better off if they don't share their salaries.

FWIW, my first programming job only paid me $32k a year. But I was straight out of high school (no college), and I thought it was a princely sum because I was getting paid more than my Ivy-League grad high school teachers were getting.

When salary information is private, the employee has advantage while negotiating a new job, whereas, if the salary information is public, he has advantage while he is within the company.

This argument is circular: "Keeping your salary private benefits you when negotiating a new salary"... which is difficult mainly because everyone's salary is private.

...which is the case with most game theoretical situations.

You don't get to choose the world you live in, you only get to choose the choices you make. If you want to move from one world to another, you have to figure out how to get the rest of the world to make those choices.

Start your own company, and use a radically open compensation system, perhaps?

That's my plan, at least.

> only paid $45,000 a year

Reading this kind of thing on HN makes me feel ill; my W-2 says $47k. Maybe I need to make some changes.

Really depends on where you work. There are some managers that make $47k in some parts of the US and live very comfortably.

Aside from that, contracting can help get bump your salary up. Fresh out of college I was making less than $47k and then easily tripled my salary within a year of contracting (although I was working insane hours and basically used all of my allotted overtime hours). It isn't always great for mental health or work/life balance, but it can be a great shot in the arm in terms of providing needed work experience and money.

Thanks -- I've toyed with the idea in the past, and I think it might be time to just dive in.

So if anyone has resources for a web developer in Portland looking to break into contracting, I'd love to hear from you.

Do keep in mind that "most" programming jobs are in areas with high costs of living: San Francisco, San Jose, and New York.

That said, take a look at this: http://www.payscale.com/research/US/Location=Portland-OR/Sal... The median salary for an SE in Portland is $67k.

So, yeah, it's negotiating time.

Try contracting. Seriously. Go to a local user group and talk with people who contract and see what the going rate is in your area. Its probably 2x to 2.5x of what you're getting now.

Though you have to pay your own taxes -- probably 30%, in the end -- and your own medical.

You pay your own taxes now.

In the US, there's a Social Security payroll tax (previously 12.4%, now 10.4%) that's split between employer and employee. Self-employed people pay it themselves; their clients don't.

I think what he meant was that you have to consider a hefty tax burden come April 15 because, as a contractor, you don't get taxes taken out of your paycheck. This is where having a good accountant and knowing what expenses you can deduct comes in (to reduce your taxable income).

If for nothing else, you should have a business just so you can claim more expenses and reduce the amount you have to pay Uncle Sam (from my understanding, all you need to have is a profit motive -- not necessarily profits).

My tax guy always tells me: the US hates employees. There are more loopholes if you contract or (even better) have your own business (which could be a contracting business).

Plus you don't get taxed at source so you can take that extra 30%+ you get each paycheck to pay a tax person to figure this all out for you in time to save up for the tax hit at the end of the year.

renegotiate/find a new job? With 1.5 years of 'starving freelance' experience I got my first programming job at 55k and was able to negotiate to 70k within 6 months.

They offered me more ($55k) on my internship. I really think you should earn more.

For my first programming job I asked for $50k and got $40,000. I always resented that, as I thought I was giving them a break in the first place, but I had just moved to the area (DC) and didn't have time to look very hard.

So 6 months later I got them to raise it to 50, and a few months later they they fired the other programmer (my boss, who was making $85k) and expected me to do the work of both he and I, which I was capable of doing. They told me they just gave me a raise so I shouldn't be greedy.

I left of course. They hired my replacement at $90k after having a consultant do the job for three months at typically high rates. I would have accepted $60k! I just didn't want complete disrespect.

A year or so later I was making $80k and found out another guy at this company was making $40k. What the hell? I don't thing anyone should be so royally fucked.

Companies that do this deserve no loyalty. Salary information should be public as long as they persist in such behaviors.

>Companies that do this deserve no loyalty.

No company deserves "loyalty". You need to get that dinosaur of a concept out of your thought process. We're free market entities now. We act completely within our own interest and the "invisible hand" makes sure everything turns out alright in the end. [1] Loyalty is for family and friends.

[1] Of course your own interest isn't a simple amount question. If another company offers me 5k/yr more I wouldn't drop what I'm doing at the current company and move for that. My reputation is part of my market value so I have to avoid angering my "customers" as much as possible (within reason, but the best choice is to just not take customers that will likely end up hating you later). Ideally, when I leave they'll all hope I come back some day.

So did mine, but that was 1994 so it didn't seem so bad :) (which is another way of saying that context is _very_ important, like year, what part of the country, web programming vs kernel drivers, DBA, etc)

Hmmm... when I graduate I'd definitely take a £18000 p/a job. I mean it seems at this age getting your foot in the door, getting started and putting some 'commercial experience' on your CV is far more important than the actual salary.

On the other hand, if I could make a living doing freelance web development, then I could build that up until I have an income that employers would need to match (rather than just throwing me the low end of the offered salary-range).

As of 2011-04-13, 18000 pounds sterling is 29421 US dollars. Despite what you say about "getting your foot in the door", I would hesitate before taking a job that paid so poorly. For the record, my internship paid $25 per hour. That translates to $42000 per year [1]. I'm not an exceptional programmer, and my grades in school weren't that stellar either. I would strongly encourage you to negotiate before selling your services for so low a price.

1. http://www.wolframalpha.com/input/?i=%2425+per+hour+

I see ads for 'Senior developers' that want to pay £25-33k. Granted there also ones paying better but the highest advertised I've seen is £40-45k p/a. Obviously it will be higher in London though, and there are lots of ads for contractors at £300 per day.

Meanwhile I know people who finished their CS degree and never got a programming job. I know one guy who's a decent programmer, only got a couple of interviews, one only because he offered to work for 14k, but ended up working in a bank admin job for 13k for years before finally getting a secondment to an SQL/Excel position at 18k or so.

I don't know, man. Just seems there's a disconnection between the salaries you guys talk about on HN and the salaries that are realistic for me. Bearing in mind if it's a graduate job then there's going to be many gaps in your knowledge (unless you're exceptional), so it seems you should bite the hand off the first place that offers you a job and the chance to become a more complete developer (after which you'll have a much stronger negotiating position, but until then, as an unproven dev companies can justifiably look at you as a liability).

You need to find positions where they don't look at you as cost-center, and instead as someone providing value to the bottom line. 300 pounds a day is ridiculous. Most contractors make double that in day.

1. Move

2. Go contracting

If no one would put up with these low wages they would be forced upward.

But what if I don't want to move, or don't want to spend anytime in unemployment? £1500 per month is pretty appealing when you have rent to pay. Also, while £18000 might be a joke in the respect that you're only slightly better off than the average admin job, despite the vastly different knowledge and problem solving requirements, what about the whole 'majority of developer applicants can't solve FizzBuzz in ten minutes' thing? Or the belief that programming ability is like compound interest - the more you learn, the faster you get better? Or the outsourcing to India (where I bet they get a whole lot less than 18k per head)? Those things would seem to make low starting salaries natural.

But I do like the idea of selling your skills on a freelance/contracting basis, and foregoing all the noise of the industry hiring practices. I'd definitely give that a shot before taking a 18k-24k job. Seriously doubt £25+k for a first, junior dev role is on the cards though.

Tip: When asked about my salary expectations for my first job, I said "£20-24k". I got £22k. Many of the other people who started alongside said lower figures - and that's what they got.

Don't quote something way out of the range of the company you want to work for, but don't undersell yourself either. You'll probably get what you asked for... £15-25k is dirt cheap anyway, for any large corporation, but that £10k makes a whole lot of difference to your life.

I think freelancing is a quicker way to get established and reach a high value if you can swing the social and project management aspects. Especially early on, your value increases enormously with each deliverable product you produce. Freelancing allows you to build a portfolio quickly, and you'll be able to point others to jobs you've completed. Successful jobs also inevitably lead to referrals and you can raise your rate on every new contract as your portfolio improves and you become more valuable.

Working for a salary, you can easily get stuck on projects that aren't portfolio-worthy, don't teach you anything that useful, and which you only have a small hand in anyway. And naturally it's comparatively much harder to get pay increases. One solid project that impresses people can take you from charging $50 to $100 an hour as a freelancer overnight. Try convincing your boss to double your salary after 3 months just because you've been shipping good code.

As for breaking in, talk to as many people as you can. Go to meetups, talks, events, whatever is happening, in both the programming AND (very importantly) business/entrepreneurship categories. Just chat and share ideas. If you're confident and you've got brains, people will recognize it, and you'll soon need to beat offers away with a stick. The first gig is the hardest to get because you have nothing to point to in your portfolio. Do this one for free if you have to, or build things on your own. Whatever it takes to get something finished that you can use to prove your competence.


£18,000 is what I got at my first job over 15 years ago. I know things are tough in the UK for you young 'uns now though.

Commercial experience isn't as good as having some nice websites in your portfolio IMHO.

If you're making less, you're possibly being fucked. You're possibly avoiding a layoff.

If you're making more, I'm not sure how showing your salary data can help you personally.

If you're making more, I'm not sure how showing your salary data can help you personally.

Status, at least when you transition.

In investment banking, people would quickly discover what the top bonus was for their year and report it when they moved on to jobs in, for example, private equity. The banks saw it as symbiotic and would confirm inflated compensation. It made the ex-analysts get better jobs but it also made the firms look more generous, so it was seen as win-win.

It becomes an issue when next year's class expects the middle bonus to be last year's top bonus.

Depends on your situation. I got my first job at a mid-late stage startup in DC when I was 18 and that was about $35k as a strictly-frontend developer, which was definitely good enough for me.

My first was, in 2007, $46k. I'm still at the same company, now making $70k nearly four years later. (I'm 25, doing web programming, in Sweden)

My first year programming job I made ~50k though I was a contractor, and did a bunch of overtime so it was likely quite a bit more.

I think it was pretty good considering I had not graduated college... so I was getting paid to learn.

I started at $25 an hour. I quickly learned the business, and realized I could make it better. So i spent my nights building an app to do it better. They loved it, became the new thing we used. 6 months later my contract ended. I asked for more... and oh yeah did I mention I was a junior programmer (the code was exactly what you would expect, so I had some good leverage) to me $27 an hour was pretty good. I was 19, and making more than my Dad (he always said this is the benchmark I'm supposed to pass).

about 4 years later I'm now making $77k with about 5k or 6k bonus. I moved to Boston, so I think without a degree, its reasonable but I would definitely be making quite a bit more had I finished college.

I'm Hoping to quit my job soon, and start off on my own. The project I did for a $2/hr raise after 6 months could've been worth millions... and I'm sure I could do it again, seeing better ways to do things is kind of my thing.

>FWIW, my first programming job only paid $45,000 a year. What a ripoff.

How is that a ripoff? That seems right at about average for starting salary programming.

My first programming job paid $75k in 2007. It was not at some big name firm but a run-of-the-mill ad agency and I was doing PHP web dev. It was in SF and I had just graduated from UC Berkeley about six months prior to hire.

Unless he (or she) is working as a game dev, he is grossly underpaid. (Even if he is doing game dev he'd be underpaid, just the standard for pay would be much lower for his industry.)

To be absolutely fair, SF/NY have much higher starting rates than other places.

If people are getting $100,000 right out of college, then $45,000 is not very good.

Well, we'd need to know when that was. $45k in 1980 would be pretty awesome.

I'm 25, so this was probably 4 years ago at the most.

(Fun fact: jrockway was once a PHP programmer. And, we did not use source control there. And a web developer did a "push" and overwrote my weeks worth of programming. Then I knew it was time to find a new job :)

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