How I spent the week of April 15, 2007
April 9-15, 2007
Monday
This Monday was a more normal Monday for me with no training or other events plan. I was able to spend most of the day in 1:1's with my manager and my direct reports. It was been quite a few weeks since I have had a chance to meet with everyone, as I was in Redmond, then in training.
I am just in the process of completing Mid-Year Career Discussions (MYCD) with my team and my manager. This is a process that we use at Microsoft to provide some formal structure around career development. Unlike the annual review process which is in the summer and is more about reviewing employee performance, the MYCD process is more about employee career development.
This year HR has introduced a new process and a new set of tools that introduce a lot of new structure around this process. If you follow any of the external Microsoft blogs you will know that many people are unhappy with the new MYCD process and added bureaucracy. Personally I think that it is helpful, mainly for people that are either new to the software industry or new to Microsoft. For me and for most of our group (Search Technology Center) that is pretty much everyone.
10-11am - Met with my manager for my MYCD. Had a good talk about future opportunities and the impact of recent Live Search re-orgs on STC and my role. We didn't spend much time on performance feedback and will need to schedule some additional time to work on that.
11-3pm - Had 1:1 meetings with my direct reports, since for most people we have just recently had MYCD and I have been away from the office for many weeks we spent a major of the time talking about project status, next steps, blocking issues, etc.
In the middle of this time I had a phone interview with an intern candidate. I am trying to hire 1 or 2 intern(s) that will work on a project I am collaborating with Microsoft Research Asia (MSR-A) on. So if you know anyone that is interested in query classification/clustering and web-page classification. I will try and talk more about this project in a future blog posting.
3-4pm – Every other week the whole management team of the group I work on (Search Technology Center) meets to talk about organizational issues, HR, corporate policy roll-out, strategy discussions, future planning, etc. This week we spent most of the time talking about the recent re-org in the Live Search organization, which has recently merged with the Advertising group to form the new Search & Advertising Platform group, lead by Satya Nadella with the help of Harry Shum as Chief Scientist. Harry is currently the Managing Director of Microsoft Research Asia, which is the parent organization of STC.
4-5pm – 1:1 with direct report.
5-6pm – PM Interview.
Tuesday
8-8pm – I was at a MSR-A Management Offsite in Beijing all day. We spent a fair amount of time talking about general lab management issues; Human Resources (HR), Public Relations (PR) and University Relations (UR), as well as talking about how Harry's new role in the Search & Advertising Platform group will affect the MSR-A lab.
In addition to these more administrative issues there were many lively debates and discussions around training/on boarding of new college hires, how to better share/leverage the computing infrastructure we have in MSR-A and the longer term view of where Internet search is going. I participated in the working group that was looking at on boarding/training for new college hires. This is a topic that I am particularly passionate about, so I want to share a few of my thoughts in this area.
Last year when we brought on a large number of college hire to the STC team we ran two intensive training programs, I think these were about three weeks in length. We intend to do something similar this year with the next batch of college hires. Anecdotally I have heard that Google China sends all new hires to Mountain View, California for a few months of training before they start in the Beijing office. I don't know if this is true, or exactly how long they go for training, but I would be interested in hearing if you know.
In STC we have made a very conscious choice to not grow very much during this year, in order to stabilize and mature our foundation, so that we are in a position to grow the team in the future. Often when groups grow too fast and too early you find that long term they are not very stable. They lowered the hiring bar bringing in people that aren't strong enough or experience enough. Or they promote people to a level that is new to them, this is often done across the organization, so you end up with a Dev. Manager that used to be a lead, and a Test Manager that used to be a lead and a GPM that used to be a lead, all in new roles. This is usually not a very good strategy, as these people are often learning a new domain, learning a new role and building a new team. This is a challenge that most people cannot be successful at. When taking on a new position you should always try and minimize the amount of change. For instance if you are going to work in a new country, you should probably work in position and domain that you are already very comfortable in.
I think this strategy of growing slower at the beginning will long term allow us to grow faster and stronger. However, I think that we haven't gone far enough in terms of initial training and on boarding of new college hires. My proposal is that all new college hires spend roughly three months when they first join in "training", and two months the second year and finally one month the third year. We should think of this three year indoctrination as a sort of apprenticeship program.
The purpose of this is to provide a framework that will transition new hires from a structured learning environment into an unstructured learning environment. And prepare them to be successful engineers, researchers or program managers. This first three month program will set the foundation for people to understand how to get things done at Microsoft, how to be a successful engineer at Microsoft and how to be a life-long learning. It will also stress the soft-skills necessary to be successful and a future leader at Microsoft and in any company.
If you compare successful group versus unsuccessful groups and successful engineers versus unsuccessful engineers you will often find the major difference is in the soft-skills. Things like communication skills, cross-group collaboration, planning and priorization, conflict resolution, etc. Certainly when you get to the level of lead, manager and high these skills also exclusively differentiate the best people from the average. You have to remember we aren't talking about what differentiates the best form the worst. We don't hire the worst. Obviously there are many things like raw intellectual horsepower, analytical thinking, problem solving, etc that play an important role in differentiating good from bad. At Microsoft we have a recruiting system that screens for only above average candidates, so we are really focused on going from good to great.
My theory is that this first three months should be a very experiential learning environment, last week I talked a lot about the theory and benefits of experiential learning. This would provide a great learning environment for people to really practice they skills they were learning, allow them to understand their personal learning style and more easily transition from this "training" into the real project work they were hired for.
Wednesday
9-10am – phone interview with a International PM candidate.
10-11am – 1:1 with one of the STC dev leads to learn more about his project work, understand how we can work better together and talk more about the long term plans for STC and Search in China. I decided to schedule monthly 1:1 with all of the engineering leads, as I found we only talk when there are urgent project related issues and I wanted an opportunity to spend more time with them understanding how to strengthen the partnership between PM and engineering, explore the future plans for STC around their area and just better understand what they are working on and are passionate about. This was my first meeting of this type and I think it was very usefully, I got to learn a lot about the challenges this dev lead was facing and where he thought we should be going.
If you are outside of STC and are reading this (I know that is probably a little too hopeful on my part!) you will notice I generally use the term engineering not dev/test. In STC we have been experimenting with a slightly different model for organizing our team. We have a dev manager (John Liu) and a test manager (Peter Zeng) and dev leads and test leads. This part is pretty standard for most Microsoft product groups. Below that we mostly have what we have been calling engineers, these are people that are working on both dev and test activities for a specific project. We believe that this model allows us to do better resource allocation, enable people to learn more about the end-to-end engineering process and produces significantly better engineers. As people progress in their career we would expect some to specialize across domains (server, front-end, etc.) and some to specialize across disciplines (test, dev). But early on we expect all engineers to be proficient at most dev and test activities.
11-1pm – caught up on email and had lunch. Spent a little time preparing for my next meeting.
2-4pm – Offsite meeting with China Telecom to review progress on our search syndication partnership. Last year we signed a major partnership between China Telecom and Microsoft, in which we provide syndicated search results from Live Search to China Telecom's portal and to their ISP customers. China Telecom is the largest ISP in china, and we are very excited to have this opportunity to work closely with them on Internet Search.
Thursday
12-1am – We were making some operational improvements to our Live Search site and rolled those changes out at mid-night, so around 12:30am we had a conference call to review the progress and decide on next steps. Unfortunately we ran into a few technical glitches and needed to roll back.
10-11am – One of my goals in coming to China was to help move the PM discipline forward across the development organization in China. My strategy was to start by focusing on building a world-class STC PM organization. I think we are starting to make great progress on that front, and compared to where we were a year ago when I joined STC we have come a long ways. Second I wanted to focus across China Research & Development (CRD) and hopefully leverage the learning from the STC PM team to have a broader impact.
I truly believe that the biggest obstacle to growth in China (and probably other areas as well) is the ability to hire and/or grow senior Program Managers. If you look at the most successful remote development organizations, I think you will find a strong PM team. Even if you look at the strongest development groups in Redmond you will usually find strong PM teams.
I wanted to start this process of looking broader by meeting with and understanding the challenges my peers in China are having. I recently created China Program Manager and China Lead Program Manager aliases in order to begin facilitating communication amongst the PM located in China. We had a kick-off meeting with a number of the leads in China and started working on a framework for moving the PM discipline forward. Initially we are going to focus in three broad areas; "development", "recruiting" and "retention".
11-12pm – email
12-1pm – Met with recruiting to review the needs of the STC PM team. In case you are interested or know anyone that is I am currently looking for a Senior Product Planner to help drive our strategy/roadmap for Search in China, a Network PM to work on the Autopilot project (autopilot is a set of operational infrastructure and software we use to manage our Search data centers) and a Feature PM for the Search in China project.
1-2pm – email, prep for STC all-hands meeting
2-3pm – STC all-hands meeting
3-5pm – email, project related discussions
5-6pm – Met with Search in China team to determine machine allocation for next fiscal year.
10:30pm – conference-call to review status of go-live, unlikely last night everything went well and we rolled out the new changes. Go team!
Friday
9-10am – conference call with Redmond about a new partner we are engaging with in China.
10-11am – meeting to review the launch from last night
11-12pm – we had a round of project reviews in Redmond a few weeks ago, I met with the feature team to review the feedback and make sure we were all on the same page in terms of next steps.
12-1pm – conference call to plan for a visit from a delegation from Vietnam, I was asked to host a discuss with them about some of our initiatives in China
1-2:30pm – email (unfortunately I don't really do much other then go to meetings and do email, I should but I don't seem to find the time. I have two emails I want to write; one on the long-term strategy/goals for STC and one on my general thoughts on Internet Search for Harry. I have notes for both, but never seem to get the time to write the emails. Hopefully next week I can find the time).
2:30-3pm – met with my manager about recruiting priorities for STC PM team
3-5pm – email and project discussions
Labels: Microsoft

