Please drop dead.
/s/ an engineer frustrated with over-designed, under-implemented and uselessly complex, bloated and generally fucked-up “standards”
I’m here to stay. Suck it.
My name is Dadhacker. You killed my whole day. Prepare to die.
/s/ Your Nemesis
For kicks I spent a few days writing a 6502 assembler in Python (I had a need for one, and getting there is half the fun).
It’s under the ABRMS license (“Anyone But Richard M Stallman”). So, in the unlikely event that you need a simple and nearly free 6502 assembler, and in the likely event that you’re not RMS, you’re in luck.
Since I left Microsoft a little over a year ago, I’ve written a few rants that I’ve never published. Amongst the subjects I tackled were some attempts at “what’s wrong with Microsoft’s performance review system?”. None of these efforts were worth posting; I guess I just needed to get it out of my system.
So here is a well thought out post by Steven Sinofski (ex of Microsoft) on the theory and practice of a performance review system. It’s level-headed, insightful, and definitely worth a read.
A couple of points of my own:
Space it out. Microsoft should seriously consider ditching the annual simultaneous review of everyone in the company. MS should do something like review people on their hiring anniversary (or at least, in initially random cohorts spread over the year). Stack rankings could happen more often (2-3 times a year?) so that decisions would have enough data.
This would dramatically reduce the political turmoil around the Big Review. It might give meaning to the self review system (which should otherwise be junked, as it is merely a post-facto substrate for the stack rankings which generally happen a month or more before people write their own reviews).
Eliminate the curve. Obviously the fixed stack rank buckets need to go. This has been said before. Conflating stack ranking and firing is a narrow way to look at things (there are valid reasons you’d want to fire high performers, for instance, and equally valid reasons to retain someone who’s not doing well).
Learn how to fire the right people. Microsoft conflates stack ranking with identifying the people to get rid of. I think of ranking as purely a gauge of comparative performance so that you can figure out how much to pay. You might want to get rid of people in the low buckets, or you might want to keep them all — it depends on the group. There are circumstances where you need to fire high performers, too (especially in situations where they are toxic or doing damage).
I keep hearing rumors that MS is going to make revisions to its review system (apparently people are turning down offers because of it). It’ll be mildly interesting to see if it improves.