My first day.

Okay, so lets get this ball rolling.

Since I said I'd talk a little bit about what life is like as a test developer at Microsoft, it's high time I started. So, to kick this off, I'm going to talk about my first day as a SDET (Software Development Engineer in Test).

Now, it should be fair to say that this was not my first day at Microsoft. We have a little over a day and a half of orientation. It's a big place, with lots of administrivia that goes with working at any large company, and they wanted us to feel good about this. Of course, orientation in no way told us about our actual roles, and for me, this just added to the mild state of panic that I'd been having (hey, I was at a new job, in a completely new country, it felt normal to be freaked out at the time), so my actual job learning started more or less, two days later.

Now, here at Microsoft, you start out with a Mentor. This is basically someone from your team who's volunteered to put the new guy through his paces, show him basically everything that the people at the orientation had thought they'd told you, but you were too freaked out to take it in the first time around.

This is where I learned some interesting facts. I am the master of my own domain. I can run what I want (within reason), set my machine up how I want (within reason) and work at whatever time of the day I want, provided i'm around for meetings generally. Oh, and I can wear what I want, as long as it's not going to offend anyone. Some of our managers wander around with shorts on, and wearing thongs (the kind on your feet, if you're not familiar with aussie slang), even in winter.

But that said, this isn't really that specific to my first day. There's al ot of technology and processes involved in working on source code at ms, we do have a lot of our own, inhouse, tools, some awesome, some not so awesome. I have friends who advocate a change to bugzilla, and other friends who've seen enough bug tools that third parties use that they're genuinely in love with our own, and never want to change it.

And we need to learn it all. This is where the bomb shell hits. I'm told I'll probably need about 6 months to become genuinely productive with everything.... and now that I'm at the 6 month mark, I can easily agree.

To give you an idea of the kinds of tools we have available, I'm going to talk about a few of them (not specifics, of course, however, since most of them are inhouse, and confidential)

First, we've got source control. I used to think subversion was cool. Then I used our inhouse one. It's actually surprisingly awesome. It allows you to do the kinds of things you need to do when you've got multiple different projects all going at once, and you still need to test work for the developers you're working with, and it's nicely coupled with check-in systems that make a tester swoon with delight ("You mean, if someone checks something in that breaks a check in test, it's his problem, not mine?!"). I suspect that Git might get closer to being better, but the automatic testing systems that we've got here don't seem to exist with that without extra effort outside, although I hadn't poked at it too much, admittedly.

Next, we've got bug tracking. This is fairly standard, but it's also not the horror I've heard about in other companies. Keeps bug history for every field though, which is awesome, and has some nice programming APIs (which is essential for reporting, let's face it)

Test case management: My bread and butter. Keeps track of every execution of every test, and even lets you run them on your own equipment. Essential.

Now these are more or less standard ideas, and I'm not trying to say that ms has the best ever, or whatever, there's certainly some things that are done better elsewhere, but let's get back on track with the mentor.

The first thing you generally do, after talking with each other, is set down a plan about the best pace to learn all of this stuff. There's lots of training to be done, and no-one expects you to start checking in code immediately. If, by the end of the first week, you've checked out the product source code, and compiled it, and it runs, you're doing pretty well. (Of course, that's from about tuesday late-arvo onwards, and includes the process of building a system, with OS, dev tools, email, etc, and making sure it's secure (mostly automatic, it's usually just a case of sitting around watching the circle thing in vista spin)). And of course, you need to secure rights to the resources you need, but that's a largely automatic process.

But the thing that surprised me the most, is that it was generally considered okay that it would take me a fairly long time to be useful with stuff. They don't mind too much that you're new to C#, and you haven't done much work with MS's tools in the past, they just give you what you need to learn, and someone to call up if you get stuck and who will check in on you while waiting for stuff to build.

It's certainly not a cubicle farm, by any stretch of the imagination, and there's almost never a suit to be seen. I hear they're all over in the Bellevue campus, but no-one's ever been there and returned to tell the tale, so perhaps the rumours about neckties are just that...

Comments

Post new comment

The content of this field is kept private and will not be shown publicly.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Lines and paragraphs break automatically.

More information about formatting options

CAPTCHA
This question is used to make sure you are a human visitor and to prevent spam submissions.
Image CAPTCHA
Copy the characters (respecting upper/lower case) from the image.