Sadly, the people problem dominates most companies, and even pure technical tracks require people skills of a different nature due to the parallel power structures.
They must be special be special because they place such a high value on their time, whereas you give yours away for free < the implicit premise at work in such transactions. It's sort of a personality thing; the more effort and diligence you put into getting hired, the needier you seem, whereas the insouciant entitled-seeming person is able to arouse the managers desire to hire them by being a Shiny Object. Appearances matter, not because they are such a good guide to substance but because of the social fact that so many people respond to them. It's also possible/probable that these managers were 35 year olds who spent most of their lives playing video games (or sports, or cards, or whatever) and consciously or unconsciously hire people with similar personality types.
Not only are life and business not a meritocracy, there is not a singular ordering of competence. Social rewards most often flow not to someone who knows how to do something but the one who knows how to get others to do that for them. So, you have good technical skills at whatever it is you do, you're good at working on your own, and you are also a Nice Person who likes to share. This pretty much guarantees you will be treated like a worker bee.
Now, consider a large project that is beyond your individual capabilities and would require 10 people with your skills and diligence to realize in a year. Can you work 10 times as hard? No. Can you do it over 10 years? Maybe, but you'll be short of money the whole time and someone else would probably pass you by or make your project obsolete. You could find 9 other people with similar skill sets to yours and then cooperate, but that seems a bit unlikely.
Or you could find 12-13 people who you think are 80% as good as you and then tell them what you want - in other words, give them your high-level understanding of how the project should be built and then making sure they have the resources to do it. So instead of thinking of development as a problem of memory, storage, CPU time, and bug hunting, it becomes a problem of resources, budgets, reliability, and HR issues. Managers are in the business of instructing developers while relinquishing control of (and eventually competence in) the lower-level stuff of actually programming the machines. Another way to think of it is that while you are programming the electronic machine to make current flow to do blinkenlights, managers are people who have learned to program/hack the corporate machine to make money flow to make people do things.
To sum up, you will never get promoted/resourced for your technical expertise. The better you are at solving technical problems, the more you will be taken for granted as an extension of the machine you program. The best route out of this is to come up with a small project that you could do yourself, but instead parcel the sub-tasks out between 5-7 different people, and then lavish praise upon them when it's completed.
You can do this by stealth or with the agreement of your own manager, but focus on the objective and be vague on the details of implementation; this is what gives you the room to solicit help from others. You're not stealing their effort, you're providing the structure and taking responsibility by giving them a clearly defined task that they can easily perform without having to think too much. Your bosses want a result and don't want to be bogged down in understanding the details. Your peers want clearly defined tasks and enjoyable rewards and don't want to think too much. You become a manager by taking responsibility; you worry about stuff for other people (the details for your superiors, the big picture for your team members) by sitting on the border between their comfort zones without asking anyone to actually leave theirs.
Please man, stand up for yourself and learn the measures of business ethics.
My last boss was so upset when I told him I was thinking of quitting that, in front of the whole company, he threatened to throw me out of the window but then he apologized multiple times and asked me to come back after he regained his composure (I had a lot of leverage at the time)... But I quit the next day to save face and find better opportunities. This company had tons of money (millions to spend on development) but they wouldn't give me a 10% modest salary increase after 2 years of excellent work. That's the kind of irrational people I worked for. There was no indication they were going to be like this when I joined. You only find out about this stuff after several years and then you already wasted your time and have to start again at a new company and hope that your next employer will be fair or rational at the very least.
I claim nowhere that you don't negotiate, I claim you do it badly and point to the area of knowledge that is required to change that.
It's bad pedagogy to even acknowledge you playing the victim card, that's your psychological issue and I'm not about to play therapist to a stranger.
Edit: thanks for the negativity I suppose, I'll make sure you profit from my advice in no shape or form as requested.
If you'd please read the site guidelines and follow them when posting to HN, we'd be grateful.
I have job-hopped many times hoping to find a place that values developers. After 9-10 jobs I now realize my mistake. There aren't any. Every place I have worked is more or less as I just described to you. This is 21st century business. This is what they didn't explain in college. This is what is wrong with all business in general is this commodification of people--they don't care if you're a good developer or a 10X problem solver, most are happy with cheap. If the labor comes from India or China or anyplace with a contract that puts the laboror in a one-down position of servitude, all the better because those people can be exploited much further. Again, they don't even care about quality, they desire only "good enough."
Now, there is something worse. White males are considered less attractive people to hire. They are trying to punish us for being intelligent and successful. If you don't believe me, just wait, in time you will experience it yourself.
That said I still feel burned out. I've come to realize that not only did the work I do for free not give me any financial advantage (which I expected), but the people who've hired me over the past few years don't seem to recognize that work as being valid work experience.
I'm 30 years old but what I've found over and over again is that managers will give promotions to 35 year olds who spent most of their lives playing video games.
From my perspective, the people described in this article sound like they have it pretty good. What I need is merely for people to realize that I'm actually a 40 year old work-machine trapped in the body of a 30 year old human... Maybe if I can achieve that, then I will eventually reach a high point in my life when I can afford to have problems with self-actualization like those described in the article.