My first job out of college I got paid $42,000. My manager said he had to fight for that, and I believed him. It was a junior programming job in Portland and there aren't a lot of programmer jobs there and I didn't exactly have the greatest experience (straight out of school, and not one known for computer science). But I knew other programmers in Portland made much more.
Within a year, after leading several projects, my pay bumped to $56,000. That required some hard negotiating on my part, and my manager actively standing up for me to the CEO.
At my retail job I worked at while going to school, I made $18,000 a year. So all this felt high, but at the same time something felt off. It was a consulting company, and I saw the contracts the clients signed. Hundreds of thousands of dollars. The big ones were millions. And here I was actually building the thing, sometimes all by myself, and getting a miniscule fraction. I'd see the CEO live luxuriously in comparison. I could do this myself without him. It didn't feel right.
My next job was overseas in Europe. I got paid roughly the equivalent of a $60,000
US salary (if you factor in differences in costs, taxes, and benefits it felt about the same), and the ridiculous part was that all my coworkers were getting paid about that too. But our US counterparts were getting paid at least $100,000, and some were getting paid $250,000+, and some had massive stock options to incentivize them to stay.
The company told me that in Europe things work differently, but I saw first hand that my company was making a ton of money, forking over tons of benefits and cash to US employees, and was really just being stingy. They knew there weren't many other options in that city and knew they could get away with underpaying people.
The next company was a contract gig in the Bay Area, $92/hour, $138 overtime. With the overtime I worked, it felt like a great deal-- definitely better than the previous gigs. I got other offers for $150k-ish in other cities, higher in the Bay Area. No stock or anything because it was a contract gig, but it was short term anyway. In hindsight, I should've gotten more (contract gigs are usually much higher per hour than salary to cover potential dry spells and other costs).
I couldn't shake that feeling I got from my first gig in programming. That feeling that I am actually the one making this work, and I'm also perfectly capable of talking with people and selling it-- and yet they make millions and I make a tiny fraction. It's more than enough to live on, and I'm beyond thankful for that. But we should always strive for better.
I'm in the engine programming space mostly, which is a little different than other programming fields. But I do talk to a good amount of programmers in that space. For Seattle costs, $85-100k is a salary I often see for junior devs, I sometimes see more. Maybe less for startups and such, but ask for stock and other benefits in that case. For mid-level or even senior engineers I see in the 100's. I know multiple senior devs who get paid $200k+, at some companies quite a bit more if you consider bonuses and stock. All what I see from here in Seattle.
Anyway, it's a part of why I just started a company. I can have more freedom, if times are tough I take contracts, and with a product can make millions and keep all that to myself. After all, I'm building the tech anyway. Why not?
For those on a salary now: don't be afraid to communicate with other people, talk about salary, compare notes. Even if you don't know the person well! Remember that both people are helped when sharing salary information. Remember that there's more to a job than salary-- demand better working conditions, bonuses (including sign-on), other benefits. And negotiate.
Good luck. :)