Taking over

 There are many books and lecture series about creating high-performing teams that work well together, work hard for each other, and produce tremendous results. That’s nice. In real life, you, the manager, don’t get to create high-performing teams. You inherit low- to average-performing teams and are expected to transform them while delivering everything your predecessors…

1

Collaboration cache—colocation

 Software geeks know that registers fetch data roughly 10 times faster than the L2 cache, 100 times faster than main memory, and more than a million times faster than hard drives. Smart software engineers work hard to keep all the data for their inner loops in registers or at worst the L2 cache. They keep…

7

Data-driven decisions

 You’re working on a feature and think there’s an obvious customer improvement to be made. The tester thinks you’re in obvious need of medical attention from a psychiatric professional. She believes the shipped design was fine from the start. The PM insists that your suggestion doesn’t fit the design language (?). He wants to make…

2

The new Microsoft

 The Microsoft Company Meeting was a few weeks ago. If you love the tech status quo inside or outside of Microsoft, seek shelter. How the company operates and how it engages with customers and the markets is about to change. All the signs were there in the Seattle Key Arena for anyone to notice. All…

0

It’s not going to be okay

Eric Aside This month I cover a touchy subject—getting a 4 or 5 review rating. Please know that all opinions expressed in this column (and every Hard Code column) are my own and do not represent Microsoft in any official or unofficial capacity. Also know that plenty of employees improve their review ratings by 2…

7

Too much of a good thing? Enter Kanban

 Last month, I wrote about the value of good program managers (PMs). Some people liked the column (mostly PMs). Some people hated it (folks with bad PMs). However, the most common response was that Microsoft has too many PMs. Can you have too much of a good thing? Heck yeah! Why is having too many…

2

PM: Secret weapon or wasted headcount?

 Microsoft is one of the few software companies that uses program managers (PMs). PMs, developers, and testers form the infamous engineering triad. Together they prioritize and cost features, triage bugs, and make design decisions. Now that highly agile services teams are rethinking the test role, should we reconsider the PM role as well? What the…

9

Permanently high plateau

 A friend asked me recently about one of his reports. He had a few concerns going into annual review calibration. His employee was a smart, strong, consistent contributor, well beyond entry level and independence (see Level up for reference), but he had plateaued. My friend was concerned that his employee didn’t recognize he had plateaued,…

0

Hired helpers

 There are never enough resources to complete our ambitious plans, so Microsoft is constantly hiring help—vendors and contingent staff (CSG). Full-time employees (FTEs) are hired too, but the relationship is different—at least it’s supposed to be. Ever since the $97 million December 2000 settlement of the “permatemps” case, Microsoft has been very careful to treat…

3

Don’t be a tool

 A recent flood of build breaks triggered a wave of tool suggestions to plug the cracks in our code. Some argued for faster builds. Some argued for deeper branching. Some argued for a “gauntlet” service that simulates official builds and blocks problem code submissions. All of these suggestions are awash in the seeping sewage of…

4