Microsoft's Treatment of Google Defectors
Miguel de Icaza (Note, this Miguel is not the Ximian developer, just someone whose small life is fulfilled by trolling under someone else's name) writes "Here is a story revealing just how threatened Microsoft is by Google. While senior partners can expect the full chair experience, some lowly staffers who are putting in their notice are being escorted off campus immediately. Why? Because they've put in their notice to join Google. In Microsoft's eyes, Google is Enemy No. 1. Anyone leaving Redmond for the search leader is a threat. Not because they'll scurry around collecting company secrets — as if Google's interested in Microsoft's '90s-era technologies. Departing employees, however, might tell other 'Softies how much better Google is. If an employee is leaving for Amazon.com or another second-tier employer which doesn't make Microsoft so paranoid, they'll probably serve out the traditional two weeks of unproductive wrapping up. So if you're planning on leaving Microsoft for Google, pack up your belongings and say goodbye to friends ahead of time. There'll be no cake and two weeks of paid slacking for you."
I have never worked for Microsoft and to be honest, I'd probably never want to. I think the key problem for Microsoft is that nothing they do is exciting anymore.
I think Vista has really damaged Microsoft. Not in terms of revenue, since a sale of Windows XP is still a sale for Microsoft. No, the damage is in morale. Vista was an absolute disaster for morale. They worked for a couple of years only to ditch it and start again from the Windows 2003 Server source-code. Nothing they put in to Vista was in anyway something you can get developers energised about. Every feature had nightmarish committees which destroyed any hope of motivation. They even developed anti-features like SecurePath that nobody cares about.
I read somewhere that Microsoft developers write something like 1,000 lines of code a year. Last-year, I contributed around forty times that to our source control at work. When you're paid so much to do so little - that has to destroy morale too. Most developers I know like to work.
Vista is a symptom of a much deeper problem. Microsoft doesn't know how to be sexy. it doesn't now how to to be secure and it doesn't know how to please it's users. Worst of all, it doesn't know how to make it's huge base of developers happy!
All of this makes Google a very attractive place. If all your talent walks right of your door, it isn't too long until there is no way whatsoever to fix any of the problems I've just mentioned.
Put more succinctly, Microsoft sucks and Google rocks.
Simon.
Actually, getting escorted out the door gets you two weeks of paid slacking at home! I would consider it an insult if I weren't important enough to be shown the door in a paranoid fury.
Its not SOP. I've been through many companies, not a single one treated me or other employees this way. If someone wants to damage the company, why would they give you a chance to throw you out? They'll just do it before they put in their notice. Respect your employees and they'll treat you in kind.
How does it benefit Microsoft?
What makes you think it was a rational decision? Not all business decisions are rational. Far too often they are driven by a desire to control, frighten the employees and/or stroke the egos of managers.
putting the 'B' in LGBTQ+
Giving notice is a courtesy to the company and it must be earned.
>>If you're leaving these days it's not uncommon to get escorted to the door...
Then, if this is standard practice at your company, do not provide notice. Just quit, walk out, and never look back.
Clean out your office over the preceeding week, then simply say to your manager on the last hour of your last day "I quit, effective immediately. I'm not coming back tomorrow, and I did not give notice because of the poor way this company responds to those who resign (e.g. "perp walk"). Goodbye and good luck." Or just send them an email over the weekend. It might sound harsh but if they truly respond this poorly to resignations, you have nothing to lose anyway.
The funny part is, I'll bet the clueless executives have had at least one profanely expensive "retreat" this year where they listened to expensive consultants's opinions on boosting employee morale and/or commitment.
But the story is that MS is not doing this for security, they're doing it to prevent 'defectors' taking others with them. I really can't even begin to get inside the thought process of whoever had this idea - who seriously thinks "Hmm, good employees are leaving because they think another company is a more pleasant place to work, we'd better make sure the secret doesn't get out" rather than "Hmm, good employees are leaving because they think another company is a more pleasant place to work, we'd better see if we can find out what we're doing wrong and perhaps work on fixing it".
I agree, it is very common. I think most HR consultants advise companies in competitive industries to escort fired or quitting employees to the door immediately, giving them no chance to do any damage. The thing is, I still think it's wrong. It's a unilateral violation of the trust contract between employees and the employer. Employees are trusted with the most sensitive information and assets of the company while they are working there, and it would be easy to abuse that trust. Any employee who is planning to leave, or who getting the vibe that they could be laid off, could be stocking up on sensitive info or doing other damage if they wanted. What stops them? Nothing but mutual trust and the value of personal reputation. When the employer violates that trust contract by treating the employee badly and showing that they have no trust, that is being communicated not only to the mistreated employee, but to everyone else who still works there. Only future badness can result. As an emmployer, I'd rather demonstrate trust in my employees and take the chance of an occasional hit from a bad one.
So Microsoft is now treating employees the same way they treat customers?
So you really don't want to leave them alone with their PC or phone.
Reduce, reuse, cycle
Just counting lines of code can be highly misleading:
1. IIRC that was a flawed metric anyway. That was final number of lines of code, divided by developpers, divided by time. It just isn't the same as what you seem to think it means. E.g., lines of code changed or refactored or whatever, would not be counted in that number.
Judged by that kind of a flawed metric, my contribution to some projects would actually be a negative number of lines of code per time unit. E.g., each time I moved someone's copy-and-paste code to its own method and replaced it with a call... well, let's say it was in 3 places, 20 lines of code, replaced with a method and a call each. That's minus thirty-something lines of code in a quarter of an hour by that metric. Am I the worst programmer ever, or what?
I'm sure CVS counts them for yours, though. So you're not comparing the same number.
Now I'm not saying that that alone accounts for that kind of a difference, but it's a start.
2. Just writing code is easy. It's debugging it that takes a lot of time. So the limiting thing is really how well you want that code to work. Going from, say, 90% caught bugs to 95% can easily double your development time on the whole... and thus halve your average lines per year.
Yes, I know, it's MS, but they still have a policy to not ship with known bugs. (Though obviously the unknown ones are more than enough in their own right.) So they'd inherently have less lines of code per year, compared to, say, Google which is officially a perpetual beta.
3. Lines of code / time doesn't scale linearly as the program complexity and team size grow. In other words, you can't just add man-months.
I thought I was so smart too in college, when I could write a program or module of several hundred lines of code in a day. But then that was the whole program, that was the whole complexity, and I was the whole team. That's the easy scenario.
Now move to something the size of Vista and it's just not the same thing any more. Now you suddenly have to deal with stuff like how your code works together with Tom, Dick and Harry's, what they want from your code, and what you need from theirs. There's a lot of overhead just to synchronize it all, document it all, learn other people's APIs, and deal with the increasing level of mis-understanding each other's interfaces.
Now I'm not saying that MS is necessarily the paragon of efficient coding anyway, but I am saying that a lot of people waving that number around... just aren't qualified to make that judgment. They've never actually worked on something that size, and that total team size. I've seen teams hit a wall and get bogged by the fact that each time one guy changes something, it broke some other guy's code, long before being anywhere near the size of MS or of Vista.
4. Well, I also don't like that metric because I've seen people actually abuse it. Not all lines of code are born the same.
E.g., my good coleague Wally would have topped that metric easily, because the guy just copied and pasted everything in sight to make it look like he's doing something. Not only he had whole open source projects pasted into his code tree, but also such surrealistic stuff as: a Swing (standalone GUI framework) file chooser dialog hidden deep in the source code of one of his EJBs (server-side thing.) That thing didn't serve any purpose. It was just there to inflate the number of lines of code he supposedly produced.
Replacing that monstrosity with something smaller and simpler, not only cut down the size (hence, less average lines of code per year for the team, ya know), but also made it run around 40 times faster.
You can also inflate the number of lines of code arbitrarily by just liberally mis-applying patterns. Just have everything get packed in a decorator, made by a factory, which is a singleton, register it with a manager, etc, etc, etc. The number of lines of overhead can be grown arbitrarily, without actually adding any functionality. And past a size wit
A polar bear is a cartesian bear after a coordinate transform.
Maybe you referred to her as a "girl?"
Said like a lousy manager, or one who doesn't appreciate what people actually do, or somebody who never worked in a large enough organization to appreciate the true cost of attrition, or I don't know what...
Excepting the departures of Truly Useless People, those last two weeks are somebody's last chance to find out that which you don't know about that which you are about to inherit. I am so sick of watching stupid managers and stupid successors squander that invaluable last chance because they act like scorned girlfriends or just don't understand the true value of even people who would leave, and the undocumented knowledge they carry in their heads.
I've never met a leaving person who wouldn't be helpful in his own succession. Most, in fact, are incredulous as to how little anybody seems to care about the invaluable knowledge they are walking away with, and how much more difficult their successor's lives will be for the ignorance.
Shape up, managers and everybody else. Those defectors leaving your ranks should be more valuable to you in those last two weeks than in any other two weeks of their employ.
By escorting someone out, it could be an intentional signal to the other employees that you take this rivalry seriously. Or by letting them work the two weeks, it could be a signal that you are employee-friendly and there are no hard feelings. But the main concern really needs to be about how the remaining employees feel. There should be little concern about how the departing employee feels - except that it's often not a good idea to make enemies.