Thursday, May 19, 2005

Still here... thinking about hiring people.

Why are things so slow here? Hmm, is it:

  1. I got canned (and brought some sense of ironic justice to this world), or
  2. I'm just plain lazy.

It's #2 (the usual safe bet), though tomorrow is another day for #1. Given the recent crappy Redmond weather I find myself with some spare time.

I got a bit flummoxed by the latest bug in Google's BlogSpot Mail2Blogger that no longer deals well with the way I post (ergo, the nice HTML decorated posting I haven't gotten around to cleaning up). So I said "to heck with that!" for a while. I've got enough gadgets giving me grief I don't want to try to debug Google's Blogger through a double-blind system.

So now I'm going to post by just sending missives directly from Outlook as an HTML message, which is going to look awful because you're not going to get your default reading font anymore and Word / Outlook are going to conspire together to gunk up the HTML with a bunch of style crap. Sorry. We're all just getting what we paid for here.

Okay, any interesting random things here... one comment asks:

I'm interested to find out, if I quit MS right before Sept 1st, say, mid Aug (suppose all ranking, reviewing is done by this time), will I still get my annual performance bonus?

I truly don't know. You should figure out a way to ask your HR generalist (that will be quite the challenge). But of course you have to look at the benefits of starting with a new company sooner vs. hanging around doing something you know you're leaving. I have a feeling, though, if you're not getting your paycheck the day the bonus gets deposited, you're not getting your bonus.

Lots of back and forth commenting in the Sugar Daddies Going Sour. Pretty good to scan through if you haven't already.

Redmond has said "Okay!" to Microsoft's expansion plan. (Slap to ample forehead.)

Okay. Let me play Devil's Advocate here and say, for a moment, that I was really behind Microsoft growing by 12,000 individuals and super-motivated to get those people hired over some kind of timeframe, while at the same time back-filling any attrition. Suppose I have an Excel graph projecting these hires and their assignments and all that good stuff. Just one thing:

Where's the genetic-research pharm where we are growing all of these incoming new hires? Because if you've been even tangentially involved in trying to hire a high-quality person, you've got to realize it's nearly impossible. What I'm seeing (this is dev focused):

  • High quality people don't want to work for Microsoft.
  • Low quality people are swelling our interview loops to the degree I'm really worried some of them are slopping up on deck and joining the crew.
  • The good quality people we do give offers to get hired elsewhere for much better pay (just pay, not benefits - I don't think anyone on this green earth can do much better than Microsoft's benefits).
  • Some colleges produce graduates who don't know what a pointer is let alone how to use one.
  • H1B visas aren't going to be unfettered anytime soon.

Anyway. If you want to bulldoze over the athletic field and plop some new mega-building monstrosity there, you'd better at least start addressing some of those points above if you want to occupy it with anything more than clumping mouth-breathers.

What else, what else... that Microsophist appeared and got all sorts of online recognition! And then *poof* no more posts. Well, who am I to throw black rocks. One thing that impressed me, though, is that folks out there are interested in hearing what Microsofties think about the company and what's going right and what's going wrong.

Okay, enough for now. I do have notes about other topics, it's just a matter of avoiding getting whacked by the lazy stick so much..



Anonymous said...

I had a colleague who did exactly what you mentioned above...quit after the review period was over, but during the interminable wait for the scores to be announced, and he did recieve his bonus.

(does anyone know why the review process takes 3 months instead of 3 weeks -- other than to give managers and HR something to do?)

Anonymous said...

This comment is the best:

Some colleges produce graduates who don't know what a pointer is let alone how to use one.

Being involved at a number of reviews at MS, I actually overheard a conversation with a dev describing how static functions in C++ work (on a memory level, not the high-level concept) vs methods on an object (with a v-table and whatnot).  It was really quite sad...

Anonymous said...

I was just hired, with 6+ years prior experience in the industry. MS has been my dream for several years, almost an obsession in the end... I was pretty apprehensive and intimidated by the brain-sucking interview process. I spent a couple of months brushing up on my main claimed skills, reading advanced C++ books, doing an involved hobby project based on the latest .NET coolness, reviewing quite a bit of calculus and discrete math... I was really getting prepared for the ultimate test of my life yet.

I had some trouble and hesitation during the very first phone screen. (These "HR" questions somehow got me unprepared.) But after that it was getting only easier and easier. The 'technical screen' was a series of Windows trivia plus a little bit of stock "advanced" C++ questions. And to code a trivial string function and a tree traversal in 45 min. This actually took me a little longer, but the main effort was mainly to get my fingers to work under the extraordinary stress, not really to figure out the solutions.

I somehow managed to calm myself down for the live interviews day and start it with a very positive attitude and upbeat feeling. Relatively speaking, the first interview was the toughest. I did falter more seriously on a couple of occasions. But, overall, all the questions and problems I was getting during the day were unbelievably simple and standard, almost suspiciously and disturbingly so. I thought to myself: maybe they purposefully dumbed things down for me after the first interview in order not to make me feel bad. (They were all really nice folks.) Most of the coding problems were as if taken straight from a beginner-to-intermediate C programming book. The few design problems were pretty high-level, open-ended, and pretty straightforward once you realize there’s hardly a wrong solution.

Throughout the six live interviews, not a single Windows-specific question (and I know no other OS), not a single C++/OOP question, and only one "trick" question, but with a generous hint. And since the very first phone screen, not a single logic question! Phew. The questions that made me think and sweat most were of the general, non-technical kind like "describe a hard problem from your experience and how you handled it", "if you could do one thing from your past career differently, what would it be?" and such.

Yes, I do have a Computer Science degree, good self-confidence and enough years in the trenches to back it, but I'm not a wiz, maybe just enough "above average" to be noticed. Shortly after the rush of euphoria from the offer, I had a bout of disillusionment and doubt: Has the bar been lowered too much? Is the super-selective and ego-crushing hiring process just a myth now? If it’s so easy to get in, what kind of people am I really going to run into and have to work with? What’s left of the coveted elitist club? I’m sure it’s still full of very smart people, and those I met were definitely not lacking in enthusiasm, but if the hiring standards are so low and now given this forced expansion (12,000 new people?!), I’m getting worried about the inevitable infusion of mediocrity and the future of my beloved Microsoft. I guess there ought to be some virtue in the “lean, mean” idea…

Anonymous said...


You should really be asking yourself what asking stupid, generic trick questions that can be answered in 45 minutes has to do with developing products in large groups over multi-year timeframes ( ok, mult-month if you were at google ).

I recently had a MSoftie tell me that MS knew how to ship software right after his group had slipped schedule 3 months and reduced scope. Since he meant well, and the fault is the failed MS development process and not individuals - I let him live. Not a good thing to say to a customer...

From an outsiders view, the fossilized development process combinines the worst of all worlds - not agile enough to deliver maximum customer value, too rigid to deliver on schedule.

Anonymous said...

"From an outsiders view, the fossilized development process combinines the worst of all worlds - not agile enough to deliver maximum customer value, too rigid to deliver on schedule."

Guess trying to sell that Microsoft Solutions Framework to customers these days must be a bit of an uphill battle then? :-)

Anonymous said...

"One thing that impressed me, though, is that folks out there are interested in hearing what Microsofties think about the company and what's going right and what's going wrong."

Hey, 93 years later folks are still interested in why the Titanic sunk too.

Anonymous said...

Classic MSF execution is dying and is trying to be revised to be more agile in execution.

It doesn't matter what methodology MS tries to use they need to clean up inter-group issues (e.g. defined owners for scenarios, customers or technology).

Why is Indigo trying to be TCP/IP ? :)

Anonymous said...

I'm glad you mentioned this. I'm more-or-less planning on jumping ship as soon as I get my bonus & vested stock for this year. Haven't started looking yet but I'm looking forward to it; I can't hire a qualified dev to save my life, which is good for yours truely. I don't have a family so I'll happily trade some $$$ and a snowball's chance of some upside for some benefits.

I'm trying to figure out a way to ask HR about this without incriminating myself. The question is basically "on what date do I need to be employed to get my bonus"? My suspicion is that it's exactly one day after the model is finalized, which should be mid-August I figure. But I've been planning on keeping quiet at least until after Sept 1 just to be safe. It's a healthy chunk of change.

Oh, reviews take 3 months because the org's have gotten way to deep. There is a pause at each step where the manager has to get his curve in line, and then you just multiply that by each level and there you have it. Then add the HR "slice-dice-and-smooth-the-curve-so-we-don't-get-sued" process.

I noticed the "I'm getting a good deal here at MS" numbers in the MSPoll are down around 5% this year from last (not sure what the longer trend/deviation is), but it makes me wonder if it's going to be another 2% merit budget. Hmmm, Magic 8-ball says "signs point to yes".

Anonymous said...

really a sad commentary that we have arrived at a place in our company that we worry about being incriminated by asking HR (much less your direct manager) something. This says a lot to me about conviction and courage -- if you don't like your job, change it. If you can't, ask your manager for help. If they can't help, find your mentor and explore ways to get a different job. Ask your VP (or any other), ask LisaB, do cool stuff on your own time and make it so compelling you can't be ignored. If you are unwilling to do all that -- if you are so pissed off that MS has grown too big for you, or that it is getting too hard, or you want a big risk/reward ratio -- then go for it and get out.

If it were easy, "work" would be called "recess." It IS hard to be a very successful company and continue to grow at the gaudy rates of the past (aren't exactly going to capture lots more market share in windows and office). Think about a way to grow the industry faster - with a killer app or form factor or service model or whatever that no one has thought of.

I have been in other big companies - MS is better than most. I have run a s/w startup -- be prepared to go hungry. I have consulted to many businesses - billion dollar opportunities aren't just lying around. MS has an advantage of LOADS OF CASH and, supposedly, some of the most driven, brilliant minds in the world of s/w. Do our execs have flaws? Absolutely. Do our processes get in the way? Probably a little. Do our support functions need to increase their business value as opposed to corporate tax? Sure. Does "integrated innovation" and big teams make shipping hard? Yep. Could our culture here shoot down the cure for cancer? You betcha. But at the end of the day, a responsibility for you (on top of your job) is finding ways to advance the world of computing for customers in such a mindblowing way that shareholders (like you and I) reap industry-numbing returns. Per Mini's overall post, this company IS too bloated, somewhat by mid-manages and execs, but some by those who just adopt the attitude of "it sucks and I can't fix it."

Other well known companies over-use a phrase "get on the train or get on the tracks" -- I really believe the challenge here is "get on the train, or go invent a way to fly."

For the record, I think September 7th is the "safe day" for your bonus - enjoy your time elsewhere.

Sorry -- need to switch to decaf I guess....

Anonymous said...

Have you heard - poll nums are out and it is not pretty! Compensation is a killer. Now if they actually do anything about it besides watch quality people leave the company...

Anonymous said...

I'm a complete outsider as far as MS is concerned, but I've been following this blog for a month, and it's kind of sad to see obviously smart and dedicated people being put through the mulcher like this.

The good news for those looking to go elsewhere is that we are entering the upswing of the infrastructure investment cycle and technically capable people will find jobs.

If you are looking to do something different and get out of the MS world of software development I'd suggest picking up python and getting familiar with FreeBSD (at least enough to be productive on the shell) as at least a couple of new entrants will be using those as core elements of their tool stack.

Anonymous said...

"But at the end of the day, a responsibility for you (on top of your job) is finding ways to advance the world of computing for customers in such a mindblowing way that shareholders (like you and I) reap industry-numbing returns"

So based on results (or lack thereof) we can safely conclude that employees as a whole are failing in that responsibility? Hmmm...let's see now. Odds that 54000 people are poor performers, not so high. Odds that a handful of mgrs at the top are incapable of successfully leading 54000 people, quite good indeed.

Anonymous said...

"Odds that a handful of mgrs at the top are incapable of successfully leading 54000 people, quite good indeed."


Screw my bonus. I have waited too long already, I'm leaving now and let the chips fall where they may. If management honors the bonus, kudos; if not, at least I will have my dignity and sanity still.

Anonymous said...

I've worked at MSFT twice, once for about 6 years, and then two years later I came back for another year stint. I can tell you that I've never been happier since leaving.

MSFT is increasingly treating their employees like crap while simultaneously expecting the 70 work weeks they always have. Most of the smartest people I've worked with have left and the rest of them can't wait for the right opportunity to get out the door.

As far as recruiting goes, I'll never go back again if I can avoid it and I tell anyone who asks me about working there that.

You want to know why high quality devs don't want to work at MSFT? It is because many high quality devs have left and are letting the rest of the industry know what a crummy place it is to be.

j said...

If you're still at the 'soft today, you'll get *a* bonus, regardless of your employment status on Sep 15. The cutoff is Juy 1 - as long as you're here as an FTE on that date, you'll be in the bonus pool.

Your review will very likely come out at a 3.0, though, for obvious reasons.

I've already asked HR, since Friday is my last day.

Anonymous said...

Warning: This may sound extremely negative to some people. But it is just the raw bare truth.

Microsoft Corp in Redmond can be a very toxic place to work. When I was recruited up to Redmond 5 years ago into a training organization, I was so excited! I naively visualized a dynamic, creative, and curious team of brilliant people – afterall, this was Microsoft! What a silly dream that turned out to be – in fact it was a total nightmare from day one! I found that most people on my team knew nothing (nor cared) about instructional design or web-based training (which we were charted to begin creating, and which is why they recruited me to their group) but because of the overly competitive environment, they spent most of their time trying to convince people that they were adding value and kissing the managements' behinds. The group I joined was formed from a bunch of former stand up trainers who knew nothing about educational theories, instructional design or eLearning. Management actually thought this was a reasonable transition for these folks rather than RIFing them because management was also uneducated and unskilled in this area.

Even with all these obstacles, I was a very strong performer with a 3.75 average (which can be a bigger challenge than you’d think when you’re relying on an ignorant manager to understand your job). Then our group merged with a group of sales drop-outs turned “readiness” managers who had much bigger egos than brains. They were skilled to a fault at convincing management to give them large budgets that they wasted on over priced vendors. Because they were totally uneducated and experienced in instructional design, they couldn’t manage their vendors or communicate their requirements. But, they were absolute pros at navigating the political landscape, which was the name of the game. But people such as me who truly love what they do (instructional design and online training) and are damn good at it are lost and/or highly frustrated in this type of environment – and now most of us have left or are leaving.

This lack of quality within Microsoft is what perpetuates the mediocrity that has become prevalent (there are many variations on this theme throughout the company). And it is this frustration that is continuing to push the quality people out – to the competitors (which includes just about every other tech company!). This will ultimately make Microsoft a weaker company over time since the company is nothing without quality people.

Anonymous said...

Ok, this one is hilarious. I used to work for Microsoft as a FTE. I was a 4.0 throughout my career at MSFT with getting level hikes in a time as short as 8 months. I decided to go back to school for higher studies despite that. I did well at school - have a perfect GPA 4.0 and now that it is graduation time, I appeared for interviews and MSFT was one of my first companies that I decided to interview with. If you are not familiar MSFT goes around distributing an application form at all universities asking candidates to fill out a form that asks for his/her preferences in terms of team and positions. Naturally, given that I was a dev before I had a strong affinity towards being a dev. So I marked dev and PM(which was 2nd preference). Personally, I didn't want to be a SDET (Nothing against SDETs but just a personal choice) so I did not rank it. It turned out that the interviewer was SDET and he was absolutely annoyed by me not having given it a rank. He first started the 45 min interview 15 min late and when he saw that I had not ranked the SDET position he asked me why so, to which I politely explained saying, I thought I fitted better in the other two positions given my past experience. He gave me a trivial linked list related problem to implement. I coded it correctly. From what I know there were no bugs in the code and I walked him through it and also explained my assumptions and special cases that I coded it up for. He did not discuss that further and took my answer sheet. Then, again he went back to my application sheet and asked me why I had left the SDET position unranked. I again politely said that I would not want to join MSFT if I were offered an SDET position and that I was looking for either PM or SDE position. I told him that I wanted to be very honest and clear about it. I also gave him instances of when I was an interviewer with MSFT how there were some candidates who would tell you they did not mind a test role and eventually after going through the entire process would then tell you that they would join only if offered dev. I told him that something like that was a total waste of time and I wished neither MSFT nor me to go through something like that especially given that my objectives were very clear. I was outright honest towards him. Naturally, the truth was bitter and he called me "Arrogant". Now - doesn't the interviewer training session teach interviewers not to call interviewees names? I politely tried to explain to him that I was sorry if I sounded arrogant but I just wanted to be honest before we went ahead with it. He ignored me and then asked me if I had any questions and then told me that he was out of time and asked me to leave.

Earlier, I have heard of stories of candidates "cribbing" to me saying they did not get a long enough/serious interview with MSFT and were disappointed that MSFT was rejecting people after asking simple linked list reversal questions. I just used to think that those candidates were creating excuses for their incompetency. I just now know how wrong I have been and how 'arrogant' some Microsoft interviewers can be towards candidates who believe in honesty as opposed to flattery.

I am pretty sure I wont be called for the next rounds but at least if some of you who interview take pity and not deal with any candidate like this I will be happy.