Print 13 comment(s) - last by c4xp.. on Mar 1 at 1:42 PM

Microsoft employees -- from interns to executives -- enjoy private offices (pictured: Microsoft VP Rajesh Jha).  (Source: Ina Fried/CNET)

The hardest part about working on the Windows source sounds like the challenge of integrating your piece of code into the massive code-base. Also challenging is testing the code in every possible OS-version and configuration.  (Source: Oli Scarff/Getty Images)
Microsoft apparently runs a pretty friendly office, if you believe its employees blog

Sure it may be a bit of propaganda, but Richard "foredecker" G. Russell's insider description [blog] of working conditions for Microsoft Windows team members offer some interesting insight.

In contrast with recent reports of competitor Apple, which cite incidents of employee interrogation, lack of privacy, and frequent visits from the "secrecy police", Microsoft sounds much more friendly and open (at least from a manager's perspective).  

According to Mr. Russell, almost everyone has their own office.  He describes:

Most people in Windows have a private office – with a door. Not just managers, not just developers – everyone. Even our intern has a private office. The only reason someone might share an office is because the building is crowded. Every so often we’ll move people around, one goal being to give everyone their own office, the other being to co-locate teams. I’m in one of our older buildings, but it is still in great shape. My building has slightly larger offices than newer buildings. Mine is 10×18, large enough for a good size desk, a eight foot white board, a comfy recliner, and a meeting table and chairs.

Systems undergo frequent upgrades with the average cycle lasting two years (pretty cutting edge in the IT world).  According to Mr. Russell, the average Windows team member's coding computer is (at least) "a quad core 64-bit system with 8 gigs of memory, fast hard drives, a gaming quality graphics adapter, and (two to four) large monitors."

He adds that managers and some engineers all have laptops too -- mostly Lenovo ThinkPads.

Developers frequently have two or three extra systems for testing purposes.  But the real meat of the team's work goes on in a lab with "a high fidelity KVM system" (KVM=Keyboard, Video, Mouse Switch system), with over 300 test clients.

His average day is pretty typical fare for anyone who's worked in the software industry -- writing code, compiling code, and unit testing.

Developers are free to edit their code in their editor of choice (not everyone uses Microsoft's Visual Studio) and can build/debug it either in the terminal or in using Visual Studio.

He states that the company isn't very strict when it comes to adhering to coding conventions.  He describes:

You may be amazed, or even find this heretical, but there is no common mandated coding style at Microsoft. There isn’t even one in Windows. Teams are free to code in their own style. By style here I mean typographic style – where curly braces go, tab indent size, where spaces go, comment format: things that have no semantic impact. There is no draconian common coding style mindlessly forced on everyone.

Certain teams, like the kernel and shell teams do adhere to a common coding standard, though, he acknowledges.  And some coding modifiers -- e.g. SAL annotations are non-negotiable.  For the most part, though style decisions are made on a per-team basis.  For Mr. Russell's team he allows his developers to pick their own styles for their projects.

He comments:

I’m sure some people will think this is awful. Some people find value in forcing people to code in exactly the same typographic style. Some organizations are maniacal about this. Usually, the people most vociferous about enforcing a common coding style want people to code their way. They don’t want to follow a standard, they want other people to follow theirs. I personally find this a massive bureaucratic distraction – it adds little value and goes a long way to really annoying developers.

Developers have access to the majority of the Windows source, with the exception of security and cryptography related items.  Reported non-security Windows bugs are in there in all their horror.

And each team decides its own code-review rules.  Most teams, like Mr. Russell's, use fully-automated systems that email code to reviewers to speed up the process.

Mr. Russell provides many other details about how the Windows team manages the highly branched Windows tree.  Building Windows code is a challenge, he says, as you have to make sure it runs properly on all forms of Windows (32-bit, 64-bit, etc.) and in a variety of environments.

He writes, "Windows is a colossal software product – it’s a gazillion lines of code. We manage all this code with a very sophisticated source code control system called source depot (or just SD)."

He concludes:

This all sounds great, but everthign (sic) isn’t unicorns and ponies every day: There are problems to be sure – somtimes (sic) the bug data base is slow, or source depot is down for maintenance, or a build is trash. But by and large these kind of problems are very much the exceptoin (sic) rather than the rule.

The day to day coding life of a Windows developer is work to be sure, but coding, testing, check-in and getting changes up to WinMAIN is pretty painless. There is a lot of automaton to help developers. The Windows engineering systems realy do run extrmely well and problems are rare. There are very few synchronous requirements and very little bureaucratic overhea (sic) imposed by the Windows organzation (sic).

Comments     Threshold

This article is over a month old, voting and posting comments is disabled

RE: cubes are better...
By JasonMick on 2/28/2011 3:09:44 PM , Rating: 3
MS does have a nice setup (free beverages and plenty of nice lunch options, stupid cheap software), but having worked at ISVs for the past 20 years with roughly 10 years in both offices and cubes, I prefer cubes. There just seems to be so much more collaboration and actual work getting done, rather than "hiding" in an office.

While I didn't work @ as many firms as you, certainly, I did have several years working in the software industry before writing for DT and I have to disagree with your assessment.

Cubicles tend to be noisy and disruptive. By contrast when I had my own office I was much more productive.

I would say if you are "hiding" in your office all the time, rather than working/collaborating, the problem is with you, not your employer/workplace.

RE: cubes are better...
By Taft12 on 2/28/2011 4:06:18 PM , Rating: 2
In addition, the grandparent claimed to have worked for ISV's for 20 years, but not specifically as a programmer (in fact it's probable he's NOT a programmer after 20 years). The very job that benefits most from the ability to block out the outside world for a few hours at a time.

RE: cubes are better...
By tlbj6142 on 2/28/2011 4:28:59 PM , Rating: 2
I wasn't the one hiding, I always left my door open. All too often it was co-workers in the same or other teams that I found had hiding issues. Cube noise never really bothers me, but having offices just made it harder to "find out" what is going on with other teams and maybe figure out that we could work together on something (or that overlap is occurring). Without this accidental knowledge transfer, I know quite a bit gets lost, as it is left to management to spoon feed you what they think you need to know from other teams (assuming they even know what is going on outside their world).

And, yes, I still do development after 20 years. Hopefully, I'll be doing it for 20 more.

RE: cubes are better...
By davmat787 on 2/28/2011 9:37:48 PM , Rating: 2
In my office I could set the temp (I preferred cooler), use whatever lighting I preferred, which was simply opening the blinds as I preferred natural. (can see flicker in fluorescents, always needed very high hertz CRT's back in the day). And I could listen to whatever radio, music, or tv/movie I wanted as well. More conducive to coding that any cubicle farm.

As for the interaction aspect, hallways, kitchens, conference rooms, alcoves, cafeterias worked great. Offices and cubicles are for working anyway.

Only worked in a cubicle for a summer before the office above, which is why MSFT rocks as a place to work.

RE: cubes are better...
By c4xp on 3/1/2011 1:42:51 PM , Rating: 2
I worked in both cubicles, offices and combinations and I can say with all my heart that the problem is not with the enviroment.
The main issues are with motivation and with the work ethics of the respective individual.
If you want to do nothing all day is probably that because you hate what you do, and want nothing to do with that job.
It's up to the team leader / project manager (depends on the setup) to see this, and guide you either to another task or another job ;)

"I'd be pissed too, but you didn't have to go all Minority Report on his ass!" -- Jon Stewart on police raiding Gizmodo editor Jason Chen's home

Copyright 2016 DailyTech LLC. - RSS Feed | Advertise | About Us | Ethics | FAQ | Terms, Conditions & Privacy Information | Kristopher Kubicki