The Programmer Salary Taboo - <AUTHOR> http://www.thurn.ca/the_programmer_salary_taboo <comment><USER3> 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.

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

<comment><USER5> 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).

<comment><USER6> 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.

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

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

<comment><USER9> 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.

<comment><USER10> 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.

<comment><USER11> 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.

<comment><USER7> 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.

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER12> 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.

<comment><USER13> 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.

<comment><USER14> 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.)

<comment><USER15> >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 - <USER2> are being shafted.

<comment><USER14> 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.

<comment><USER16> > 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.

<comment><USER17> More money going to raises for your comrades generally means less available for you

<comment><USER18> 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.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER19> 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.

<comment><USER20> 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?

<comment><USER21> 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. :)

<comment><USER22> 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.

</comment></comment></comment></comment><comment><USER23> 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.

<comment><USER24> 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.

<comment><USER23> 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?

<comment><USER25> 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.

<comment><USER26> >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.

</comment></comment></comment></comment></comment><comment><USER27> 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.

<comment><USER28> > 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.

<comment><USER29> 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.

<comment><USER28> 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.

</comment></comment></comment></comment><comment><USER30> One of my earliest memories of the Salary Taboo was at the first Java One I attended as a freshly-minted Silverstream "Field Application Engineer" (must have been '99)

Four of us in equivalent positions, including one woman got together in my room and started pounding down screwdrivers. After the fourth of fifth, we started talking salaries. All of the guys were making around $120k and the girl... (wait for it...)

$80k !!! Despite having more education and arguably better qualifications.

We had a big problem on our hands. I'll never forget we were in a room near the top of the tall St. Francis hotel tower and she was angrily threatening to jump out the window.

<comment><USER31> So did she ever end up making 120k?

</comment></comment><comment><USER32> My teeth always grind when I read articles like this.

Yes, you can make $100K at Google. In _Mountain View, California._ How does that correlate to someone doing the same job in Austin, Seattle, Chicago, or Cleveland? The cost of living swings greatly when you depart the west coast.

Decent wage databases will add another variable to the position and experience axes: the geographic area where the job is offered. (Example: <http://www.erieri.com/>)

<comment><USER33> A cost of living adjustment is one of the easiest calculations to do. Is it as simple as this ([http://www.wolframalpha.com/input/?i=cost+of+living+in+mount...](http://www.wolframalpha.com/input/?i=cost+of+living+in+mountain+view,+austin,+seattle,+chicago,+and+Cleveland)), or did I misunderstand your point? It doesn't seem that complicated to take a $100k salary point and normalize for cost of living.

<comment><USER34> Seems like a good idea but I doubt the data is very accurate. I live in Montreal which is well known to be one of the cheapest places to live in North America (very cheap housing, very cheap energy, etc.) but WA puts Montreal as the most expensive? [http://www.wolframalpha.com/input/?i=cost+of+living+in+mount...](http://www.wolframalpha.com/input/?i=cost+of+living+in+mountain+view%2C+austin%2C+seattle%2C+chicago%2C+toronto+and+montreal+)

<comment><USER35> Higher Taxes. Quebec has generally higher taxes vs. the rest of canada, and places like washington have no state income tax. Also the locations it could be comparing could be downtown metro area's and their costs. 3km away from the downtown core and you get a huge drop in price.

<comment><USER36> The taxes aren't _that_ much higher. And the rent is cheaper than Toronto.

<comment><USER37> You're looking at approx 30% deducted at source for 50k in Quebec, I think. You get quite a lot for your tax dollars in Canada though.

</comment></comment></comment></comment></comment></comment><comment><USER38> <http://www.glassdoor.com> can be a helpful resource in this regard. It needs a bunch more critical mass before it's truly useful, but some information is usually better than no information.

<comment><USER39> +1

I've found glassdoor.com to have pretty accurate (though anonymous) reports of employers' salary ranges and employee satisfaction.

</comment></comment><comment><USER40> I'm at a company as a senior developer. I know the other senior developer is on more money than me but it doesn't bother me. He is more experienced than me and brings a lot to the table. I have been at the company longer and got the development team going, I even hired the guy. I will continue to be "above" him in a respect as I am part of the decision making team about which routes to go down.

I value the development work more than the decision making though so I stand by the fact that it doesn't bother me he is on more.

You wouldn't accept a job if you were not happy with the conditions, its a two way street. If they offer you a job then you decide whether you want to take it or not, they don't force your hand.

I know I could get 10k more than I am on now if I moved to another company but I'm not in my MD's office telling him I'm leaving because I know this fact. I believe in company values, I am helping a company grow. We are relatively small and I have a chance to make a big difference.

When your work is your life (If you are a dev then your work IS your life), then it's more about the experience than the cash.

But if someone came along and offered me £100k to do my job, I would take it. I'm loyal enough to stay but I'm not stupid enough not to go.

I once worked for a company where I bragged about a massive pay rise, I was young and stupid. It led to a lot of hard feelings. I had been promoted to manager and given some great responsibilities. I ended up losing a lot of friends short term (they got over it) but I learnt a valuable lesson, even if they money you were offered comes from a position above you, you are condemed for taking it.

A lot of people hate to see other people do well for themselves, all the people who say that they should openly discuss their wages are either on a decent package or they genuinely do not care what other people are on. All the people that want to keep it private understand that it only leads to upset and arguments.

If you can be close enough to a work colleague for them not to take it personally then go for it, I would not say an open forum of discussing wages is a good idea though.

</comment><comment> anon-e-moose I graduated with a CS degree and am making about $32k a year, before paying for insurance, at an IT job.

Where can I sign up for one of these horribly low paying $45-75k/year programming jobs?

<comment><USER41> You need to buy insurance for your IT job? Please describe. I've never heard of this before. Are there different standards for employee fault in different states? Are there any notable court cases?

I did once work at a place where employees were financially liable for the cost to the company of any mistakes they made, but I assumed that was legally along the same lines as the company's policy of not sending employees 1099s until we threatened to report them to the IRS. We were all hourly, scheduled "independent contractors" too.

(And I hear you on the salaries since I'm making $0 a year and looking for one of those $32k a year jobs. I can understand kick-ass coders with experience making $80k and up, but to imply that I should expect that amount with my degree but no talent or experience? I'm not seeing it in the market.)

<comment><USER42> He probably means health insurance.

<comment> anon-e-moose Correct.

<comment><USER43> You're going to have to tell us more about your situation - where are you, what sort of company is it, and what is your general experience in software?

<comment><USER44> I'm not the OP, but I have had some experience with this when looking for my last job. I made the mistake of posting my resume on a popular tech job site, and the vast majority of contacts were from shady recruiters trying to get me to work 2 hours away in a "contract to hire" position where I would have to pay my own insurance. Making less than I was currently making, still employed at the time.

Perhaps this is similar to the OP. It was a complete ripoff - I think they were trying to take advantage of the massive layoffs going on in the tech industry in my area. The arrogance of these guys was unbelievable.

</comment></comment></comment></comment></comment></comment><comment><USER45> Or you can look at actual data:

<http://www.bls.gov/oes/current/oes151031.htm>

Average salary for a software engineer is $90k, for California $103k (this excludes "programmers" who just implement fully spec'd code).

<comment><USER46> _who just implement fully spec'd code_

Fully spec'd code? I hope the PMs are getting a raise, as I've yet to see such a thing!

<comment><USER47> Ouch...

 _edit_ maybe if you implemented to spec...

</comment></comment></comment><comment><USER48> Wait...Google _starts_ at $100k/year for people fresh out of college with an undergraduate degree? So what do they go up to for people with experience?

<comment><USER44> I think the best, non-hearsay source for this is anonymous data at glassdoor.com. Google has quite a lot of data there as well (over 500 reports from San Jose/Mountain View).

[http://www.glassdoor.com/Salary/Google-Software-Engineer- San...](http://www.glassdoor.com/Salary/Google-Software-Engineer-San-Jose- Salaries-EJI_IE9079.0,6_KO7,24_IL.25,33_IM761.htm)

533 Salaries - Mean is 107,174, with a range of [70, 133]. Median is about 100K.

Bonuses are underreported in comparison. But of 24 reports, the bonus is 18K on average.

This includes experienced engineers as well. So I think the original link's claim of 100K starting salary is probably an over-estimate.

<comment><USER49> _"non-hearsay source"_?

What do they do, let you see people's W-2's?

Remember, people can lie.

And many people feel it's in their interests to lie regarding salaries. How can you even be sure the people who are reporting some salary figure on glassdoor.com even ever had the job they claimed to have had, never mind reported an accurate salary?

</comment></comment></comment><comment><USER50> When working for the federal government everyone knows everyone else's salary. So it can be done, and is generally less corrosive than hidden salaries.

<comment><USER45> Are government salaries merit based or tenure based?

<comment><USER46> Both. Often times in places like the military merit is only achievable as a function of seniority. So after x number of years after getting a grade you qualify to be promoted to the next. Whether or not the promotion happens at that point in time is a function of merit (and social skills).

</comment></comment></comment><comment><USER51> You know what would really solve the problem? If employers publicly announced the salary they are aiming for in job ads. That way, you wouldn't feel like you got ripped off because of bad negotiation skills.

</comment><comment><USER52> Not sure how much value this gives existing employees. If you go up and see that you are making less than your coworkers, then it's a moral destroyer. If you are making average but feel like you are doing more work than everyone else, again moral destroyer. If you are making bank, all the sudden you are now in everyone's cross-hairs- boom! moral destroyer (depending on the kind of person you are).

<comment><USER53> It hurts your morale in the short term, but it should give you the impetus you need to a. work harder b. negotiate harder when it comes to that yearly performance review and/or possibly c. leave if you feel you're being underpaid and the company isn't willing to pay you what you think you're worth.

I don't think full salary disclosure will ever happen, but I'm just saying, it wouldn't be bad if it did. I for one would just like to know, for example, what a iphone/ipad developer makes on average (then a high and low end) in ... say ... Austin Tx vs New York or something like that.

</comment></comment><comment><USER51> I used to be very good at salary negotiation and being confident in my skills... until I discovered HN.

</comment><comment><USER54> In academia, it is common for professors' salaries to be listed in public databases that are searchable by anyone.

I don't particularly draw any conclusion from this; indeed, there is some debate as to whether this is a good thing overall. My impression is that it doesn't make much difference one way or another. In any case, it may be interesting to HN readers to know that this is the norm in the public sector.

<comment><USER55> Incentives in academia can get pretty complex, however. In terms of bragging rights, salary tends to factor in way below publications, tenure, chaired position, etc. Plenty of academics are still lured away to other institutions with the promise of a better salary, but it's less socially acceptable to admit that that's the reason you're switching jobs (instead of, say "I would get to be head of a program/department"). Also, unlike most tech jobs, most academic jobs are not located in the most exciting places to live, which adds yet another confounding factor.

</comment></comment><comment><USER56> Interesting that all of the examples provided, google, amazon, facebook, MSFT all apparently provide units of stock with a predictable initial value; with stock options, all you can do is guess whether the company will grow and by how much, but if the company didn't grow at all they would be worthless. In fact, are we sure facebook doesn't grant options? Seems like they are still in the growth phase to the point where they could offer options instead, whereas MSFT would have a hard time keeping a straight face offering options at this point.

</comment><comment><USER57> I find that in canada (toronto, ontario) programmers are not paid near the amounts of programmers in the US.

5 years ago i started at 40K (working in Hamilton). Now living in toronto, and i find that newly graduate programmers start around 50K-60K, and senior programmers make anywhere between 80K-100K.

I feel that living toronto/ontario, programmers are utilized as tradesmen, where they service the industry (corporations, banks, publications, marketing firms etc...)

I just wish there was more of a tech/startup industry in toronto, like there is in California, Boston, New York, etc..

<comment><USER58> Absolutely correct. I ended up leaving Toronto after I realized this. I'm not sure if it was a good decision or bad. I ended up getting fantastic work experience and a higher number salary. However, my quality of life wasn't the same (because I left behind family and friends, and miss Canada in general). Also, I realized that the salary number doesn't mean much when you live in ridiculously expensive places.

</comment></comment><comment><USER59> Are there parts of the world where it's customary for salaries to be known?

<comment><USER60> In Norway all tax returns are public: <http://skattelister.no/>

In fact I just looked up an old high school classmate and was initially surprised at how much she was making - until I realized 280,000 Kronor is only about 50,000 USD.

<comment><USER61> FYI: 280.000 is a pretty poor salary in Norway. Gasoline here just topped $10/gal, if that gives you an idea of the cost-of-living-adjustment necessary. In other words, your friend is not living the life that a $50k salary in the US would buy (in terms of disposible income.) On the other hand, she gets 5 weeks of paid vacation a year, full health care, and a year's paid maternity leave with each child.

<comment><USER62> Gasoline prices aren't a good indicator of cost of living. They are a factor to be sure, but their prices are too overwhelmed by political policy (ie gasoline taxes) compared with other expenses, which introduces too much noise into the data.

<comment><USER61> It was just an example; food is equally expensive, and many consumer goods are roughly double the US equivalent price.

</comment></comment></comment></comment></comment><comment><USER63> many years ago, i was a fresh grad with an ms in comp sci working at a bay area startup. i sucked at negotiations too, and my starting salary was 75k, which actually wasn't too shabby (or so i thought). long story short: the company imploded, but i was one of the few people kept around until they turned off the lights. most of my friends had been laid off, and we had all revealed our salaries. they made closer to 95-125k, and i was the guy in the OP's story: they guy that worked tirelessly, did the work of 2.5 of my co- workers, was well liked, and had a grad degree. i was pretty annoyed, so i went into the ceo's office and said i was due a salary bump. it was the least he could do seeing as how the company would be gone in a month, and i could use that as leverage in negotiations for next time. he complied, and bumped my salary to 90k. i got a new job about a month later and i negotiated 98k.

usually, you will get some incremental improvement when you move to a new position.

</comment><comment><USER64> I believe this is exactly what happens in Sweden, Denmark, and Finland. Salaries aren't public directly, but tax returns are...so you can easily see what everyone makes.

<comment><USER65> Just fyi. this is not the case in Denmark, tax returns are private here.

</comment></comment><comment><USER66> As an academic, this thread makes me feel bad.

<comment><USER18> Why? It's a matter of the total package. What's the value of your job-for-life and your final salary pension and your summers off? Now are you really worse off?

</comment></comment><comment><USER67> It would be extremely interesting to see whether or not having these data publicly available (especially in such a context-free fashion as in this article) is truly helpful or not. It reminds me of another HN story which saw the front page today: [http://itmanagement.earthweb.com/entdev/article.php/3930466/...](http://itmanagement.earthweb.com/entdev/article.php/3930466/That- Developers-Salary-is-Bigger-than-Mine.htm)

Full transparency could lead to a more equitable distribution of salary, or it could mean that companies are less able to pay top dollar for great talent because they know that there will then be a hundred wannabes who are demanding the same salary.

<comment><USER68> The state of California releases salary info for all kinds of state employees (which has shown up on HN before : <http://www.sacbee.com/statepay/>). When I first found out, I spent 30 minutes looking up the salaries of all my old UC Berkeley professors, and comparing them to prison doctors and state troopers. I was saddened to see that salaries and talent/research output/prestige are often very unrelated, even in the presence of total transparency. George Smoot, who's a Nobel laureate only around 150k!

I also wondered whether (for example) Martin Wainwright and Michael I. Jordan, who've collaborated on papers, classes and a book on my to-read list, ever experience friction as a consequence of salary, given that Jordan appears to earn roughly 85% more than Wainwright.

I know that state employees and academic salaries are subject to a lot of forces that aren't present in tech companies -- but this makes me doubt that transparency is enough to bring about reasonable, equitable salaries.

</comment></comment><comment><USER69> Wow, this article comes in perfect timing for me. Hopefully, you, the HN community could help me.

I am currently being offered a software engineering job at Apple through a recruiting company. What I want to know is, how much should I be asking for? I am 4 months out of college (no Ivy league, just a state college) with little professional experience. So far, I have said $50k, but is that low-balling it? Should I be asking for more? From what I gather, Apple won't be paying me directly; it will be the recruiting company that will be issuing my checks.

edit: Forgot to mention that I would be moving from Louisiana to California if I get the job.

<comment><USER70> I'm confused – Why wouldn't Apple pay you directly?

You shouldn't have to ask for anything, they should present you with an offer.

Meanwhile, you should do appropriate due diligence and interview with other companies that interest you and see what other offers you get. If Apple is interested in hiring you, no doubt other companies will be too.

Also: keep in mind that relocating will incur at least a few thousand dollars in expenses (which your future employer should cover as part of the comp package) and that living in the bay area is very expensive. 50k is do-able, but won't take you very far.

<comment><USER69> Thanks, I'll be talking to the recruiter about an offer. Part of the problem is that when I was asked about it, I was basing the salary off of what someone in South Louisiana would make as a junior developer. At the time, I did not have any knowledge of what the salary of someone similar in the Bay Area would be.

I was told that the recruiting company (TekSystems) would be paying me. However, I will ask the recruiter for further clarification.

The job is a contract job and located at the Cupertino campus. So far, I have not had an interview with Apple and have only completed an assessment for the recruiting company. The recruiter has been the middle-man between anyone at Apple and I so far.

When I asked if relocation assistance would be provided, I was given an answer of no. Any suggestions as to negotiating a way to get assistance?

<comment><USER71> "The job is a contract job". That's why; you'll be an employee of TekSystems, not Apple. You won't be getting Apple benefits or compensation.

On the other hand, you can still put Apple on your resume, so it's not all bad.

</comment></comment></comment></comment><comment><USER72> We need to remember "you are not your salary". Comments like "an insulting $60,000" or "only $100,000" makes me shake my head. Your salary is not something you have to brag about.Your worth is not determined by your salary. A developer can create millions of dollars in value. Think how much value DHH created with Rails or Linus with Git and Linux. Or Damien with CouchDB. Remember Steve Jobs salary is $1 a year.

Our goal as hackers is to create value, millions of dollars worth of value. This salary talk makes us look like programmers not hackers.

<comment><USER73> Which is all well and good, but to say that salary doesn't matter is bupkis.

If you're creating significant value and getting little for it, you're getting the short end of the stick. If you notice you're getting the short end of the stick, you're probably going to feel like crap.

Mind that lots of developers, if working for a company, don't own what they create.

       "Our goal as hackers is to create value, millions of dollars worth of value."

Screw that. My goal is to enjoy life, have fun, work on interesting stuff and not feel like I'm getting screwed over in the process.

<comment><USER74> Forgive me, but I think you meant that to say that salary doesn't matter is mishuggeneh. Bupkis is what you'll have in your bank account if you go on thinking this way.

I'm not even Jewish. This is just from years in New York.

</comment></comment></comment><comment><USER75> So, I'm most certain that I'm being given the shaft by my employer.

A coworker recently quit, because he felt underpaid (his previous job paid him over 10% more). Negotiations with HR got him nowhere, so he left.

The coworker and I had identical jobs, and we did them in the same capacity, with very similar skill levels. When he left, he disclosed everything to me. Despite being underpaid, he was still being paid significantly higher than I am (almost 25% more).

Of course, I'm no longer happy with my pay, but don't really know what to do about it. I don't have the flexibility to just leave town, and I'm in a town that just isn't hiring developers right now ("metro"=200k). I've applied to places far away, but just without much luck. I thought if I got an offer, I'd have some arguing room. But I don't; I don't have anything. Besides, if my employer doesn't budge, I'm not prepared to take the leap. I can't leave town because my wife is in school here, now.

I started at a lower pay rate, because they hired me without a college degree. I've been working for them for three years now, and have been moving up in pay, but I started so low that it hasn't amounted to much.

I think a huge part of my problem is that I don't have a college degree. I think that I've obviously shown that I'm capable of doing the job, regardless, though. How much should the degree _really_ matter? I've seriously been considering applying to a lower tier school (I mean low tier state school, not U of Phoenix, etc.) for a degree completion program, just so I can pad my resume up some. I don't know if that hurts more than it helps, though. I did already finish up the handful of courses I needed for the A.S. from the local community college.

<comment><USER26> If you have no other options then that decreases your market value. The good news is: you now know of the problem and you know what is standing in the way of fixing it.

I've always heard that a degree is worth 5 years experience.

</comment></comment><comment><USER76> While not being a programmer, I did work as a sysadmin for a hosting company. Since I quit around 2 years ago, I was asked by my ex-colleagues on several occasions would I consider returning there. Now, these questions were raised by my coworkers and not my boss, but nevertheless, my answer was the same. Yeah, sure, if they double my salary from 2 years ago, assign me to a higher tier support level so I don't have to deal with customers in any way.

Simple reason for this was that knowing my peers salary, both those of lower, equal and higher position, I knew how much I was worth to them, and how much others were slacking.

So, with public salaries, you get that. With them being private, I would probably ask for a small raise based on economic situation. I'm not saying I wouldn't work for the same money as before, It's just that I'd feel like a jerk toward my self in that case.

</comment><comment><USER77> On one hand, being able to compare yourself to others is very valuable. The challenges arise though in how to square two different numbers. What is the value of each individual skill? If 2 people have differing abilities in 3 different skills, are all skills valued equally?

</comment><comment><USER78> How are startup salaries compared to the big companies?

</comment><comment><USER79> I avoid all of the fuss.* I work for a State agency in a low population state. There's a published ceiling and floor on salaries (based on pay band). All salaries are public record.

* Tongue firmly in cheek.

</comment><comment><USER80> Reading all the replies on HN reminds me why companies like to outsource. Americans are expensive and have a strong sense of entitlement. This race to make more money for the sake of money just leads to accelerating inflation across the board. As far as I am concerned, salary is just a number and people can live just fine on $50,000 if they we weren't such a consumerist society.

<comment><USER81> There's a considerable difference between having a sense of entitlement and being rational.

<comment><USER82> Clearly. And this difference is exactly what we're seeing a lot of here.

Rational: "I am unhappy with $60,000 because it does not meet my needs."

Entitlement: "I was happy with $60,000 until I found out Fred was making $61,000."

<comment><USER26> Wrong.

Irrational: "I'm working in a free market world but I should just take what ever the company offers me and be happy"

Rational: "I'm working in a free market, selling my time so my time is also subject to market rates. I just found out a guy who has, IMO, lower market value makes more than me. This means something is out of whack. I view my market value higher than it really is, his lower than it really is, or I'm not earning my market rate even though my company (and CEO!) are"

The only entitlement in this picture is you two giving proxy entitlement to the companies to make even more money by underpaying everyone.

<comment><USER82> No one said that you should take whatever the company offers and just be happy; that would be ridiculous. In fact, as someone who's weighing multiple offers right now, step one is negotiating with these companies to see who can meet my needs and, after that's met, see who can better meet my wants.

However, after I do negotiate and I decide company X's offer of $Y is plenty enough for me to be happy and then some, there is no reason for me to be unhappy if I find my coworker is making $Y + 10%. If I needed that 10% to be happy, I shouldn't have been happy with $Y.

Now, where such a thing _is_ rational is if I'm not happy with $Y but I don't believe I can get a better offer so I take it and then later find out I probably could have gotten more. In this case, I'm already unhappy about $Y (although less unhappy than $0), so I continue to be unhappy when I find out I might have been worth $Y + 10% but am not receiving it.

<comment><USER26> So you, like the OP, are assuming everyone posting in this thread about getting more money are petty losers who just go "waaaah! He get's $500 more a year than I do! THAT'S NOT FAIR!". Does that sound reasonable to you? Does it sound fair? Why would you assume that instead of assuming they understand the market and that salary is simply the market value of your time?

<comment><USER82> First, as a general rule, in any sort of discussion or debate or argument or whatever you want to call it when there are multiple disagreeing with each other, please avoid any sentence of the form "So what you're saying is...." Rarely do I see such a sentence that is not a total misrepresentation of the original point, intentional or otherwise, and attacking that point constitutes a strawman. As a specific example, I'd love to see you point to a single point where I said anything like that.

A much better representation of what I am saying: Let's say that I am making $50,000 and I am perfectly happy with it. More money would be nice, but I do not consider that more money to be at all essential to my happiness. Suddenly I find out my coworker is making $60,000, or even $100,000. It is irrational for me to now be unhappy with the same $50,000 I was happy about thirty seconds ago. This is precisely what both I and junishaun are saying, where you only care about more money for the sake of more money.

If you weren't happy with the $50,000 to begin with, then you have every right to be upset when you find out you could have gotten more. However, this is not the case I've seen represented by most of the HN comments on these various "salary taboo" threads.

<comment><USER26> >please avoid any sentence of the form "So what you're saying is...."

No, the point of that statement was to break down what you were saying for you because you might not have been aware (and still aren't apparently). The OP was saying _the people posting here on HN_ were whinny people with an entitled mentality. So no, what I said was in no way a misrepresentation. Then you came on defending what he said without pointing out that you disagreed with his application of his theory _to HN posters_ (you still haven't).

So you point out some mythical situation where you think someone would be behaving irrational. What does that have to do with this thread? No one has claimed to be mad about the money for the money's sake so this whole line is a straw man. Unless you (like the OP) _are_ claiming other people here are behaving this way.

>et's say that I am making $50,000 and I am perfectly happy with it. More money would be nice, but I do not consider that more money to be at all essential to my happiness. Suddenly I find out my coworker is making $60,000, or even $100,000. It is irrational for me to now be unhappy with the same $50,000 I was happy about thirty seconds ago.

Again this is wrong. The mythical person was happy because he/she assumed the market rate for what they did was $50k. Now they've just seen evidence that it's actually $100k. The rational response is to take action as they're potentially leaving $50k (or more) of your value on the table. The person's happiness was based on a lie or misunderstanding and the new unhappiness is based on finding out the truth.

You're only going to live so long and you only have so much earning potential. Leaving money on the table for no other reason than some feeling of happiness is the furthest thing from rational.

<comment><USER82> > No, the point of that statement was to break down what you were saying for > you because you might not have been aware (and still aren't apparently).

I understand the intent behind such sentences; I was commenting on the common results, and I still maintain that this is one such case.

> The OP was saying the people posting here on HN were whinny people with an > entitled mentality.

I hold that there are three key differences between what OP and I are actually saying and how you are representing it. One, neither of us said that every HN poster is an example of entitlement, but you are claiming that we said that. Two, you seem to be representing our statements as saying that anyone who is unhappy after finding out their coworker is making more is entitled when instead is upset for money's sake, which I have been specifically maintaining to be a case I have noticed rather than a universal. Three, while your "petty losers" case could certainly be an extreme case of this entitlement, it is a straight up misrepresentation to claim that we're putting it forth as the common case.

> So you point out some mythical situation where you think someone would be > behaving irrational. What does that have to do with this thread?

I think this is most clearly exemplified by the original article ("That dev's salary is higher than mine") that sparked all of the subsequent "salary taboo" threads. A direct quote from that article: "Part of me was even angrier because if he hadn't made this mistake I could be blissfully ignorant and wouldn't have to deal with this mess."

The HN response? Largely in agreement with the article with very few people, including myself, calling the article out for this and a couple people (including you!) disagreeing with me.

> The person's happiness was based on a lie or misunderstanding and the new > unhappiness is based on finding out the truth. This is he entitlement of > which we are speaking; thank you for making it so explicit. If your > happiness is tied so intricately to the amount of money you receive, that is > entitlement. It would be ridiculous for me to claim that money cannot help > achieve happiness, but if you are already happy, finding out you could have > potentially had more money should not rationally decrease your happiness.

> Leaving money on the table for no other reason than some feeling of > happiness is the furthest thing from rational.

If your definition of rational is "attempting to maximise the amount of money I make" is your definition of rational, sure, but I maintain that is a terrible definition of rationality. For a very obvious example, if you used that definition, we should all seek the opportunity to work every possible minute at the highest possible rate, the rest of our life be damned. After all, we need to get more money without worrying about silly things like "health" or "friends and family" or "enjoyment of job" or anything else that really is just "some feeling of happiness" at the end of the day. Since I _don't_ think that either of us subscribe to this view, I think we'd agree that there needs to be some trade-off between money and happiness.

However, I'm not talking about leaving money on the table at any rate. If there exists money I can obtain, I have every right to go after it. It's being unhappy about the fact I don't have it where we're seeing this irrationality.

<comment><USER26> >One, neither of us said that every HN poster is an example of entitlement, but you are claiming that we said that.

Excerpt from the original post:

"Reading all the replies on HN reminds me why companies like to outsource. Americans are expensive and have a strong sense of entitlement."

I think you're throwing in the "all" in your response as a back door out of what you and the OP have said: [some of the] people posting on HN are whiners with an entitlement mentality.

>it is a straight up misrepresentation to claim that we're putting it forth as the common case.

If it is a misrepresentation then I'm not sure what this whole thread has been about. Are we discussing theoreticals that are not actually seen anywhere? Then who cares?

>Largely in agreement with the article with very few people, including myself, calling the article out for this

There is nothing to call the article out for here. The guy just found out he's very likely working way under his market value. Now he has to take action. Of course a part of him wishes this uncomfortable situation wasn't in front of him, but to claim he "wants money for money's sake" is pretty judgmental. Do you have some reason to believe he is a petty person instead of a rational one?

>If your happiness is tied so intricately to the amount of money you receive, that is entitlement.

This is illogical. Let me try again; we sell our time for a market price. _Of course_ the time is intricately tied to the amount of money it is worth, otherwise why bother? I have things I'd much rather be doing. I don't _want_ to sell my time. I need money so I sell it at the best market rate I can (complimented with other factors, of course). This isn't entitlement anymore than selling any other product is.

>finding out you could have potentially had more money should not rationally decrease your happiness.

Of course it should. You were happy before because you thought you were getting acceptable value. Now you just found out you're getting ripped off.

If you bought a nice car for $5k, of course you'd be happy about such a great deal... until you found out they actually cost $1k new and you just bought it from someone who exploited your market ignorance to get an extra $4k of your money for nothing.

>we should all seek the opportunity to work every possible minute at the highest possible rate

Highest possible rate _within bounds_. There are jobs I'm not willing to do for anything less than FU money. But what you're missing here is that a portion of the market value is what you're willing to do. Willing to travel? Then your market rate is higher than those who aren't. Willing to spend every waking moment on the job? Then your market value might be higher than mine because I'm not willing to. I'm ok with that. I just want the best market rate I can get _for what I'm offering_.

>It's being unhappy about the fact I don't have it where we're seeing this irrationality.

I really think the "irrationality" you're seeing is coming from assuming _someone_ (who ever it is) is unhappy about not getting money "for money's sake". I don't see anyone doing that and don't see that as a valid concept. I think it's about market value and companies using their advantages to exploit people's market rate ignorance.

<comment><USER82> > I think you're throwing in the "all" in your response as a back door out of > what you and the OP have said: [some of the] people posting on HN are > whiners with an entitlement mentality.

I put the 'all' into my response because I'm tired of you forcing everything to extremes. I will say in no uncertain terms: some of the people posting on HN are exhibiting an entitlement mentality. Reading all of the posts reveals this fact.

> If it is a misrepresentation then I'm not sure what this whole thread has > been about. Are we discussing theoreticals that are not actually seen > anywhere?

Once again, you keep forcing things to extremes. Most of life, including this, is not all-or-nothing, yet you seem to keep insisting that this is for some bizarre reason. We are discussing things I have observed that do not happen to fit the extreme case you posted.

> The guy just found out he's very likely working way under his market value.

But for a value that he admits he was already happy with nevertheless. He could potentially get more, but he was happy with what he had before he learned of the difference.

> Do you have some reason to believe he is a petty person instead of a > rational one?

The previous combined with the fact that he was unhappy with the amount he received after learning he could receive more. The utility of the money he was receiving did not change; he was still able to perform the exact same happiness-increasing things with it, but now he's suddenly unhappy with it. This is entirely irrational.

> Of course the time is intricately tied to the amount of money it is worth, > otherwise why bother?

I said nothing about the time; it is happiness that should not be so intricately tied to money. Selling my time may not be my greatest desire, but if I'm already happy with the price at which I'm selling and find out I could sell for more, my happiness can only decrease if my happiness is intricately tied to money.

> Then your market value might be higher than mine because I'm not willing to. > I'm ok with that.

How is this not leaving money on the table for no other reason than some feeling of happiness?

> I think it's about market value

If it's market value for market value's sake, how is that not money for money's sake? If that's not what you mean, what the hell do you mean such that it's still possible to be less happy with the exact same buying power?

<comment><USER26> >I will say in no uncertain terms: some of the people posting on HN are exhibiting an entitlement mentality. Reading all of the posts reveals this fact.

So again, you're judging _some of the people_ on HN in a very harsh manner based on pure assumptions of your own.

>We are discussing things I have observed that do not happen to fit the extreme case you posted.

I give extreme examples to illustrate the point more clearly.

>But for a value that he admits he was already happy with nevertheless.

Again, he was happy because he thought was getting a good deal. Once he found out he was actually being exploited, _of course he was upset_!

>The utility of the money he was receiving did not change; he was still able to perform the exact same happiness-increasing things with it, but now he's suddenly unhappy with it. This is entirely irrational.

It's not about utility. He took place in a market transaction by selling his time. He was happy because he liked the arrangement. Then he found out his happiness was based on a lie; he wasn't getting market rate for his "product", far from it. It is not even remotely irrational to suddenly be angry when you find out you were tricked. I'm begging to wonder if you actually know what "rational" means.

>it is happiness that should not be so intricately tied to money.

Fine, and I would say it _isn't_ in this case. Being treated fairly is.

>but if I'm already happy with the price at which I'm selling and find out I could sell for more, my happiness can only decrease if my happiness is intricately tied to money.

But most people are only "happy with the price" when they believe they are getting at or close to market rate. Not being happy anymore when you discover the deception doesn't mean your happiness is "tied intricately to money". Your happiness stemmed from trust and now a betrayal has been discovered. It would be very odd to _not_ be upset.

>How is this not leaving money on the table for no other reason than some feeling of happiness?

I'm not leaving money on the table because I'm getting market rate for what I'm offering. I don't need to get every penny I possibly can, only every penny my offering is worth.

>If it's market value for market value's sake, how is that not money for money's sake?

This is how the free market works. You have to work in your own best interest or you negatively impact others. For example, if you happily donate your time at 10% of the market rate then you've lowered the value of that job and now others may get paid less.

And why is it that you only call out workers? What about Google? They've got billions, surely they could charge less for their advertising? What about CEO's? They make more than they could spend in a lifetime. Why don't you call them out for "wanting money for the sake of money" as if this is the case they're clearly more guilty of it than I am.

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER83> How does this translate into UK salaries? I'm working at a medium sized company (approx £200 million turnover) and am a senior developer with 15 years experience in stuff like c++/c#/iphone/asp.net mostly MS stack and I'm getting paid £34k. I know I can go contracting for £40/hr but it's alot more hassle.

What are other people getting paid here in Blighty?

<comment><USER84> Depends where you live, apparently that is normal if you are out in the sticks. I was 22 and contracting as a c# developer @ £40/hour in 2004/5. That grew over time so that i had 2 month holiday and still made 80k for the year.

I did have a dud job though with oracle where it was almost impossible to earn anymore. Left Oracle as I didnt believe in the technology. Now on 100k a year, no degree and foreign. Plus I recieve a bonus on top of that.

</comment></comment><comment><USER51> Anyone has figures for IBM?

<comment><USER85> See glassdoor: <http://www.glassdoor.com/Salary/IBM-Salaries-E354.htm>

</comment></comment><comment><USER86> In Silicon Valley, is it expected that you'll negotiate an offer? If so, by how much? In general in Detroit, offers are final (clearly a generalization, but true of big co's).

<comment><USER26> This is a strange question. Of course most any company hopes you won't negotiate. What they expect is that you'll value yourself more than their initial offer and _will_ negotiate.

I'm sorry, but I don't believe you about Detroit. I believe that you believe that, I believe companies tell you that but I unless all big Detroit companies only have very junior people I don't believe for one second that this is actually the case.

<comment><USER86> Maybe I should rephrase the question: In Silicon Valley do most people negotiate? Is it just part of the culture?

</comment></comment></comment><comment><USER87> I've found that talking about grossing a figure up to cover taxes can be a good way to get your feet wet with negotiating.

</comment><comment><USER86> HN needs anon comments. I have specific questions, but not ones I want my name on =)

<comment><USER88> Make a sockpuppet account.

<comment><USER89> Yea, people often make throwaways for Ask HN. I'd prefer people doing it less whatever possible, though I know sometimes they are needed (I am not expecting questions about acquisitions to be made non-anonymously at this point for example).

</comment></comment></comment><comment><USER14> I actually think full transparency on salary could make this nasty issue go away. Post what _everyone_ is making and let people negotiate a fair package. There would be some transitional pain in the first 2 months, and payroll costs might go up 10 percent, but people would be happier in the long run. Why use inaccurate gossip instead of full transparency?

What drove up compensation in banking in the 2000s was _inaccurate_ compensation reporting. Pay in banking is one's status, so everyone would claim to have received top bonus when applying to private equity jobs or trying to make a lateral move. This meant that whatever bonus was paid to the top 5% of each year would be claimed by _everyone_ in that year. That ratcheted up pay expectations over time. Banks actually liked this, because the high pay enabled them to make entry-level conditions and hours even worse, but most companies wouldn't be able to afford that process.

In the long run, I think that salary discovery by inaccurate gossip is more expensive and volatile than full transparency, and I can't think of a good reason why, in any company, everyone shouldn't have access to everyone else's base compensation (performance bonuses can be private; the range should be public but not the amount.)

<comment><USER90> I rather suspect that full salary transparency would result in a race-to-the- top.

<comment><USER91> I was just going to say something like this. In _The Logic of Life_ , Tim Harford writes about how CEO pay reformers thought that making CEO pay public would cause companies to reduce pay because high pay was so outrageous. The opposite happened.

Why? Because who wants to be in the bottom 50%? Practically no one. If you open up salary information, everyone is going to want to be "above average," even in companies that pride themselves on hiring exceptional people--like Google.

This year, the median is $90K, so everyone will want $95K. Next year, it'll be 95K, so everyone will want $100K, and so on.

<comment><USER14> Fog Creek has a "ladder" system based on some fairly objective criteria. Based on years of experience and certain assessments of project scope and skill level, each employee gets a number between 8 and 16 that determines pay. This means that compensation is based on performance.

Now, the only point of controversy is whether the employee and employer agree on performance. If there's a discrepancy there, at least there's something meaningful to discuss and, if the difference is irresolvable, then they should separate.

This isn't perfect, but the gossip-driven salary-discovery system is even more imperfect and has the same problems.

<comment><USER92> Could you elaborate on this criteria?

<comment><USER93> <http://www.joelonsoftware.com/items/2009/04/01.html> more links inside

older version <http://www.joelonsoftware.com/articles/fog0000000038.html>

</comment></comment></comment></comment></comment></comment><comment><USER89> As it happens, there was this Ask HN about salary. Guess why it had to be created using a anonymous throwaway: <http://news.ycombinator.com/item?id=2440956></comment>


The importance of stupidity in scientific research - <AUTHOR> http://jcs.biologists.org/cgi/content/full/121/11/1771?t

<comment><USER2> the search for new hypothesis to test is not governed by the scientific method. empirical science is pure induction. when we start speculating about how reality might be (and come up with hypothesis that make useful predictions) we are engaging in deduction and or abduction. You can view these as forms of stupidity if you like.</comment>


Ask HN: How to get a good deal on used Aeron chairs? - <AUTHOR>

If anyone wants to sell some drop us a line below.
We are in the bay area and need about 16 of them.
Or if you have any tips on how to get a good deal on em let us know! <comment><USER2> <https://post.craigslist.org/sfo/S/wan/>

<comment><AUTHOR> Thanks.</comment></comment>


Ask HN: App and Cloud versioning strategies? - <AUTHOR> Hi. At work we have a separate App and cloud team.
Something that has come up recently is how to do the versioning between these two teams.
Some things that have arisen and we arn't sure the best solution. Maybe some here have gone through already.
1. Adding non breaking changes to the cloud api (like adding a new key to a response). What's your process for ensuring that all the older app versions don't break with this change? Obviously if it's written properly to ignore unknown fields it should be fine and you have unit tests to verify that it's ok. Just wondering if that can always be assumed?
2. Doing data schema changes. We store data sent from the cloud in storage on the device. It basically stays there until the cloud increments the 'schema version' which tells the app that it needs to be reloaded (maybe that object now  contains new fields so the local cache needs to be reloaded). This should be done automatically I think. The client could keep checking the modified timestamp for every object and replace ?
This one is also like we need good offline/online handling. We looked into using firebase but that would be too expensive. I wonder if there is a accepted way of doing this?
Any thoughts or suggested reading on this topic would be helpful!
Thanks. <comment><USER2> I suppose the answer to 1. is some combination of API versioning and unit testing. Cloud APIs aren't different from usual, local APIs in that respect. How do you deal with breaking changes in libraries? Unit testing and using your IDE's capabilities to detect signature / protocol changes.

As for 2. I'm not sure if there's a generally accepted best practice for this but again I think this isn't much different from more traditional scenarios. A workable approach probably is using migrations, i.e. the app checks via an API endpoint if there are new migrations (using a timestamp) and if there are downloads and applies those.</comment>


San Francisco Design Agencies Feeling the Squeeze - <AUTHOR> http://www.peterme.com/2014/10/24/san-francisco-design-agencies-feeling-the-squeeze/

<comment><USER3> I have told my designer friends in other areas how well in-house designers are paid in the Bay Area, and their response has always been that they think being in-house would be boring and they strongly prefer agency work (despite, in their experiences, super low pay and horrific management).

I have always wondered if in-house work is legitimately more boring or if the goal of working at an agency has just been drilled into them since design school.

Is it considered a stigma on one's resume to have done in-house work? If not, it seems like designers could go for the programmer model of employment -- work in-house for a few years then switch to a new place for new challenges when you stop learning and growing, unless a new challenge is presented.

<comment><USER4> Design consultancy allows the designer to work on multiple projects concurrently or in succession, avoiding burn out and getting more broad experience (important for their career). In house designers usually are assigned to the same product for a long period of time, though you'd think larger companies could avoid this by moving to an internal agency model.

My wife is just moving from being in-house to an agency, but these are in huge demand for beijing.

</comment></comment><comment><USER5> The things I'm seeing in the NYC area (particularly digital advertising agencies - but the lines between those, 'design' agencies, and general software development firms have become so blurry that it's hard to tell them apart anymore) point to some other issues causing a squeeze as well. Top of the list is an absolutely brutal level of competition. There are so many firms out there chasing the same business - from your top-tier Madison avenue firms who have gone digital, to your 3 person, 1 hit-wonder shop in DUMBO - <USER2> clients have these companies strapped tightly over a very large barrel. Companies are bending over backwards with just about everything: allowing late payments, cut-rate deals, and sometimes even free work for even moderately complicated jobs (in the hopes that if they properly prostrate themselves, they will be given _paying_ work in the future), which really hurts bottom lines - and the ability to offer competitive salaries.

I'm also seeing the same talent flight as the author of the piece, not just with designers, but also devs and good producers/project managers. At some places I've seen, companies avoid certain clients because they fear poaching by their own client(!) Is it too conspiratorial to think that talent-hungry clients are doing trial-run projects to try out and entice potential employees? A couple years ago, I would have thought that was crazy. Now I'm not so sure.

My personal opinion is that a shakeout in this/these industries is coming in the next few years. That tide goes out, and a pile of firms will go with it. There's no way the numbers are sustainable. Something has to give here.

</comment><comment><USER6> I think part of the reason for the in house move is just tighter integration with product and engineering. Design firms just aren't technologically sophisticated enough for a lot of the "design" being done in the bay area.</comment>


Today Is International Day Against DRM. Act Against Digital Restrictions - <AUTHOR> https://www.defectivebydesign.org/dayagainstdrm <comment><USER2> I can't do much, but offer a memory; don't forget to thank tim berners lee for his support of DRM in HTML.

[https://www.w3.org/blog/2017/02/on-eme-in- html5/](https://www.w3.org/blog/2017/02/on-eme-in-html5/)</comment>


The Open Source Report Card - <AUTHOR> http://osrc.dfm.io/

<comment><USER2> Pretty cool. My report sounds pretty close to accurate.

[http://osrc.dfm.io/mindcrime](http://osrc.dfm.io/mindcrime)

\---

These days, Phillip is most actively contributing to the repositories: fogbeam/Quoddy, fogbeam/Neddick, fogbeam/GroovyActivityStreams, fogbeam/jFriendOfAFriend, and fogbeam/Hatteras.

Phillip has contributed to repositories in 14 languages. In particular, Phillip seems to be a pretty serious Groovy expert with a surprisingly broad knowledge of JavaScript as well. The following chart shows the number of contributions Phillip made to repositories mainly written in Groovy, JavaScript, Java, Python, and CSS.

\---

OK, that all sounds pretty close to right. The only exception would be, I don't recall offhand contributing to any Python projects. I have done some Python coding, but it was all internal stuff for a company I used to work for. _shrug_

Still, this is pretty neat. I like the way it gives you names of other Githubber's you (might|should) know or connect with.</comment>


Open source jobs: What's hot, where to look - <AUTHOR> http://www.itworld.com/it-managementstrategy/214031/open-source-jobs-whats-hot-and-where-look

<comment><USER2> _What's hot_

Over 1,500 words and not a single programming language mentioned. Instead _embedded, mobile, and cloud_ are the _three big fields of growth_. What a shocker.

 _Where to look_

Forums and job boards apparently. Ground-breaking stuff right there.

<comment><USER3> I liked the part that mentioned that jobs can pay between $40k and $125k. Given how generic the article was, I'm surprised that they didn't start at 0 and go to infinity.

</comment></comment><comment><USER4> Zenobia's comment makes me ask this question which is slightly off topic: When employers hire open source talent, and they're vetting applicants, how closely do they look at say, for a lack of a better word, an applicant's online footprint? Are they concerned if the applicant is active in specific organizations, forums, etc. If yes, which ones?

</comment><comment><USER4> Here's some salary data. It looks to be a couple of years old, but gives you some idea of what open source skills might draw in terms of salary, and where. <http://fosslc.org/drupal/node/239>

<comment><USER2> In London the average Developer salary is £57,500 for permanent work and £450 a day for contract.

</comment></comment><comment><USER5> Surprised they didn't mention Drupal or PHP. It may not be bleeding edge CS but there are lots of openings everywhere.

</comment><comment><USER6> I like the approach this piece takes, as it avoids the usual 'learn $foo_language 'cos it's hot!' approach. I hire people who genuinely love their chosen work and who love open source, and who really understand how it works. A good coder can learn any language-- I look for people who understand that any programming language is just a tool, a means to an end. They need to think and reason well, be resourceful, know how to learn, and be dependable. Most of all I look for people who place the end user first, which is something I wish the article had touched on. I also like that it mentions the myriad other disciplines that are part of any software project.</comment>


Art of writing unmaintainable code. - <AUTHOR> http://thc.org/root/phun/unmaintain.html

<comment><USER2> What a fantastic piece. Check the bottom for the sign-off: "People paid no attention when I harped about how to write __maintainable code. I found people were more receptive hearing all the goofy things people often do to muck it up."

You can tell that he's not talking about this from a theoretical point of view and that the majority of those samples were encountered in real life code.

I've seen a couple of them myself over the years (and I've been guilty of at least a few, especially in the beginning). To be able to compile such a vast set of examples must point to a very colorful career.

The best part of the whole thing is that you can read it two ways, invert every line in meaning and you get a pretty good naming conventions and coding standards guide.

</comment><comment><USER3> The most amazing thing of this essay is that somehow, I know people who never read it, yet seem to know it by memory.

</comment><comment><USER4> The Drupal developers must have used this as a coding bible when they came up with the idea of shoving absolutely everything in multi-dimensional arrays.

<comment><USER5> I love it when the output of print_r is larger than the html of a fully rendered page, by virtue of the html being included in the array you are printing.

<comment><USER4> The output of print_r on a single form on a page could probably stretch to the moon and back if each line was laid one after the other.

Recursively, of course.

</comment></comment></comment><comment><USER6> Woah, learned something new today :) An alternative _break_ construct -

      switch (n)
      {
      case 1:
          p = "one";
          if (0)
      case 2:
          p = "two";
          if (0)
      case 3:
          p = "three";
          break;
      }

</comment><comment><USER7> Most of this is true, but I hate to have people continue to give hungarian notation a bad name when idiomatic use of it is quite a lot better than the naïve use of it decried here.

As an aside, do any other Haskell hackers find that single letter variable names are a lot more usable than in other languages? x:xs, y' and their ilk seem more readable than in other languages and often more readable than long variable names in Haskell.

<comment><USER8> They did qualify that this isn't an example of the original intent of Hungarian Notation

"The following tips will help you corrupt the original intent of Hungarian Notation"

But it's not really that clear if you've not heard what proper Hungarian Notation is before.

</comment></comment><comment><USER9> While true, the article feeds an odious appetite for righteous superiority all too common among technical people.

<http://www.youtube.com/watch?v=5TzHbcXYwI4>

<comment><USER10> Agreed - and while most of this is obvious, and some insightful, some of it is just baseless opinion: "Never underestimate how much havoc you can create by indenting with tabs instead of spaces..."

Conversely, never underestimate how much havoc you can create by using spaces for indentation. With tabs, the level of indentation is clear and atomic. With spaces, it is arbitrary, and, wait for it...

 _hard to maintain_

<comment><USER11> As someone who, despite being 24 years old, learned to type on a (mechanical!) typewriter, I don't like tab for indentation on the basis that, for me, tabs have a very specific meaning:

 _Carriage (or cursor, if you prefer), go to the next tab stop_. [2]

For typewriters it means to go "literally" to where the next stop is. For text editors (at least for emacs)[1], it means to _insert as many spaces as needed so the next column on the current line matches with the last non-space column on the previous line_.

So, in the same way I use the _table_ tag for tabular data in markup, I use the tab key for _tabular text_.

[1] <http://www.jwz.org/doc/tabs-vs-spaces.html> [2] <http://en.wikipedia.org/wiki/Tab_key#Origin>

<comment><USER12> Was this an electro-mechanical typewriter or a purely mechanical one?

<comment><USER11> I started on a purely mechanical, but then, as the course progressed, changed to an electro-mechanical one.

</comment></comment></comment></comment></comment><comment><USER13> " _Randomly capitalize the first letter of a syllable in the middle of a word. For example ComputeRasterHistoGram()._ "

I do this by accident all the time.

And this is the funniest thing I've read on the internet all year:

" _Make sure that every method does a little bit more (or less) than its name suggests. As a simple example, a method named isValid(x) should as a side effect convert x to binary and store the result in a database._ "

<comment><USER14> I wish I still thought that was funny, instead of just painful. I can't tell you how many times I have been burned on Is or Get methods with incredible side effects, like IsValid also automatically logs the user in, creates them if they don't exist, and retrieves their birthday from the database to make sure it's valid. (edit: yes, that really happened.)

</comment></comment><comment><AUTHOR> Quidquid latine dictum sit, altum sonatur. - Whatever is said in Latin sounds profound.

Common problem found in coding, attempting to do things in a hifi way, when simple things server the purpose.

</comment><comment><USER15> I finally found the manual that scientists used to write their code!

<comment><USER12> I remember a physics student ahead of me lamenting the fact that scientists had written their own software (ROOT & Geant). He said it was hard to use.

</comment></comment><comment><USER16> i sorta think this is dumb. these are all true, but superficial. this piece doesn't touch on any real, deeper reasons that well-intentioned code is unmaintainable, like excessive and unnecessary state & implementation inheritance.

<comment><USER17> I agree -- I hate these "negative" lists because there's an infinite number of ways to screw something up. Enumerating them isn't helpful.

<comment><USER18> Enumerating some of the ways to screw things up may be helpful in that it allows a reasonably intelligent reader to intuit the underlying connections and apply that intuition to a broader set of coding circumstances.

<comment><USER16> sure, i agree. i just think things like weak names, hungarian notation, brace preferences and lispy one-liners have no objective impact on the complexity of a system.

</comment></comment></comment></comment><comment><USER19> >> "People paid no attention when I harped about how to write __maintainable code. I found people were more receptive hearing all the goofy things people often do to muck it up."

\- when we're told to write maintainable code :: MY CODE IS GOOD !! I'm sure Bob/Igor/Venkatachalapathy (coworkers) understand it just fine

\- when we're told - these are the tricks of unmaintainable code .. :: HOLY COW !!! so THIS is what Bob/Igor/Venkatachalapathy has been using against me !! no wonder my promotion's been slow

</comment><comment><USER20> Most of the "tips" in this article seem to suggest choosing a bad naming scheme or intentionally misnaming variables / functions. I can't imagine it would be that hard to put the code into an AST and work with that. That would make it easy to see where variables are used (despite losing their names). I realize that would take extra time, but I don't suspect it would be quite as bad.

I'm more afraid of the "Use threads With Abandon" tip.

</comment><comment><USER21> You literally could build a career out of this. I'm not saying that's a good thing. But you can't argue with the amazing job stability it provides.

Also makes me think how long it takes big teams to filter out people like this.

</comment><comment><USER22> This list has been around for a while (10 years or so?). Still a classic, though.

The domain suggests something else, though: "THC dot org" :-)

(What are you people, on dope?!?)

</comment><comment><USER23> This is fantastic - making all my students read this. English is a third language for most of them so I'm always trying to decipher the most cryptic method and variable names.

<comment><USER12> What country do you work in?

</comment></comment><comment><USER24> "In particular, in Java, make ordinary methods masquerade as constructors."

Isn't that the first item of Effective Java? Factory methods? Which is a good thing.

</comment><comment><USER25> You know you read too much of that article if you notice that the 'Reduce, Reuse, Recycle' advice is given twice.

Meta-obfuscation in the obfuscation guide?

</comment><comment><USER26> I laughed hard at this one: "Optimise" JavaScript code taking advantage of the fact a function can access all local variables in the scope of the caller.

</comment><comment><USER27> I once worked with a guy that decided to give his variables names like "Bob" and "Fred". IRONIC LOL.</comment>


Show HN: Demandoo , a way of sharing things online - <AUTHOR> Hi Hackers,
This is my first time posting here so if I'm posting in the wrong place hope you understand.
I created https://demandoo.net which is a sharing economy platform that allows users to post what they need and others can offer to rent or lend the needed item. I'm in public beta now and trying to get feedback and suggestions about Demandoo. The items posted on the website are placeholders but feel free to post stuff you need as well.
Thanks a lot guys and hope you like Demandoo. <comment><USER2> Do you really have a trademark registered for your name? I can't find Demandoo on [https://www.uspto.gov/trademarks-application- process/search-...](https://www.uspto.gov/trademarks-application- process/search-trademark-database), there's an old one from 1943 for Demando though.

How will you solve the chicken&egg problem to grow your database. It covers the whole world, shouldn't you grow neighborhood by neighborhood first?

I think the placeholders should be marked as such.

<comment><AUTHOR> I'm trying to approach suppliers of rental goods and regular consumers at the same time. Not in US right now and really want to start user acquisition in the US . You are right i should start small, but I designed this to start in the west and right now I'm in the east of the world. a mistake?

Thanks for your tips on placeholders, will do.</comment></comment>


Ask HN: Code for America alternative? - <AUTHOR> I am interested in spending a year doing coding for humanitarian purposes and as the Code for America application process is closed for 2013, I am looking for alternatives. Doesn't necessarily have to be just like CFA or even in America, but I would like to spend a year getting better at coding while making the world a better place. Any suggestions? <comment><USER2> <http://sanitation.hackathome.com/>

<http://www.rhok.org/>

</comment><comment><USER3> We could always use help.

<http://www.plainsite.org>

email@example.com

<comment><AUTHOR> I just sent an email. Thank you for informing me of this opportunity.

</comment></comment><comment><USER4> You could make something that matters:

<http://matter.vc/>

<comment><AUTHOR> I would be interested, but it seems like I would need to already have a team, is this true?</comment></comment>


Dell, Cisco 'Deeply Concerned' Over NSA Backdoor Exploit Allegations - <AUTHOR> http://www.crn.com/news/security/240165053/dell-cisco-deeply-concerned-over-nsa-backdoor-exploit-allegations.htm

<comment><USER2> Deeply concerned their involvement came out?

</comment><comment><USER3> while I would like to believe them - just how concerned are they for their largest customers?

<comment><USER4> Right-o. I don't understand why people latched onto shipping carriers as being the most likely suspect for hardware bugging by operations like NSA's TAO. They have very slim timelines to hand over a package without someone noticing it's been in Reston, VA for two days.

Really, to me at least, the most probable corporate suspect would be the hardware vendors themselves. Dude you're getting a Dell.™

<comment><USER5> Wouldn't it be easier and less visible to everyone to bug at ship time? Why is two days your estimate?

<comment><USER4> Never underestimate government bureaucracy. :)

</comment></comment></comment></comment><comment><USER6> As Schneier recently said, assume everything is _vulnerable by default_ [1], and work with the machines having that in mind. Until everything from the hardware level to the OS and applications is open source (which is pretty much the way FSF has always told us it should be, because they feared the outcome we've already seen), we can't trust them, and even then we have to be very careful about bugs.

[1] - [http://motherboard.vice.com/blog/an-interview-with-bruce- sch...](http://motherboard.vice.com/blog/an-interview-with-bruce-schneier)</comment>


Writing Testable Code - <AUTHOR> http://googletesting.blogspot.com/2008/08/by-miko-hevery-so-you-decided-to.html

<comment><USER2> Most of this makes enough sense to me, although it's hardly groundbreaking. But point number 6 completely eludes me. The argument is that procedural code is hard to test because ... it doesn't have a capacity for overloading in a test?! It's like the guy has never heard of a stub function before. Or formal verification. He thinks about testing only in terms of OOP, and hits a wall when he gets out of his comfort range that he _thinks_ is a generic point of testing theory. This one was just awful, sorry.

(And it also seems to be introducing jargon that isn't required: what on earth is a "seem". Is he trying to say "seam"? Is that something I should have heard before?)

Point 8 ("favor polymorphism over conditionals") is also pretty sketchy. I buy the argument that this makes things more testable, I guess, but there's a long-understood readability argument against this kind of thing. That kind of hyper-pure-OOP leads to unreadable code that stretches even simple algorithms across dozens of classes and source files.

<comment><USER3> Same here, and also:

1\. Good modular design is easy to write unit test for and doesn't require design pattern contortions. New is not a modern day plague to be avoided at all costs.

7\. and 8. Taking things too far. You can not get a good design with a lot of hard and fast rules. But you might avoid terrible, impossible to maintain code. I think I see the problem now, google is about managing a whole lot of average coders, not great hackers.

Not the best software writing, kind of enterpise-ey sounding.

I also detect a hint of someone writes code, someone else writes test for it - BAD. Unit tests should be written by who ever wrote the code that is being tested. Preferably unit test first, then code.

<comment><USER2> Maybe I'm just charitably interpreting things, but #1 actually seemed OK to me. I think his point was that you want to separate the code that interprets your data from the code that builds your data so that they can be tested in isolation. That makes a lot of sense to me. The "bad code" end of this spectrum would be an algorithm in the application logic that can only run when connected to a fully-stocked external data store. That's not very testable; ideally you want to suck in a "test set" from a file or whatever and hand it to the algorithm instead.

But yeah, it's not as simple as removing "new" calls from application logic; it depends entirely on what you're trying to construct.

<comment><USER3> Maybe I've just seen one too many factory factories.

</comment></comment></comment></comment><comment><USER4> Well, there is only one Java book that I really liked. If you're into things like that then just go read "Effective Java" by Joshua Bloch (who also happens to be at Google at the moment). It's one of those rare books that doesn't have a catchy title but when you will read the whole thing you will realize that you've become a better programmer. Got any recommendations for another such book? Please shoot.

<comment><AUTHOR> "The Pragmatic Programmer" by Andrew Hunt and Dave Thomas.

It reads a bit like "the 7 habits for effectice developers", except that it contains about a 150 "habits". I have wished many, many times that I could force colleagues to read this.

<http://www.pragprog.com/titles/tpp/the-pragmatic-programmer>

</comment></comment><comment><USER5> Paragraphs, please!</comment>


Ask HN: How do down votes work? - <AUTHOR>

I just realized that I now have the ability to down vote comments, but I'm not entirely sure how that happened.
Is it once your karma level hits a certain level? Are you ever able to down vote submissions?
Lastly, is there a common standard that hn readers use to determine if something should be down voted? Or is it a "relative morality" issue?
Thanks for helping me become a better hn citizen! <comment><USER2> > Is it once your karma level hits a certain level?

yes, 200 points.

> Are you ever able to down vote submissions?

No, but you can 'flag' them and if enough people flag an article it will be killed. If not enough people flag an article before it reaches 10 points it would take an editors action to kill it.

> Lastly, is there a common standard that hn readers use to determine if > something should be down voted?

The official line is a bit blurry, but most people try to vote based on whether or not something contributes to the conversation rather than to express their agreement / disagreement, but plenty of people do that too and there are no hard rules about it. And even if there were those would not be enforceable.

<comment><USER3> Once you comment in a thread, you lose your ability to downvote other commenters.

<comment><USER4> Not quite. You can still downvote any comments except ones that are immediate descendants (i.e. direct replies) of your own comment or post.

</comment></comment></comment><comment><USER5> The best way to use your new downvote powers for good is to read the HN commenting guidelines:

<http://ycombinator.com/newsguidelines.html>

If a comment doesn't satisfy those guidelines then downvote it. Some people also downvote comments that they disagree with, but I typically avoid that tendency, and only downvote comments that come across as overly negative/critical, or are completely, obviously wrong.

</comment><comment><USER6> I think that your avg also has to be positive. Mine was negative, but my karma was at 205 and I wasn't able to downvote.

</comment><comment><USER7> After I got downvoting power, I found that the downvotes I checked had no effect. Was it because I downvoted too many in a row?

</comment><comment><USER8> I think you acquire the right to downvote when you hit 200 karma. (I didn't have it at 199 and suddenly did have it at 201 -- so that's what I'm guessing.)

There's links somewhere to guidelines. Hopefully someone more HN-savvy than I am will pop in and supply them shortly.</comment>


Senator asks Apple to pull fake driver's license app - <AUTHOR> http://consumerist.com/2011/12/senator-calls-for-apple-to-pull-app-that-lets-users-create-their-own-drivers-licenses.html

<comment><USER2> "Applications shouldn't facilitate law-breaking, which is exactly what this app does. Apple should shut it down immediately," Senator Casey said.

Determining what is and what is not a breach of the law is work for the judicial branch of government. It's not the responsibility of the Congress, and certainly not of Apple.</comment>


Show HN: SlackBot that watch for links and generates digests based on reactions - <AUTHOR> http://github.com/d3estudio/d3-digest <comment><USER2> awesome content!

</comment><comment><USER3> uhul!</comment>