I have somewhat of a non-traditional test role at Microsoft. I’m a tester (that’s what my business card says), but I don’t own any specific components or features. I test, but mostly where I want to discover something for myself, experiment with an idea, or when I’m coaching others. The bulk of my time, in fact, is spent coaching and mentoring other testers on the team, as well as working with the test managers on the team and our test director to make sure we’re doing the "right thing" with both strategic and tactical decisions and goals.
I should mention for those of you who don’t already know that I don’t manage anyone. One of the things I really like about Microsoft is that there’s a clear career path (including stock and pay scale) for non-managers and managers. On the Lync team, for example, I report directly to the test director (the test managers are my peers), and the director and I happen to be the same "level". Several times in my career, I’ve worked for a few managers who were a lower level than me, and it hasn’t caused a problem. In my own eyes, as well as the managers I’ve worked for, I am a better asset to the team in a non-management role (not, I hope, because I’m a horrible manager, but because I can accomplish more and have a wider span of influence without the "burdens" of management).
When I started on the team just a bit over a year ago, I asked my manager what he wanted me to do. He said, "Do whatever you want". My answer (possibly obvious if you know me) was, "Great – that’s exactly what I was planning to do." Doing "whatever I want" doesn’t mean I sit around all day – at least not to me. For me, it means that it’s my job to figure out what needs to be done and find a way to get it done. I try to recognize where gaps in knowledge or skill are anywhere on the team and find ways to address the gaps. I’ve had success in my career having the right balance between breadth of knowledge, organizational influence, and tester intuition (or plain dumb luck) to find and address areas where a team needs to improve. The code review work I presented at PNSQC last year (paper here) is one example of this, but I’ve also spearheaded efforts in exploratory testing, code coverage, test design, test automation and test strategy on the team. Mostly, I try to keep an eye on the big picture of what I think the future of our team needs to look like, then make sure we’re making the right decisions and investments to move in the right direction. It’s fun – and since the future changes frequently, so does the job.
The coaching and mentoring parts of the role give me occasional opportunities to get my hands dirty testing, but I try to make sure I have other opportunities to keep my mind wrapped around the technical aspects of testing as well. I’ve most recently been working on improving test code quality (through a combination of guidelines, code reviews, static analysis and (mostly) culture). It’s a fun problem (for me) to solve because it involves both organizational and technical challenges, so it gives me an opportunity to make good things happen for the team while spending a bit of time grepping through code – fixing bugs and solving problems.
Probably worth mentioning is that I chair two cross-company testing communities – one is a collection of other senior non-management testers (some, at least, with roles similar to mine), as well as a community of the top 3-4% of all testers at Microsoft. I am a huge believer in the power of community and networking and although the work I do to keep these communities going doesn’t impact my day-job directly, I consider it a critical part of what I do.
While my role is (I think) somewhat unique among industry testing roles, it’s not completely uncommon at Microsoft. I’m curious, however, if this sort of role exists elsewhere – or what you would call the role if it existed (other than Tester / Thinker)?
“Tester / Thinker”
I can’t say I’ve ever encountered that role/title anywhere I have worked, perhaps because the companies have been so much smaller. I guess we all just test and think with lower-case Ts.
It does sound like a lot of fun!
It is a lot of fun – I didn’t mention it in the post, but the fun factor is something else that I like about the job.
Brilliant article Alan
What you describe as your main tasks within your role is what I am attempting to where I am currently working – they appear to have a similar structure.
I still do a normal day to day role as a tester but I am given the opportunities to mentor, coach and look at ways to improve and make testing more enjoyable.
I am passionate that within every large scale company there should be testers at director level and that IMO it helps a software company to improve and grow with the guidance and knowledge of a ‘thinking’ tester.
The description of your role is something every tester in large/medium companies should strive to do.
The role you describe sounds eerily similar to one that was recently created within my company. It’s titled “Test Engineer” (which I don’t fully agree with), but the job description basically says that the person in this role is a central source of knowledge for the department concerning all things test-related. They are responsible for keeping up to date with the latest trends in software testing and adapting anything worthwhile into the way we approach testing (if there is indeed benefit in doing so). They are also responsible for training and mentoring employees. The training aspect sort of relates to another position that was just created, the QA Education Coordinator; I believe the Test Engineer would be responsible for working together with the Education Coordinator to create a lesson plan of sorts to train new employees.
I’m new to a formal testing career (I dabbled in development previously, but liked troubleshooting and testing my friends’ code better), but when I started here, I decided to look through our position plans, and I told my manager and team leader that within 5 years, the Test Engineer position was where I wanted to be. They’ve been incredibly positive about it, and I think that by taking a big interest in software testing and actually keeping current with the blog scene and watching presentations from the conferences, I’m on track to get there more quickly than I was expecting.
Bah, any time I respond to blog posts I end up writing a novel. Sorry about that!
Anyway, great post. It encourages me to keep working hard and to continue learning the craft. I like seeing that this may end up being a more common role than I thought it was. It means that there are people with experience that I can draw from!
– Shaun Hershey
Nice post Alan
Part of my job is similar to yours. I get to work with newer testers, plan some test strategies and do other things to help the group. During crunch time (very often), I go back to executing test cases. I’ll keep reading your blogs and fighting the good fight to help the group focus on god testing and to respect the testers and to help them grow.
Looking at this post from the eyes of a current Microsoft tester, it’s great to see concrete examples of work that leads to someone reaching your career level at Microsoft. Thanks for sharing Alan.
Cool – that’s nice to hear. Thanks for reading and commenting.
This sounds like an interesting role, Alan, and one that is lacking in many large organizations.
My current role is similar I think, we call it “Quality Architect” here at Quest Software and it allows me the freedom to keep on top of the latest developments in testing and propagate new ideas down to the test teams. I’m also still very hands-on as a tester though (but with little in the way of people management responsibility), mainly in the exploratory testing arena in which I value-add to teams as and when needed.
It’s interesting that the testing industry seems to struggle a bit with defining consistent roles and titles, something which was covered in a conference talk I attended only a couple of weeks ago, at the Australia/New Zealand Testing Board conference in Auckland. A copy of the slides from that talk is available at http://www.anztb.org/userfiles/file/Carol%20Cornelius%20-%20What's%20in%20a%20Name.pdf
I see your business card says tester / thinker, but in your description I wonder if you should add another word: ‘mentor’ because that almost sounds like what you described in this post. I know there might be a slight difference in the mentor style relationship, but it certainly sounds like you are setting a standard for others there.
As far as I know there’s noone like that here where I work presently, but boy do I wish there was at times. I very much enjoyed this entry, Alan.
Alan, thanks for sharing. I always find it interesting to hear about the roles of the industry leaders in QA.
Funnily enough, some of what you described above I can relate to. My role in certain aspect is very similar in that I coach and mentor all junior QAs at our company and that I’m not technically assigned to any specific team. My boss gives me the freedom to apply myself where necessary in the company.
It would be great to chat to you more about the way you approach mentoring and coaching of testers.
I’m almost always open for a quick chat – just let me know when.
Cool!!!! Congratulations, again Microsoft show us why its an innovation leader!! Taking the best people for the right time and right job… 🙂
So, have fun !!
I had the privilege to work in various Microsoft Projects in test role including Exchange, XP Embedded, Forefront and MSIT before moving on. During this period, I achieved my PMP certification and I find PMP framework is probably the only framework which discusses such a role indirectly. They talk about PMO whose job is to help organization wide improvments in project and processes. Since PMBOK contains Quality Mgmt as part of Project Mgmt, so such a role can be part of PMO Quality Managament. I’ll leave the choice of Title to you 🙂