Making Time

Yesterday, a colleague asked me where I find the time to blog, twitter, etc. This is something I get asked often, but the only answer I have is that I just make time. I put blogging, presentations, sasqag work, and other community stuff right alongside my core work on my todo list. I’m heavily driven by my todo list (I use the tasklist in outlook), and anything I think is important makes it onto the list. I don’t work exceptionally long hours – I just make time for what I think is important. I don’t work exceptionally long hours either – my home life and my work life sort of blend together (I take care of personal stuff during the work day, and work most mornings and evenings from home. I’d estimate that I typically work about 50 hours a week at the most (although that number is a bit higher now as I ramp up on my new job).

I suppose it also helps that I think about work a lot. In fact, I write most of my blog posts (including this one) in my head before I sit down to type them out. I use my commute (20 minutes) to think through blogs, papers, projects, and whatever else I’m doing that requires a bit of thought before execution.I don’t have a lot of dead time during my day, but I think that helps keep me sharp.

I have one other bit of related advice to share (something I should have included in my gravy train presentation). There is always enough time. I’ve talked to people around the world (mostly testers), and I’m surprised how many tell me that there is some cool thing they want to do…but they just don’t have enough time. “I’d like to learn a new language,,,but I don’t have time”, or “I’d like to look ahead and build a strategy for our team…but we’re just too busy with execution right now”. When people tell me this, I ask- “What would happen if you were sick for a day? So sick you couldn’t even get out of bed?” “Would you be able to “catch up?” Sometimes they try to convince me the world would end, but the conversation always ends with a statement like “it would be inconvenient, but we’d survive”. “Fine”, I say, “if this is important, block some time off of your calendar and make it happen”. You will never get off of the treadmill if you don’t make that time, and if you don’t get off the treadmill, you’re never going to make great things happen.

And everyone should get a chance to make great things happen.

ed. Adam Goucher pointed me to this article on making time. A fantastic read – thanks Adam.

More stories about moving

My family moved into a new house about 16 months ago. There’s an office on the ground floor where I set up my pc, my music stiff and a bunch of boxes (mostly filled with books and CDs). I never quite figured out what furniture to buy for the room, but in the end, it didn’t really matter. It turns out that my wife loves my computer (it’s a fanless, ultraquiet system with two 19” widescreen monitors on ergotron arms. She also fell in love with the room – it’s on the first floor, near the front door and kitchen – a perfect place to be if kids are in the yard, eating snacks, or playing around the house. I relinquished the room to her several months ago, but all of my crud was still in there because we never figured out where it should go.

Our house has a “bonus room” that we thought would be a kids play room or a TV room, but it didn’t work out well for either of those options. The room is on the second floor over the garage – far, far away from the kitchen and family room. When you have a four and five year old, you don’t necessarily want them playing (or watching tv!) so far away you can’t hear them. Sometime a few months ago, we decided that I could take over the room. It’s a pretty big room, but it will be fun to have a place for all of my book, cds and music stuff.

We had a bit of a moving day today, and I hauled about 20 boxes upstairs, and moved some shelves from the garage. Right now, it looks like a big storage room (because that’s what it is right now). I’ve been using the Ikea room planner to get an idea of how to set it up and threw this together:

image

The file cabinet in the corner is a stand-in for a 20-space raxxess rack where I keep most of my electronics. I have a few sets of studio monitors that I’ll put right on the bookshelf – not the best solution, but I think it will work fine. I’m not exactly sure where to put the desk, but that spot in front of the shelves is as good as any. The room is pretty big – not counting the entry hallway, it’s 13×17 (17’ left to right as you view this picture). I have 4 saxophones and 3 guitars that can go behind the chair somewhere, and a bunch of smaller instruments that I can put on shelves, or in the cabinets on the right. Acoustically, the room is a little bright now, but I’m hoping it deadens up a bit once I unpack everything. BTW – if any readers with better decorating skills than me have suggestions, please fire them away in the comments section.

For comparison, here’s my wife’s office (my old office).We’re going to put a foldout couch between the doors and have it double as a second guest room (with my office, I suppose, being a third). Until today, most of the floor space (including inside the closet) was piled with my boxes.I’m pretty sure most of the carpet in that room has never been walked on.

image

What comes with the gravy?

I mentioned a week ago that I was giving a talk on career tips called “Ride the Gravy Train”. I gave the talk today (which had a remarkably large turnout), and think it’s a talk I’ll deliver again (with some tweaks).

Without going into details, here are the tips:

  • do the right thing
  • try different
  • speak up
  • learn your A-C-B’s
  • know that you don’t
  • know who you don’t
  • follow the leader – lead the follower
  • don‘t flip the bozo bit
  • …and don’t burn bridges either
  • find a mentor
  • ride the gravy train
  • find the steepest learning curve
  • the three p’s
  • be happy
  • a career is a journey, not a sprint
  • there’s nothing wrong with self-promotion

As  you can tell, there’s nothing Microsoft specific here (and probably nothing controversial either). As usual, of course, I use few words on my slides (this is the sum of all of the text), and the words I use are too obscure for most people to provide context.

Given that it’s my product now, I’m considering doing a live meeting version of this talk (and if that goes well, others). I thought about doing something like this before, but as soon as I suggested it, I got very, very busy. I’m still busy, but at least I can say I’m testing (and I promise to anyone who wants to listen to the talk that I will take every bit of feedback you give me on your experience with the product and get it to the proper people). Not sure when yet, but probably in  a few weeks. I’ll post something here and frequently on twitter when I get things squared away.

My first day(ish) as the new guy

Originally, I was supposed to join the Communicator team today, but a cancelled day of vacation pushed my start date up to yesterday…but there was a meeting I wanted to attend on Monday, so I’ve basically been out of building 21 (EE land) and in or near my new office since Monday afternoon. So, let me tell you’ what I’ve been up to since then!

It’s been a bit of a slow start – given that I started early and the pace that the hr backend is updated, I don’t have permission to enlist in the source code yet. On top of that, I’m told it will take a week or two to get my server account moved so I can use the in-development release. I’m also still waiting on my new computer (I still have my laptop and a computer that will become my secondary machine, so I’m certainly not completely blocked).

And, despite waiting for permissions, I don’t feel blocked in my ramp up either. I have a 3-pronged approach to ramping up on a test team that is working well for me so far. First off, although I normally don’t like going to meetings, I’ve already attended half a dozen or so. Some, I’m invited to, and others I just tag along. It’s a good way to figure out what’s going on in the project, learn faces, and get a sense of the team dynamic. Secondly, I’ve spent several hours reading through bug reports. It’s great – without talking to hardly anyone, I already have a sense of the types of testing approaches used on the team, a sense of how the database fields are used and interpreted, and even some insight into individuals on the team. I’ve recommended reading bug reports as a way for testers to ramp up quickly on a team for years, and I’m delighted to see that it works. And – I’ve read team wikis, test plans, and whatever other collateral I can find in order to help round out what’s going on.

I’ve been reading so much, in fact, that by Tuesday afternoon, my eyes were aching and my vision was fuzzy. So fuzzy, in fact, that I visited the optometrist on the way home for my first ever eye exam. Shortly later, I ordered my first ever pair of eyeglasses. I’ll post photos of my new look as soon as they show up.

Today, I made sure I took a few breaks to rest my eyes – I used the time mostly to unpack a few items and tidy up a bit. My new office is now entirely unpacked except for a big box full of random cables that I’m afraid to get rid of because the moment I do, I’ll need one of them.

I think that’s about it. Oh – except that I’m giving a talk tomorrow on random career tips. I think it will be interesting, but we’ll see. Looking forward to sharing them here at a future date…or perhaps over live meeting??? 🙂

Why Office Communicator?

Since announcing my pending job change, several people have asked me, “why did you choose the Office Communicator group for your next position?” The answer is also part of the internal talk I’m giving this week on career tips, so I thought I’d share it here.

One of my favorite things about Microsoft is the wide variety of teams, products and roles available across the company. While considering this change, I looked seriously into possible roles on at least half a dozen teams. One job was extremely technical – working on testing a major new feature for a critical and complex component (sorry, I have to be vague since it’s unannounced). Another position was working on a cool technology helping them with their test tool infrastructure. Talking to the managers in charge of these teams helped me figure out what kind of position I was looking for (when I started looking, I wasn’t entirely sure what I was looking for). In fact, when Ross (my new manager) and I first talked, I told him I’d keep him in mind as a backup – but we eventually talked and I began to change my mind.

When looking for a new job, the 3 Ps are important to keep in mind. You can follow a Person (a manager you really want to work with), you can work with People (teammates can make or break your experience), or you can go to work on a Product or technology you’re passionate about (or ideally, a combination of the three). As I mentioned, I’ve known Ross for 7 or 8 years (Ross used to chair the Test Architect Group before I took over). I’ve also watched Ross doing some extremely cool things as a manager over the past few years. As I dug in a bit deeper to the org (you should always do your homework when changing jobs) I found more things I liked. Ross’s manager spent some time with me, and showed me that he understood more about the challenge of software testing than just about any other manager of his level in the company. I also discovered that a peer of his, as well as a team mate-to-be are people I worked with and respected in previous jobs. I’ve met various other people from this org over the years and I’m certain it’s a team I can work with. What surprised me in my search was how interested I became in the technology (it’s quite common to love a job where you aren’t passionate about the technology). As I talked to the team and learned more about the product, I began to get pretty excited about the potential – and felt pretty good that I found a position that nailed the 3 Ps as well.

Office Communicator is about a lot more than an IM client (in the past, I have jokingly referred to the product as “messenger – enterprise edition”). There’s potential to do some pretty cool stuff with online meetings and recordings (and thing in the client too). There’s also plenty of more technical challenges below the surface (distributed algorithm testing anyone?), so I’ll get to do a wide variety of work. I think it will be fun working on a team like this and hope to have a lot of fun.

And, beginning Tuesday, I hope to begin to figure out much more about this team and start to figure out exactly what that wide variety of work entails. Stay tuned.

New office, new stuff

As you know, I’m getting ready to change teams at Microsoft. My current manager gave me the ok to spend a bit of time during my transition ramping up on my new team. It looks like I’m not going to get much of a chance to ramp up, but I think I will be able to get my new office set up in advance, and I spent a bit of time today moving furniture and setting up equipment (almost).

One quick aside about changing jobs at Microsoft. It used to be that when you changed jobs your computers stayed with your current team. Eventually, the finance guys realized that buying new machines after nearly every employee transfer was getting a bit expensive, and they changed the rules so that you could bring at least one computer with you when you move (or more if agreed upon by both managers).

Anyway – I’m in love with my laptop and chose to bring that with me (besides – my current work desktop machine is more suited for writing books and developing powerpoint slides than compiling large software products). I asked my new team if they could leave my new computer in my new office, and that I’d come by to set it up when I had a chance. I had an hour this morning to swing by and check on my new digs. It’s going to be a bit weird working in an office all day – I’m so used to the team room (and meetings), that sitting in an office is going to take a bit of getting used to. The first thing I did was move the desk around – I don’t like having my back to the door when I work. There was a big Dell tower computer in the office, so I started plugging in peripherals, power, etc. There were also two new 19” monitors, so I unpacked those and set them up … and ran into my first problem. They came with VGA cables only, but the computer only had DVI ports. I walked down the hall to find our groups business administrator (who is awesome, btw). She pointed me to the admin who gave me a funny look when I used words like VGA and DVI, but she pointed me to a box of cables. I found a DVI cable, then eventually found a 3-foot DVI cable (seriously, what is that good for). As a stop-gap, I found a VGA-DVI converter dongle and went on my way. I also noted that I need to order monitor arms since, for some reason, I like to flip my widescreens 90 degrees, and the stock stands wouldn’t work that way.

Once I got everything hooked up, I powered on and positioned my finger over the F12 key for a PXE boot (PXE is a network boot that is very convenient for installing a clean OS). Unfortunately, PXE hit an error and didn’t boot. I rebooted a few times, played with the bios, swapped out cables, pixie-booted another machine, and did the full range of trouble-shooting; which in the end pointed to a problem with the machine. Since the machine had an integrated NIC, I thought I’d check if there were any bios updates. I searched Dell’s site, found the update and downloaded it to my laptop. But then I noticed that the date on the latest updated was March, 2006. I looked inside the machine and saw a note saying it was manufactured in 2005. Admittedly, it’s a pretty sweet machine for something five years old, but how could this team give me a clunker instead of a new machine. C’mon – I’m Alan Page – I need to do …stuff…

I attempted to ask about the machine in a way that didn’t sound ungrateful, but at the same time say, sheesh, this machine is five years old. It turns out that they did order me a brand new dev box, and they left this one around for me to use as a test machine (and an awesome test machine it will be (dual proc Xeon)– once I get it to boot). I’m thinking I’ll have a pretty sweet setup fairly soon. If I remember to bring a camera to work, I’ll even take pictures. In the meantime, I have loads more work to complete on my current team, so most of my effort will be on that through the end of the week.

Books I’m about to (re)read

I’m heading up to the Vancouver for the Olympics this weekend and hoping to catch up on some reading on the trip. I’ve built up a bit of a backlog of books I want to read or re-read and I’m going to try to make a big dent in the list during the train ride (and while waiting in line for will-call tickets).

First on the list is Saul Alinsky’s Rules for Radicals. I’ve been meaning to read it for a while and I’m looking forward to seeing what people love (and hate) about it. second book on the list is The Checklist Manifesto. Atul Gawande spoke on MS campus recently and his talk inspired me to take a closer look at his book.

There are two other books on my re-read list. Both are controversial in that people seem to either really, really love them, or really, really loathe them. The books couldn’t be more different, but the value in both of them to me is beyond the printed word – the value is between the lines, in the thoughts and ideas they bring out in me every time I read them. ZATAOMM is a classic and a book that I read every few years, or every time I change jobs (whichever comes first). I’m  also going to re-read Quality is Free. A lot of software folks hate this book. At face value, of course, application of manufacturing approaches to software often fail, but the point (to me at least) is to remind me that quality can be improved through processes and culture change and it always gets me thinking of new ideas for improving software quality and building a quality culture.

That’s probably more than enough reading for a short trip, but I’ll bring at least three of those with me just in case there’s more waiting than I anticipate. I think Rules for Radicals is the only book that’s not commonly read among my peers, so I’ll plan to share any interesting insights in a mini book report once I finish it.

Ride the Gravy Train …

I give presentations to teams at Microsoft often. Some teams want a talk on a specific topic, and other teams just ask me what I want to talk about. It’s a good opportunity for me to try out different ideas and see if they have merit. I imagine only 10-20% of these talks would have any interest outside of MS (I think the same percentage of my external talks are interesting to MS folks too).

Anyway, for a presentation coming up in a few weeks, I’m sharing random bits of career advice. The title of the talk is Ride the Gravy Train …and other random career advice. I’ve collected a random assortment of interesting/bizarre/weird career advice over the years, and thought it would be fun to throw it all together into a presentation. I’ll likely use the backdrop of my own career as a storyline for the bits of career wisdom, so I think I can get it to flow fairly well.

Some samples include:

“Always put yourself on the steepest learning curve” – this was advice I received indirectly from Jim Allchin (via a Distinguished Engineer I was talking to). The idea is that if you’re not challenged, you’re not going to grow. I can think of at least 10 examples from my career where I was in so far over my head, I had no idea how I’d ever be successful – but I figured it out, and the experience of crawling my way out of the hole was huge.

Almost contradictory advice from another DE was this: “If you have a great manager who takes good care of you, Ride the Gravy Train”. Good managers watch out for your career and unblock paths you never even knew were blocked for you.

Another one I heard recently was “Sometimes, it’s a beauty contest” – meaning that doing the work isn’t always enough. Sometimes you need to put some lipstick and makeup on your work and show it around to people who matter.

I have several more, but I’d love to hear yours if you have them.

Another Take on the Five Orders of Ignorance

 

I came across a post this weekend about different types of knowledge It’s a well written post that calls out one of my favorite topics – you don’t know what you don’t know. I think the Five Orders of Ignorance (or my tribute to the five orders here) are brilliant, and the author nails Armour’s zero, first, and second level ignorance with his take on knowledge (described as “shit you know, shit you don’t know, and shit you don’t know you don’t know). 20I (read two-oh-eye) – what you don’t know you don’t know (aka the unknown unknowns) are a big reason why we suck at scheduling. Think about it – when we throw out estimates for how long a particular task will take, it’s often half guess, and half padding because we know “stuff” will come up (yes, there’s a lot we can do to make scheduling more accurate too, but that’s a topic for another day).

IMO, there are two pretty big things missing from this article. The first is a discussion of suitable methods to determine what we don’t know we don’t know (aka Armour’s 30I). A passion for learning, critical thinking (and the knowledge or acknowledgement of 20I) all help us identify and solve the unknown unknowns. The way we learn is to discover what we don’t know we don’t know, make it something we (just) don’t know, then make it something we know. We move knowledge down through the orders of ignorance – without a method for discovering what we don’t know we don’t know, it’s just a problem that we’ll never solve (or never know about). For some, I suppose that’s fine, but not for people who are interested in learning.

The second point is that the author doesn’t acknowledge Armour. What’s great about this is that I don’t think it was on purpose – I’m pretty sure the author just didn’t know that Armour had already discussed the same topic in depth. The unknown unknown’s will get you every time!

The Perils of Parables

I’m a fan of The Pragmatic Programmer, and often use the parable of boiled frogs (which I first read in that book) when talking about organizational change. The concept is simple enough – rather than put the frogs (people) in boiling water (changing everything at once), put the frogs (people) in cool water; then slowly heat up the water (change things) until the water is boiling (you’ve reached the change you want). This technique works well for process-y things like cranking up which compiler warnings or fxcop rules you want to turn on, or raising the amount of code coverage you want developers to cover in unit tests.

The boiled frogs approach doesn’t always work as well with organizational change. With compiler warnings, for example, once you’ve reached your goal, it doesn’t “hurt” anymore – your comfortable in the boiling water. If you change the direction of an organization little by little, people may not notice right away, but eventually, they will notice that they’re sweating a lot and that their skin is bright red.

Of course, many people survive organization change – things change and they either like it, or are ambivalent to the change. Organizational change is an adaptive  challenge (as opposed to a technical challenge).  In Leadership on the Line, Heifetz and Linsky discuss adaptive challenges in depth and point out that with changes like this, sometime there are casualties – that some people, processes, etc. that just don’t survive the change. Some people may not have the capabilities to take on a new challenge, and in other situations, people just aren’t comfortable, or feel they’re at their best once the water is boiling. Casualties are ok as long as the reward of the organization change outweighs the loss.

I guess I am a casualty.

I joined the Engineering Excellence (EE) team at Microsoft nearly five years ago. Just over two years ago, I took over the Director of Test Excellence title. In the past five years, I’ve taught courses to thousands of testers, and met and worked with just about every senior tester and test manager at Microsoft. The work has been fun, challenging, and rewarding.

But EE is changing.

The changes in EE are good – maybe even great, and I think the org is headed in a solid direction – but the actual work has moved so far from what I really enjoy doing that I can’t do it anymore. I’ve wondered for some time what I’d do after I left EE, but I finally had the revelation that I needed to change something in December. Two things happened in one week that (as a colleague often says) made the scales fall from my eyes. The first was a team offsite, where we discussed the direction of the organization. The discussion was about how to deal with the parts of our job that were unfamiliar to us. Somewhere in the middle of wallowing and discussion, the lights went on – the job wasn’t for me anymore. The second “sign” was in the results of a medical physical. I signed up for an in depth health screening as part of Microsoft’s benefits, so I ended up getting two physicals in one year. The only problem with my second physical was that my blood pressure was up nearly 30 points. I thought it was a fluke since I’ve been 110 over 70 for as long as I can remember, but in a follow up checkup, it remained at 138 / 80.

I took the next three weeks away from work. I’m not sure if it was being away from work, or the mental realization that it was time for something new, but I’ve been able to drop it quite a bit since then. I’m confident that I can get it (and keep it) back completely under control from now on.

So, while I’ve been avoiding blogging and twittering over the last month, I’ve interviewed with some non-MS companies and have talked to a variety of Microsoft groups. When I first joined EE, it was really weird for me not actually testing products. I thought I would get used to it, but I never did. If I could change one thing about the last five years, I would have found some way to do more hands-on testing. One thing I heard (both directly and indirectly) as I looked around was worry that I was “stale” – that I had been away too long to be relevant. I suppose that will be something I’ll have to “earn away”, but I hope that it’s just a perception and that I actually know what I’m doing.

The good news, is that I’ve found and accepted a new job. I’m staying at Microsoft, and will be working for someone who I think is one of the best managers at Microsoft. The org is small enough that I think I can make a big impact, and large enough that it will be a challenge. Mostly, I’m working on a team that values experimentation, trust, and fun. I’m reunited with testers I’ve worked with a dozen years ago, and others that I’ve met and mentored as recently as a few months ago. I’m excited and can’t wait to be a “real” software tester again. I expect it will also give me an endless supply of blog fodder, and that the mental joy of software testing will give my health another boost in the right direction.

My last day in EE will be Feb 28. In the meantime, I have a mountain of transition stuff to work through, but do expect to be back on top of my social media game shortly. It’s been a fun ride, but I’m looking forward to even greater challenges.