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 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.
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 . 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.
 For some reason we all look the other way when it comes to immigrant au-pairs. And that's horrible.
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.
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).
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.
It is a myth that America is a low tax nation.
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.
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.
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.
The general rule is always "times 2, add 3 zeros" to do it in your head.
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.
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?
But hey, at 75% efficiency at a half year's work at that rate I could probably afford it...
$40/hr => 80k/y
$120/hr => 240k/y
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.
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.
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.
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.
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.
What's the best way to save yourself once you've realized you're worth nearly double, triple, or quad your current comp pkg?
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.
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.
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.
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.
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.
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 .
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 . 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 . 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 .
 "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.
 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.
 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.
 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.
They'll either decide they want to keep you on at Xish or not.
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.
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!
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.
This depends on people being able to do arithmetic after a few beers, though.
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.
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.)
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.
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.
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.
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 . Relationships changed . Even after the discrepancies were largely corrected, the relationships remained strained.
 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.
 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.
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.
It's easier to guess someones salary than it is to guess the random number they generated (in order to figure out their salary).
(oh look, it's already registered)
I also submitted it to HN: http://news.ycombinator.com/item?id=2441888
The bottom two people had left within a year... go figure!!
If they were people you wanted to lose, good job!
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.
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?
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. :)
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.
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.
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.
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!
Yes, and the problem is the company is passing on (externalizing) that screwedness onto their employees.
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.
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?
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.
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.
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.
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.
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.
That's ultimately the motivation for my argument - in which system are the greatest number of actors likely to be content?
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?
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.
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.
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 . 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.
 Not trying to toot my own horn, others did as well. It was probably an artifact of how awful it was where we were.
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.
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.
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 have, on several occasions. I've been that upset person once, even.
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.
Value is not only completely subjective, but almost always biased. Most people think they are more valuable than their peers, and most are wrong.
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.
I really hate this "just keep 'em dumb and happy" nonsense. We're not children (and you shouldn't treat children like that either).
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...
FWIW, my first programming job only paid $45,000 a year. What a ripoff.
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.
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.
That's my plan, at least.
Reading this kind of thing on HN makes me feel ill; my W-2 says $47k. Maybe I need to make some changes.
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.
So if anyone has resources for a web developer in Portland looking to break into contracting, I'd love to hear from you.
That said, take a look at this:
The median salary for an SE in Portland is $67k.
So, yeah, it's negotiating time.
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).
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.
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.
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.  Loyalty is for family and friends.
 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.
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).
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).
2. Go contracting
If no one would put up with these low wages they would be forced upward.
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.
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.
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 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.
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.
How is that a ripoff? That seems right at about average for starting salary programming.
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.)
(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 :)