Solving the whole problem


 The time is nearing for annual reward People Discussions. Time for employees and their managers to review Connects from the past year and assess results achieved by individual effort, contributing to other people’s results, and utilizing what others have done. It’s also a time to consider promotions.

While any promotion is significant, promotions to the next career stage are particularly auspicious and difficult to achieve. (For the gory details, read Level up.) Arguably, the most confounding stage to reach is Principal. There are higher stages than Principal, but those are strongly business driven and out of reach for most engineers. In contrast, Principal seems attainable, yet folks struggle to achieve that level. (If you’re happy reaching and remaining at the senior stage, feel free to stop reading now—there are plenty of folks who stay at the senior stage for their whole careers.)

Why is it so hard for engineers to be promoted from Senior to Principal? Because what got you to Senior doesn’t get you to Principal. What got you to Senior is solving difficult technical problems effectively. To get to Principal, it’s not enough to solve the technical problem—you must solve the whole problem.

Eric Aside

Connects at Microsoft are structured conversations between employees and managers about results, planning, and career development. Connects can occur as often as every month, and as infrequently as twice a year, depending on the preference of employees and their managers.

People Discussions happen once or twice a year. Managers discuss amongst themselves the people on their teams to better assess each person’s overall impact and to allocate annual rewards from limited budgets. I cover the details of People Discussions in Out of calibration (which dates back to Microsoft’s previous review system).

Back off, man. I'm a scientist.

If you enter Microsoft as an engineering college hire, it can take you several promotions over five to eight years to reach Senior. You earn those promotions through your individual efforts to solve increasingly complex technical problems, with increasing independence. You finally get to Senior when your technical solutions and your approach significantly influence the work of your teammates. Considering all those years of positive reinforcement, you probably think that getting to Principal means solving more and more difficult technical problems. You’re wrong. What’s worse, you’ve probably wasted several frustrating years proving me right.

I’ve heard a seemingly endless string of senior engineers whine about how other teams are doing things the wrong way, choosing bad designs, rejecting better ideas, not fixing issues, slipping out their schedules, and generally obstructing progress on the difficult technical problems of the day. Those senior engineers expect principal engineers like me to unblock them. That’s because they are senior engineers. If they were principal engineers, they’d quit whining, quit focusing on the technical problem, and solve the whole problem.

Solving the whole problem means repairing or working around bad behavior and practice, poor designs and ideas, faulty direction and prioritization, and inadequate staff and budget. You know, the things you shouldn’t have to deal with. The things that are seemingly above your paygrade. The things a Principal deals with.

They won't listen to me

The sneering Senior says, “But my solution is better! Why can’t they just get over themselves and think rationally?” Really? Let’s break down this nonsense, piece by piece.

  • Your “better” solution might not be better for everyone. Other teams may have different constraints around schedules, resources, latency, power consumption, performance, scale, operations, and a host of other factors. Even when other teams agree your solution is better, making that change may be too big a risk to take at this time.
  • There is no “they”—there is only us. We are one company. We succeed and fail together. When you lose sight of that fact, you lose.
  • If you think someone is behaving irrationally, it’s probably you. When people seem irrational, it’s because you don’t understand their situation. They have reasons that you must grok, and concerns that you must mitigate if you wish to solve the whole problem.

Seems like old times

Once you truly understand why others aren’t adopting your approach, prioritizing your work, or fixing your issues, you can finally start solving the whole problem. While the surface issues might seem to be bad behavior and practices, poor designs and ideas, faulty direction and prioritization, and inadequate staff and budget, the underlying issues are actually misunderstanding, misalignment, and historical baggage.

  • Misunderstanding Before people can understand you, you must show that you understand them. What problems are they trying to solve? Why do they work the way they do? What are their priorities and constraints? Empathize with and appreciate their situation, then help them understand yours. Come to a place of mutual respect, and move forward from there. You’ll go further. (More in Winning among friends.)
  • Misalignment When your goals, timeframes, and constraints conflict with those of others, you need to realign, make compromises, or both. To realign, consider if your conflicts are real or constructed. Question assumptions and go back to your shared values and vision. Think strategically and reframe the discussion (see Lead, follow, or get out of the way). Where conflicts are real or unavoidable, be prepared to compromise and help (with budget and people you drive to arrange), and then improve over time. We’re in this together.
  • Historical baggage Old habits die hard. Old code pays the bills. There’s no easy fix for overcoming your legacy. The best you can do is paint a compelling picture of an improved world (your north star), and plan the long journey to it. I describe how in The value of navigation and Culture clash.

Take me to your leader

I realize that misunderstanding, misalignment, and historical baggage often originate with leadership. While you can do things to Control your boss for fun and profit, influencing the leadership of other teams is tricky and political.

Then again, being a Principal is being a leader by definition. Engage other leaders directly. Be respectful, but have conviction. If the situation calls for your management to engage their management, prepare your management with clear and insightful context, and the key goals and messages to convey. Orchestrate the whole solution, including engaging executives as required. You’re a leader—behave like one. (I talk about presenting to leadership in The VP-geebees.)

Eric Aside

Never make up a problem just to fix it and look important. (That’s like improving your resolve count by deliberately writing buggy code.) Your leadership will evaluate you by the problems you choose to address, as much as by your solutions. If you think good problems are hard to find, read Opportunity in a gorilla suit.

The rest of the story

Cynical Seniors sneer, “To get to Principal, the whole problem you have to solve is getting into management and getting visible. That’s the real historical baggage.” It’s true that there’s strong correlation between reaching Principal and being a manager. After all, if you’re a manager, you have to solve whole problems—dealing with people, practices, and priorities is a big part of your job. However, I queried Microsoft people data (HeadTrax), and 40 percent of engineering and research folks with Principal in their standard titles aren’t managers. Yes, the majority are managers, and it’s easier to be positioned to solve the whole problem when you’re a manager, but plenty of principal engineers are individual contributors.

As for being visible, that’s important in whatever you do at any level. We’d all love to think that our work is so impactful that it’s all anyone talks about. However, everyone should be doing impactful work, so make sure your workgroup knows your contribution. At entry and independent stages, your workgroup is your team. At the senior stage, your workgroup is your whole group (under your group manager). At the principal level, your workgroup is your organization. There’s no need to be arrogant or ornate. Just describe what you’ve done and its impact. Great work speaks for itself, but only when someone puts it on the podium.

Eric Aside

There are plenty of natural places for you to describe your results: daily standups, one-on-ones with your manager, Connect discussions, Sprint reviews, and other planning meetings. At the principal stage, you should include executive briefings and occasional org-wide presentations. You don’t need a publicist. You only need to accept that the world is a busy place, so sometimes you need to speak up to get noticed.

The future is ours

When it’s us versus them, someone is bound to lose. But when we’re in this together, we rally and solve the whole problem. Understand the real reasons behind the choices others make. Find ways to better align with your partners. Be prepared to compromise and help. And engage with leadership to define a new direction and the plans to get there.

When you solve the whole problem, your influence expands across teams, across groups, and across divisions. You begin to define the future for yourself and our company. And with that, finally, you’ll reach the Principal stage.

Eric Aside

Keep in mind that promotions across career stages don’t happen quickly. It’s important that you demonstrate sustained success at the next stage before you are promoted to it. The broader your scope of impact, the longer it takes for solutions to show full results, good or bad. If you get promoted prematurely, you can easily find yourself failing at a new level, where expectations are higher, peers are more experienced, and impact alters careers. Be patient, learn from your failures while there’s less on the line, and attain your goals once you’ve proven your merit without doubts.

0615 Solving the whole problem.mp3

Comments (1)

  1. Michael Spivey says:

    Good distinctions between cynical senior engineer and moving up to understanding and solving the whole problem and communicating as a principal, considering misunderstandings, misalignment and historical baggage.

Skip to main content