salary is an interesting topic. it's certainly one everyone has an opinion on. it's also a uniquely taboo subject among members of the working public. since i'm about a month away from being done with university and entering the programmer workforce, i've taken to asking my classmates what type of starting salaries they're getting at their first jobs. the first thing i discovered is that not everybody is very comfortable with this question, and many companies are even less so. microsoft requests very firmly that recipients of their offers keep their salary offers confidential, for example.
this reaction is very understandable on the part of a company like microsoft. they want to keep that information secret if at all possible. if they made you a good offer and you tell your friends, your friends might have unreasonable expectations. if they made you a bad offer and you tell your friends, then you'll find out that it's bad, and you'll be unhappy. so working to keep this taboo in effect is clearly in every company's best interests. that certainly doesn't mean that you need to go along with the taboo, though!
from the perspective of an individual, disclosing your salary is a pretty good idea. sharing salary information with your peers is a great way to get a sense for how well you're being compensated, which in turn is an invaluable tool in future salary negotiations. compensation is, of course, very difficult to compare accurately, since different regions have different standards, but it's certainly a start!
to put my money where my mouth is, here's some information on the starting salaries for four big technology companies based on my informal observations. i'd be pretty hypocritical if i advocated disclosure without any sharing information myself! in each of these cases, i've consulted at least three people who received full-time offers from the company in question, so these figures are approximate (and specific to undergrads).