Frankly, both systems are just a stupid loss of time... It always end up the same: you don't want/are not interested to fill in those lengthy and boring papers, so you just write pretty much bullshit in there. Your manager (usually) being a good guy will help you rewrite part of it so that it's "corporate". And that's it. Nobody really cares.
For those who did not had to write that kind of papers, it's just always more or less the same. You have to answer 5/10 lines on questions like: "What did you do this last quarter?" "What are your commitments for the upcoming quarter?".
90% of all the "commitments" of the department at MS looked like that kind of BS:
1. Describe your project and mention you're happy with it.
2. Say that you plan to work hard to reducing the technical debt (every single MS project has 20 years of debt)
3. Say that you will try to improve the overall quality of the project and work with QAs
4. Find some trait in your personality or skills that you will improve for next quarter. e.g. "I will try to spend more time studying component X so that I can help on that matter".
After some time you don't even pay attention to these reviews. Just copy/paste what was written for the last quarter, change the commitments as accomplishments, and create some new commitments depending on the trending problems in the team.
Perhaps even worse than that, this sort of bureaucratic BS tends to be extremely off putting to talented engineers who are intrinsically motivated to do good work. So they leave. Because they have the most talent and experience and are thus the most able to find work elsewhere easily. Bad corporate culture has a tendency to cause talent to evaporate out of a company. It's been happening at MS for decades and has seriously damaged them, it's happening at a lot of other places too. The problem is that when the people in charge look at what's wrong they don't see these things because it's practically invisible on a macro scale. Individual people on specific teams could run you a laundry list of former heavy hitters in their part of the company who left for greener pastures because they got fed up. But at the highest levels the only evidence that tends to show up is that for some reason it's become more and more difficult to execute on challenging projects, which is easy to attribute to any one or multiple of the countless other changing variables.
Ultimately, in my opinion, I think that trying to create the perfect algorithm for evaluating performance is futile. You can't really remove the effect of personal feelings because they play a huge part in group dynamics and in the end you are not trying to optimize for a single person, you want to optimize your team (or organization).
My experience has been that if you just listen to your team and watch them it'll be very obvious who is adding value, who is neutral, and who is a net negative. So long as your team size isn't larger than a dozen or so people, the team will seem to naturally coalesce around people who get stuff done, and they will tell you (sometimes with honest words and a tone that implies sarcasm or joking to remove the feeling of guilt) when someone isn't doing their part. The entire thing can be very opaque- I know of cases where one person seemed to get far less done than everyone else on the team (completed fewer projects, committed less code), and yet was very highly regarded. One might think that she was simply well liked if unproductive, but after she left for a different position the productivity of the team declined significantly. She turned out to have been so well respected because while she didn't create a lot of code she had a knack for spotting problems early on (things that were never seen outside the team because they were fixed early) and coordinating decision making between different people and projects. After she left there was a brief surge in productivity, followed by a disastrous slog as development was mired in bugs and component rework because of poor communication of specifications. In the same team, much later, there was an analogous incident where a developer appeared to be one of the most productive developers on the team. He was well liked as well and often participated in team activities, etc. but there was a constant undertone of joking about how much difficulty and complexity the person introduced into the code base. When I stepped in and did a thorough code review and looked at his parts of the project I realized all the joking had been really telling of a very real problem. The code was nightmarish. After that person was moved away from development and back into devops the productivity of the team had a short slump as everyone worked to refactor or replace his parts of the project, and then eventually ended up being much higher even with one less person.
None of the anecdotes are really new to anyone whose done development before, we know about net-negative producing programmers and people who catalyze work more than actually doing it themselves. I really just bring it up as a reminder of why it's so hard to have any objective measure, but also looking at how the other team members react to a person is very telling.
Personally, I only tackle problems where I know I can keep the team small and in constant contact. We work remotely, and prefer Haskell, both of which self-select for people who are capable of managing themselves and working in such a setup. But it wouldn't scale to Google or Facebook scale, I don't think. Maybe Whatsapp.
I don't think that actually _is_ the main reason why MS had(ve) so many problems.
In the end, people have minds and brains, and they know (at every layer) that the system is bullshit.
Whatever is written on you performance review, your manager will know what he will need to write (or advise you to write) to get you a promotion, if he thinks you deserve one. And the same apply for the manager of your manager, etc.
Don't forget that in places like MS (or other big corps), you cannot really climb the ladder faster that the others. Everything is more or less ruled by your years of experience, etc. At most, good performance reviews will help you get promoted a tiny bit earlier.
This clearly discourages very talented developers. Let me clarify this.
At most companies I've worked, there are always some minority of really bad developers, a majority of OK or good developers, and a minority of really talented one.
Very roughly that would look like:
- 10% bad
- 80% OK/good
- 10% very talented
The bad developers usually are there since a while (say 5/10 years). They learned to stick to _their_ little tiny project and don't do much aside from it. They just do the bare minimum so that they don't get fired and that's why they are here years later.
At MS things were really different. There were no bad developers..., and no very talented developers. It was, like, 100% of good/ok developers.
Because MS is not driven by technology. MS is driven by business.
1. MS thinks every developer is replaceable by any other one, given some warmup time.
2. MS thinks the technology is not important, only the final product/feature is.
3. MS lives in a completely isolated bubble.
Now let me explain how these two points made MS fall this low. Of course this is my personal view, and I guess some won't agree.
1. MS doesn't value developers as individual contributors. MS values "teams", as a workforce. You will never be valued individually. You team will, or you project will, but not _you_. MS won't try to understand how you feel, what you think, or try to make you stay. It's just too big of a company to care at the developer level.
This means the turn over at MS is high, and the management is used to it.
2. This may be a personal view, but most of the time when I work somewhere, I don't give a shit about the business itself. You can build a rocket, a vacuum cleaner, or whatever, I don't care. I only care about the IT side of the project: are there interesting challenges? Do I like the stack? how old is the code base? etc.
At MS, a developer is expected to think exactly the contrary. You should have no interest in the technological stack, and only care about improving the product.
- most of the time you won't have the choice of the technological stack, this is demotivating
- you will have to use a stupid stack, because a somehow similar previous project used it and it worked (someone said so)
- you will never innovate technologically, that's of 0 business value.
3. Now this is a really funny one. At MS, management lives in an other version of internet. They read only MS friendly & specialized websites, newspapers, etc.
This is absolutely insane. Guys are absolutely sure that the whole internet is super focused on what they do, deeply care of every single thing that they say, etc. They will send mails like "look at the awesome article that is on the front page of TECHCRUNCH! the whole internet talks about us", and link you to non technical, pure BS article written by a guy paid by MS to write it.
Funny sidenote: When I relocated to an other country with MS, I had a girl from a local travel company show me the country. She was a contractor, and explained me that she had a training specially for MS employees, where they would teach her not to send mails through gmail, not to send maps using google maps, not to show her iphone, when talking with MS employees. The management of MS lives in its own bubble, they are 100% sure that bing is used by everyone, they are 100% that the new Skype is awesome, they are 100% that windows server rocks and all modern websites use IIS.
As you said, it was all about the final deliverables to the customer. All about the product. Our situation was more complicated, though, given our customers. The US federal government customers exert significant, and IMO technologically unjustified, control over development programs. "Customer satisfaction" often meant doing things in a way that we knew made no sense, but where the customer refused to listen to reason and insisted that they knew best.
What sucks is that I love the domains that Raytheon, MS, and similar companies operate in. Something about those domains drives all the companies in them to be like this, though. It's really frustrating.
Look at what they have done previously. If you hire a coder: Look at the quality of their code and the problems they have solved.
Then figure out exactly what they will do in your company. And make an agreement what that might be worth, considering the quality of their previously work.
For me it takes less then five minutes of reading someone's code for me to decide if I want to hire them or not. I also already know what I need and what that will be worth.
You can repeat this every year or six month because of the constantly changing requirements of what needs to be done. And then it will be even easier, as you have access of everything the employee has done.
To keep them:
Constantly give them attention when they do something good, like solving a problem, suitable for their skill level and competence. Remember that you can praise different ppl for different things. You will get away praising junior developers for doing things at their level while at the same time praising senior developers for solving serious hard problems.
Remember that praising, celebrating and thanking people do not cost any money!!
Some people just want to come to work and do exactly what they have done the last ten years, while others get bored if they do not face any challenges. The later category will need management, but they will also be valuable as they will be able to adapt to changes and advance your company.
For those that want to, let them go to conferences and learn new stuff. The stuff they learn will add value to your company.
Identify every individual's skill and good traits, then take advantage of them!
Never, ever fire anyone unless there is a very serious problem, like stealing or fist fighting.
Do not allow ass kissing, bullying or politics in general. Encourage a professional attitude, but keep in mind that "everything is personal", so try to be fair.
It's only when people feel safe and at ease they can go outside their comfort zones and achieve great things!
Maybe you can use the disruptive energy to your advantage!? If there are bad influences, maybe you can turn it into good influences.
There's an exception though, if you are dealing with a true sociopath or psychopath, you need to get rid of them asap. You will know you are dealing with such a person if they constantly "destroy" people despite you've told them that it's not acceptable.
Of course that's a little unfair. Maybe doing this stuff well means that employees are less likely to find themselves with nothing important to do, or something. Still, it seems like it's focusing on the wrong things.
If you want to keep good employees, surely you actually want to do things like these: Give them interesting work to do. Give them work that has actual value for the world. Pay them well. Make sure they have good tools. Give them a sense of responsibility for the company's success (which means (1) shares or options and (2) as much clarity as possible about how their work relates to the company's higher-level goals). Make sure there are opportunities for progress.
If tinkering with performance-management makes a big difference, I think that can only be because either before or after the tinkering it was catastrophically broken.
Casting what you're saying in the same terms, "no stack ranking" is essential to head off worker dissatisfaction but it doesn't necessarily make Adobe a good place to work.
I know it's about the larger trend, but I couldn't help grinning.
I don't want to be overly negative but COME ON. Changing their goals program didn't nearly triple their stock price. I'm surprised Fortune included that at the end. If it truly had that much of an impact that should be the title of the article.
If what they're doing is true I think this is one of the more innovative talent management strategies out there. I hope this leads to more honest conversations and less politics due to doing whatever it takes to make sure you come out on the top end of a distribution.
As a consultant I've had many projects where we came in to fix a process where we were really fighting their performance management and incentives system.
The only review system I kinda liked was Symbian's. I have no idea if it was a mainstream idea, but they assigned you a level based on how you and your boss perceived a third party would describe your influence.
Edit to add: this is an excellent old article I was reminded of and recommend: http://www.fastcompany.com/53319/why-we-hate-hr
This gives greater freedom to lay people off, in the sense that there is no documentary basis for a lawsuit of wrongful termination.
In an at-will state like California, you can be laid off for any business reason, such as "the work in this area is closing up."
So, justifying a layoff (to the satisfaction of a court) is not a major constraint.
But if there is documentation stating that the employee's work is great, that future opportunities abound, etc., then that justification begins to look suspect.
On the other hand, in the absence of documentation, the at-will rules give great freedom to the employer.
I don't want to seem like a conspiracy theorist. There was probably no one over-riding reason for ditching the written report. But I think the above was a big factor.
1) Find and retain key people
2) Make improvements in the culture and the people that work there over time
3) Have some kind of system that allows you to let people go when sales go downhill. (And sales will go downhill at some point. Bringing a group of managers into your office and telling them to get rid of 20% of the workforce within the next 4 weeks -- without the affected employes having any indication at all that they are at the bottom of the list -- makes a bad situation even worse)
I think perhaps it's best to separate these goals instead of trying to do it all at once. You don't necessarily want to find people that look like the ones you have. Improvements in people, culture, and environment is something that should always be done with a focus on how the employees personal goals (which should be part of this conversation) fit into the larger enterprise goals, not the other way around. And as long as employees are getting to work in various teams over the course of the year, having each team force-rank folks according to whether they would keep them on their team if the budget was cut in half seems reasonable, because that's just what might happen. Notice that managers do not appear on the vote-them-off-the-island system.
It's a very tough situation and there are no easy answers. I think identifying the various parts and how they might conflict with each other is the first step in moving to the next local optimization.
Many years ago, I worked with a client once that was very small, like <50 people, but was staffed with people who used to hold very senior positions in large companies.
We had some really kick-ass guys, don't get me wrong, but overall the entire thing was a cluster fuck. Why? Because succeeding in a selfless way in a small team and succeeding in an ambitious way in a large organization are diametrically-opposed things.
These guys could talk a good game about how things were supposed to be -- they had taken all the leadership courses and been coached and mentored like hell. They were self-starters and highly-motivated overachievers. There's no doubt in my mind that giving them a clear objectives and sufficient resources would result in the objectives being met. But getting a clear idea of organizational strategy communicated from point A to point B in this place was impossible.
People hold on to knowledge in a large organization. Knowledge is power. It was not unusual -- and remember this was an extremely small org -- to be part of a meeting with 4 or 5 folks where everybody in the room had a different idea of what the endgame was. The CEO told different people different things. Mid-level managers were encouraged to compete with one another. I told my wife that it was the first place I had worked where each person I met had a secret strategy for "once the board gets rid of all those other yahoos, I'll be the one left standing"
Sharing a vision/strategy and living your values is something that cannot be overstated. In fact, executives have to over-communicate and demonstrate it almost as melodrama in order for the rank-and-file to really grok it.
Now let's see how they deal with deadwood in a few years... I imagine there will be a pendulum.
Also, having regular checkins makes it a lot more obvious when someone isn't performing, which means the deadwood is more likely to be let go.
I realize this is overly optimistic, due to faults in the managers themselves. For example, kingdom builders will keep deadwood since it increases their headcount.
The yearly performance reviews at a previous job were a waste of time. I'd be interested to hear if anyone has had good experiences with them either as a manager or as an employee.
But it seems I'm in minority. He has a phd and is presented as the brains of the company. Due to historical chance he's also held important sounding titles. He acts friendly, too.
"marked increase in what Morris calls “involuntary, non-regrettable attrition, because team leaders are no longer putting off having tough conversations with people who aren’t cutting it"
> At an annual “rewards check-in,”...
It looks to me like this is old wine in a new bottle. Instead of calling it a bell curve you give it a new name. For a corporation to change a system like this where performance reviews are tied to fixed budgets is next to impossible.
Most feedback that I give my employees are during a lunch conversation or a code review. Trickle feedback works quite well. I'm against annual performance reviews too. Adjustments in compensation are not mapped to fixed goals for a year or 8 week reviews. Whoever gets more shit done in the interest of the company gets a pay hike when we can accommodate it. Simple.
Doesn't sound too dumb, but IMO you the real issue is that you can't get people to talk candidly unless you have some good man management. Sure, allowing people to talk more often is good, but what happens if they don't feel they can say what they want? It doesn't always seem like a good idea to blurt out your real feelings about work.
If I am a manager, and I care about those under me doing a good job (both to reflect well on me, and to continue to perform well), I will, of course, check in periodically. Ask how things are going, suggest areas that could use improving, and commending them for areas they're doing well in. The response to that would color how I recommend people for raises, and if someone didn't seem to respond ~at all~ to that, and was underperforming, would lead me to recommend their transfer to another team or being let go.
This is a system that actually works well, if you've got good and generous "lords" that want to keep their "vassals" happy and productive and generally use "do it yourself" as an opportunity to do away with bureaucracy, rather than make more. Whatever benefit Adobe is seeing from the change is probably because they managed to hire some really good managers (somehow), and are finally letting them loose to do their jobs.
Of course, a bad feudal lord is a lot worse than an impersonal rank-and-yank system. At least rank-and-yank is predictable enough to be gamed.
One small nitpick:
> a bad feudal lord is a lot worse than an impersonal rank-and-yank system. At least rank-and-yank is predictable enough to be gamed.
If you have a bad lord (eh, manager) and your company uses a rank-and-yank system, then it'll be your boss gaming it not you.
-Reviews- eh 'working' in general - only works well if you have a good well-meaning boss?
Instead of 1 on 1s, employees review a handful of their peers + their superiors. What do people think about this?
Your peers are not the best judges of your overall positive contributions to the company. Peer feedback can be important, as evidenced by some of the posts upstream, and I think it's good for a manager to get an overall feel for the team dynamic and if there's unanimous rumblings about one member that might need to be addressed. But ultimately your manager is the only person who's going to understand what positive contributions to the company that you're making, because your manager sees a bigger picture than your peers.
Reviewing a manager can be a good thing or it can be a double edged sword- truly anonymous reviews are pretty much impossible so it's inevitable that you're going to be tied to your review somehow. In a perfect world managers would be adults and you'd be able to have conversations about management styles and communication styles and both parties would come to have mutual respect and understanding, but in my 15 years in the working world this has only happened to me once so I don't hold my breath for it happening again.
Just looking at Lightroom (because I'm a customer), there appears to have been a lot of change over the years. Highly visible engineers and managers lost to do their own thing, Spotify and other companies.
The about screen lists engineers involved, that has changed dramatically as well. I don't know how engineering is set up at Adobe, but it certainly looks like they have outsourced quite a bit of that product.
It will probably take several years for Adobe to realise that their license rental scheme was a shot in the foot...
Or is the feature curve too steep.
What does that even mean?
I don't think they've closed a single office of the companies that they've bought over the years even if the product has since disappeared.
Another poster mentioned Fireworks. That was moved to India and eventually cancelled. Lots of Adobe products that aren't doing well get moved to India, accompanied by U.S. layoffs.
I'm not saying it's a "bad" company, but it's definitely not the case that they keep offices alive when products are doing poorly, just because of employee loyalty.
Other examples, macromedia became their san francisco offices, navisware or some other purchase became an office in north carolina....
They must eventually close some down though - they've bought a ton of companies in the last 10 years.