Hacker News new | ask | show | jobs
by ferguess_k 220 days ago
I think most big tech companies started with a tech centered culture and gradually moved towards a finance/PM centered culture, which makes sense, especially after they went IPO.

From what I recall, David Cutler was quoted in "Showstoppers" about DEC having an engineering culture when he joined but he got discontented after a few years (when his team shipped VMS) because it was too bloated.

Microsoft could be a bit different though. I remember reading from a book that Bill Gates wanted to have PMs control projects, which caused a lot of conflict. I do not remember the timeline, but it must be before Win NT.

So the best bet is to go in early, stay for 5-10 years until the environment starts to rot and you can exercise all of your options, profit, and then jump to the next. The more senior you are, the more control you have, the happier you are. David Cutler is a great example. He did stay in Microsoft but he managed to be a hand-on.

2 comments

I still am trying to decide what's a better balance.

If you're too tech/engineering oriented you have a higher chance of not becoming/continuing as a viable business (DEC was a perfect example of this).

Swing too far the other way and the tech suffers and in theory you open yourself up to better alternatives or it becomes too burdensome to innovate as tech debt builds and the PMs refuse to deal with it until it becomes so acute that it drives away your better talent. Worse is that by this time the original PMs have moved on under the impression they did amazing and somebody else is cleaning up the mess.

In theory with scrum/agile, it's the engineers who pick up the backlog and work on what they feel is important to move forward (be it features, security, tech debt, etc), but in practice the PMs usually have the control.

It was different where you were but the billG and early Ballmer years devs had a lot of power. Like to the point where PMs had training on "soft power" or more bluntly how to get a dev who doesn't want to do your feature to implement how you designed. A good dev certainly wasn't going to get into any trouble refusing a "brain dead" feature in those years.