Chapter 4. Finite Time
When I was new to the industry, I used to wonder why my senior colleagues seemed so wary of committing to things. I would demonstrate that something was a problem and, inexplicably, my boss and the senior engineers around me would not drop everything and go solve that problem. Why didn’t they care?
Now that I’m the senior colleague, I get it. As a senior person, you can see a host of problems: architectures that won’t scale, processes that waste everyone’s time, missed opportunities. When someone points out one more, you add it to the list.
The good news is that you’re unlikely to run out of work. The bad news, though? You can’t do it all. While you might like to jump on every problem, you quickly learn that doing that is just not sustainable.1 You have to make peace with walking past things that are broken or suboptimal (or just really annoying) and taking no action.
Doing All the Things
In this chapter, we’ll talk about choosing what to do. As a staff engineer, you’ll have choices to make every day: whether you should join an incident response call, how you’ll respond to a request for mentorship, whether to take on a particular side project. Not everything can be your problem. So what should be?
We’ve already looked at opportunity cost and only taking on work that’s important for the company, but in this chapter I want to add an extra layer: what’s important for you. Choosing projects that support your growth, reputation, and happiness can feel a little selfish in the short term, but your needs are important, and you’re the person with the most incentive to watch out for them.
Your time is the most obvious finite resource: there are exactly 168 hours in every week, and that’s what you get for the rest of your life. We’ll start there, then look at five other resources that you need to manage: energy, quality of life, credibility, social capital, and skills. These five will carry different weights depending on the stage of your career, your recent successes, and what else is going on in your life. We’ll look at how new projects can affect them and how you can deliberately choose a project engagement “shape” that makes sense for you.
To conclude the chapter, I’ll work through some examples of the kinds of work that you might consider starting, weighing up their value to the company and to you. We’ll look at ways you can amplify the positives, decrease the negatives, or just say no and decide not to do them.
There’s infinite work. There’s exactly one of you. Let’s start by looking at your week.
Time
Everything you commit to has an opportunity cost. By choosing to do one thing, you’re implicitly choosing not to do another. If you use five minutes between meetings to fix a dead link in your documentation, you’re choosing not to reply to an email or get a glass of water just then. If you agree to spend the next two years on this big impactful project, you aren’t available for that one.2 No matter what the scale, the decision has a cost.
Finite Time
I’m inclined to be optimistic about my time. Too optimistic. There’s always important, interesting work available—and my default is to say, “I’ll do that. I’ll fit it in somehow.” I’ve had to work to be aware of this tendency and to remember that I have finite time.
It’s an odd default that work calendars tend to only show meetings. If you’re trying to do focused work, your planned schedule only shows the interruptions to that work, not the work itself. Executive coach Fabianna Tassini of Confidantist gave me the best advice for managing my workload: put nonmeetings in the calendar too. And I don’t just mean big blocks of “make time” for other people to apologetically schedule over; I mean specific, deliberate items.3 It’s a powerful way of visualizing what’s going to get done and when. See Figure 4-1 for an example.
Having my work in my calendar means I can see whether I have time for a side quest. I love side quests, so it’s helpful for me to be confronted with the reality of how I’ve planned my time and to ask, “If I start this work, what am I not doing instead?” When someone asks me to review their 20-page document, I can honestly tell them when (or whether) I’ll have time. If it’s more important than something I’ve already scheduled, I can move that other thing and make space. If I find that I’ve rescheduled the same piece of work multiple times, I’m getting an indication of how important it is. Am I avoiding this thing? Might it actually not…matter? Maybe I can stop trying to do it.
Calendars are great for days or weeks, but if we’re looking longer term, we need a bigger picture. Figure 4-2 shows a sketch (I’ll call it a time graph) of a month or a quarter before any projects go into it. I’ve blocked off a fraction of the time for the kind of activity that is just the background noise of working in a corporate environment: all-hands meetings, performance reviews, and so on. Depending on the enterprise, this will be a bigger or smaller chunk, but most likely some amount of your time is already spoken for.
The rest of that time graph shows the hours you have available for project work, long-term planning, reviewing code and documents, building relationships, keeping up to date with what’s happening in the company and the industry, mentoring, coaching, nudging projects in the right direction, and learning new technologies you’ll be expected to have an opinion on. And having lunch. Every time you take on something new, you’re adding a block to that graph. Maybe it’s a huge block. Maybe it’s a tiny dot. Either way, it’s taking up space.
How Busy Do You Like to Be?
Leadership work can be unpredictable. A crisis, outage, or launch can cause a load spike. If a project needs more help than you predicted, you might find yourself oversubscribed. So, when you’re filling your schedule, think about how volatile your incoming workload might be.
If you allocate 100% of your time and something unexpected happens, your choices are to drop something or run beyond capacity. If a lot of your tasks aren’t time-sensitive, dropping things might be easy. But if you fill your schedule with only important things, then when you hit your limit, by definition you’re dropping something important. If you decide not to drop anything, then work life will inevitably spill into other areas of your life, causing stress and exhaustion.
Know how many hours you want to work on an average week, how many you’re comfortable spiking to, and at what point you’ll stop being able to handle the load and fall over. I know people who run like the “A” person shown in Figure 4-3 and are completely unruffled when a crisis or an opportunity means they want to put in a few extra hours. I know others who work like person C, always right at their maximum capacity and stressed out all of the time. Try to leave at least a little buffer space if you can.
projectqueue.pop()?
You’ve got a locator map to give you perspective about what’s important and a treasure map to remember what you’re trying to achieve. Using those, you should be able to evaluate any project’s importance. In theory, then, should you be able to sort the available projects, like in Figure 4-4, and have each engineer continually take the next item from the top of a priority queue?
I think we can all see that that would be a little silly. This list mixes big and small work, and some engineers will be a better fit for some projects. There will always be a balance between choosing the strictly most important next thing and choosing the work that’s right for you.
So this next section will be about how to evaluate how well a project fits with your needs. Note that this section will be a little selfish! You shouldn’t use these rubrics in isolation: if you’re looking at something you might want to do, I’ll assume you’ve already thought about whether the project is important, useful, timely, achievable work that fits with your organization’s needs and culture.
But you are not an interchangeable cog in this organizational machine, and taking care of your needs is compatible with being a team player. In fact, if you look for ways that your projects can keep you healthy and happy and building your skills, you’re going to do better work—and it will be easier for the company to retain you. Everyone wins. So let’s talk about your needs.
Resource Constraints
If you’ve ever played the person-simulation video game The Sims, you’ll remember that each little simulated person (a Sim!) has a dashboard (see Figure 4-5) showing their levels of comfort, energy, social life, etc. The needs bars increase or decrease in various situations, and a big part of playing the game is keeping your Sim in good shape, giving them activities to increase their level of “fun,” giving them enough sleep to maintain “energy,” and so on. If one of the needs is really in the red, your Sim gets into a terrible mood, and some activities just aren’t available to them, even activities they’d benefit from.
Your Dashboard
OK, you’re probably not simulated. You’re probably a real human.4 But still, can you imagine a little dashboard for yourself (Figure 4-6), showing your current levels of various needs? Imagine it includes five resources: energy, credibility, quality of life, skills, and social capital.5
Let’s examine each of these needs and what increases and decreases them.
Energy
In theory, if you have a free hour, you can choose to spend it in any way you want. In practice, it will depend on how much energy you have. It’s easy to run out of what in my family we call smartbrain: the energy to stay focused on a piece of work and do something useful with it. Once the smartbrain is gone, it’s a struggle to do anything useful. At the end of a long day of meetings, I sometimes have a free hour that I could use for reading documents, but my brain is mush: I can parse the words, but there’s no way I’ll retain the information or notice any unspoken nuances. I’ll have to spend five times as much willpower to stay on that tab and not drift into reading Twitter. And if I try to write, I won’t be able to put thoughts together: even replying to an email becomes an insurmountable challenge. There’s a barrier to entry: you must have this much energy to be able to start this task.
Different people are energized or exhausted by different things. I’m absolutely wiped by one-on-one meetings, but I have friends who thrive on them. I can code or write with no obvious internal limit once I’ve gotten started, but after about an hour of reading documents or debugging, my brain starts shutting down and my eyes glaze over. Understand what kinds of work are expensive for you, and what kinds will leave you with some smartbrain at the end of the day.
Your energy will be affected by factors outside work. If you’ve got a baby that’s not sleeping, you’re going to start the day with less energy in the tank. If you’re moving to a new house, dealing with illness, or living through ongoing stressful situations, those will take their toll on your energy too.6 Very few of us can compartmentalize our energy: when you go to work, you’re still the same you.
Quality of life
In tech, most of us are in the very privileged position of being able to do work we enjoy and choose. The work can be hard, but it’s intellectually stimulating, it tends to be well paid, and it’s usually not dangerous. We’re very lucky. But it’s possible for this to be true and for the work you’re doing to still make you deeply unhappy. Certainly not all of your quality of life will or should come from your work; you may even stick with work you dislike because it’s a step toward something you want and you’re optimizing for future happiness. (See Chapter 9 for more about this.) But we spend a lot of our lives at work, and it’s reasonable to want to feel good about it.
If you enjoy the kind of work you’re doing and the people you’re working with, that will be a boost to your quality of life every day. If you’re bored or working with people who treat you badly, your job might chip away at your happiness instead. Your quality of life will also be affected by other resources: if a project eats up your energy, you might not be able to do other things you enjoy. If it boosts your profile and makes people admire you, the recognition can feel good. You’ll be affected by whether you believe in the journey you’re all taking: the most interesting technology and enjoyable coworkers might not compensate for feeling that you’re doing harm in the world. And, of course, money can have a massive impact on your quality of life, and that of your family or dependents too. As one person I spoke with said, “Working for a megacorp and getting the biggest bucks might not make me personally happy, but it would let me pay for my mother’s elder care, and that might be something I weigh above personal happiness.”
Credibility
As a staff engineer, it can be easy to drift up to higher-altitude problems and feel less “in the trenches” with the technology. This is not inherently a bad thing: there’s work available at all altitudes. But if you move entirely away from low-level technical problems, other engineers might distrust your technical judgment because they think of you as too disconnected. In some cases they might be right! Your understanding of what’s possible and what’s good practice might get out of date.
You can build credibility by solving hard problems, being visibly competent (see Chapter 7), and consistently showing good technical judgment. When I asked on Twitter what causes a loss of credibility, one of the big themes was absolutism: if you’re a fan of some technology and advocate for it in every single situation, people will stop believing you know what you’re talking about.
Credibility extends to your skills as a leader, too. If you’re polite (even to annoying people), communicate clearly, and stay calm in stressful situations, other people will trust you to be the adult in the room. If you are rude or highly dramatic, send emails that are unreadable walls of jargon, or make all-hands meetings wait while you ask a rambling question that only applies to you, it will have the opposite effect.7 You will build credibility as a professional every time you take on a chaotic situation and make it easier for everyone else to understand. You’ll lose credibility when you’re seen as contributing to the chaos, or when a project goes badly and you don’t do a good job of navigating the failure.
Credibility is another resource where there’s often a bar to entry. You won’t be offered a difficult project or opportunity unless someone believes you can succeed at it. And any change you propose will be more welcome if other people believe you know what you’re talking about.8 As Carla Geisser says in her article “Impact for the Impatient”, “the Giant Maybe Unsolvable Problem will be easier after you’ve shown you can get things done.”
At staff+ levels, you’re often trying to find a balance between seeing the big picture and accepting pragmatic local solutions. If other engineers see staff engineers as working in an ivory tower and advocating for work that doesn’t feel valuable, it’s even more important to be aware of your “credibility score” and establish that you know what you’re doing. But it’s a fine line: if you ignore the big picture and business needs, you’ll lose credibility with your leadership.
Skills
The skills resource behaves a little differently from the others, because it’s always slowly decreasing. That doesn’t mean you’re forgetting what you know (though you will lose fluency with technologies or techniques that you don’t use for a long time); it means that any technical skill set slowly becomes less relevant and eventually gets out of date. Our industry moves fast. If you take on projects that teach you nothing (or at least nothing that’s relevant to the projects or roles you want), you won’t keep up with the rate of decrease.
As you work through your career, you’ll increase your skills bar in three main ways.
The first is by deliberately setting out to learn something: you take a class, buy a book, or hack on a toy project. While this kind of structured learning can often happen at work, you may struggle to find time for it, and find it spilling into your free time.
The second way is by working closely with someone who is really skilled. Being the least skilled person on a team of superstars will teach you more than being the best person on an otherwise mediocre team. When you work with great people, it’s almost impossible to avoid becoming greater yourself.
The third way—and the most common, I think—is learning by doing. You get better at what you spend time on. If there’s a skill you want to hone, the easiest way to practice it will be to take on projects that need that skill.
There’s often a bar to entry for projects and roles: you won’t have a chance to take on the project unless you have the appropriate skills. So, depending on what you work on, you might be increasing your relevant skills every day or watching them slowly erode.
E + 2S + ...?
When you’re considering taking on a project, there’s more to the equation than whether the work is important for your company. You need to pay attention to your dashboard of needs too. When you look at how you fill your time graph, pay attention to what any new project, task, or initiative will do for each of your resources: your energy, quality of life, credibility, social capital, and skills. (See Figure 4-7 for an example.)
Unfortunately, I can’t give you a formula to plug numbers into: at different times you’ll optimize for different resources, depending on your current levels of each one and what you’re hoping to do. Some projects will be out of reach unless you have a minimum level of some of these resources. Some life goals will too.
Not every project and task you take on has to be ideal, or even good for you. Sometimes you’ll choose a project that’s terrible on one axis because it’s a good choice for some other reason. Maybe you take a stint of working longer hours than you would prefer because helping your team get through a crisis is important to you. Or maybe you work on the project that’s most important to your boss, with the understanding that you’re going to take time afterward to deep dive on an idea you’ve had. Sometimes a project will even be objectively terrible for you and you’ll have some reason to do it anyway. But over the long run, you need to make sure your needs are being met.
Bin packing
Since projects can take a lot of different shapes and sizes, filling your time efficiently isn’t easy. Figure 4-8 shows how complicated the decision can be. Adding any of these blocks might mean that another, more important block can’t fit. And of course you have the added complexity of keeping all of the resources in good shape.
It’s a multidimensional bin-packing problem. This is a famously difficult thing to optimize, so don’t entirely overthink it, especially when the task in question will only take an hour or two.12 Any given project will never be the be-all and end-all of your dashboard scores. But the bigger the project, the longer you should spend thinking about whether it’s a good fit.
Choosing Projects
New projects and tasks will become available every day. If you always say yes, you’re unlikely to get anything completely finished. If you never say yes, you’ll miss opportunities that would have been good for you, and you’ll look like a slacker. You can fit a lot of small tasks into a day, and you usually have more than one project on your plate at a time. But how many is too many? How do you decide?
Evaluating a Project
Engaging with a project can take lots of shapes. But it’s easier to plan and evaluate your work if you’re clear about what you’re signing on for.
Let’s look at some places projects come from, and some of their characteristics.
You’re invited to join
A project needs a lead or another contributor, and someone asks you. The project is already underway, so it may already have momentum, and you probably won’t need to convince your organization to care about it. And it feels good to be sought out! But the project might not be what you think is most important, or the kind of work you’d enjoy doing right now, and the fact that someone thinks you’d be a good fit for it might mean that it’s very similar to work you’ve done before, and not an opportunity for growth.
You ask to join
If there’s a project you think would be a great growth opportunity, teach you skills you want, let you work with people you enjoy, or just be really fun, you can go ask to join it. For a lot of folks, asking is so obvious that this recommendation doesn’t feel worth saying. Some of us, though, prefer to hint at our availability and wait to be invited. If you’ve ever done that, this public service announcement is for you: even if it’s obvious that you’re the best fit, don’t wait for someone else to notice. Go ask for the project you want.13 Everyone will be happier and you’ll increase your chances of actually getting it.
You have an idea
Sometimes opportunities for new projects jump out at you. Working on your own initiative likely means you’ll need to find the words and narrative to convince other people to care, especially if you want them to work with you. It can be frustrating to find yourself mired in navigating the organizational structures to create a new project, get headcount, justify the business case, and show results, when you just want to get into designing or coding. But once it’s underway, you get to lead a project the way you want it to be led and maybe have a huge impact.
The fire alarm goes off
There’s a critically late project, a huge performance regression, or a scary incident—and you could save the day. Once again, it feels nice to be needed! And it can be oddly relaxing to join in on a crisis: the goals are usually very clear and there’s a bias toward action rather than consensus and planning. But it’s an abrupt transition.
If there’s a sudden crisis that calls for all hands on deck (or you on deck), you might be abruptly doing something else for a while, then returning to your regular project schedule (as in Figure 4-9). It’s a major context switch. It can be a bit jarring, and afterward it might take you some time to get back on track with whatever you were doing before. But helping out is often the right thing to do.
Remember, though, that if you do too much crisis response, it can be hard to find opportunities for growth, or to have much of a narrative for your work other than “I jumped on whatever the current fire was.”
You’re claiming a problem
After the fifth time you’re slowed down by a clunky API or some wodge of technical debt, you might find it hard to not just go take care of it. If you ranked all available work, you might be hard-pressed to claim that this fix is the highest on the list, but it’s bugging you and you don’t want to ignore it any longer. Time for a side quest (see Figure 4-10) to fix it!
When you’re blocked on bigger work, solving small, easy problems can be a great way to build up momentum again. You get to fix the problems in front of you, and probably get a lot of kudos (and credibility and social capital!) from your peers. It feels amazing. But too much of this kind of work can keep you away from longer-term projects.
You’re invited to join a grassroots effort
A more nebulous invitation is to get involved with some grassroots initiative, say, a working group to improve testing across the company. This sort of initiative is not on anyone’s OKRs and probably not something the company is already invested in. Joining a group like this can be a way to work with interesting people and have a huge impact, or it can be a tremendous waste of time. It can be hard to tell which you’re heading into, so be wary. Working groups can be effective if there’s organizational buy-in, a clear time commitment, exit criteria, and a process for making decisions. But if it’s a big group of overallocated people who like to talk but have no power to change the things that are bothering them, it’s a social group and no work will occur.
Someone needs to…
It could be action items at the end of a meeting, an unexpected request from another team, or a problem that nobody anticipated: some work doesn’t belong to anyone, and you should do your fair share. If it will involve horrible levels of politicking, cruft, or tedium, consider taking on more than your fair share: sometimes being the most senior person around means that you should shield your less experienced colleagues and take on the grungiest work. Volunteering can build credibility and goodwill with your team, and while it’s often frustrating, there’s a weird satisfaction in getting to the end of the work and knowing that you’re the reason it’s no longer a mess. But just like with jumping on problems, watch out for doing too much of it at the expense of other results people are expecting from you.
You’re just meddling
As a staff engineer, you’ll likely have opinions on a bunch of things (as in Figure 4-11) you haven’t been invited to help with. If you see a project that’s going in a dangerous direction, or you have ideas about how to make it better, you might nudge your way in and have some conversations. Meddling can be very welcome, or very much the opposite. Make sure you’re not “lobbing a water balloon”: getting involved long enough to cause chaos, then disengaging without sticking around to experience the consequences of your changes.
What are you signing on for?
As you consider taking on a new project, task, mentoring arrangement, meeting, etc., understand its shape and ask yourself what impact it will have on your time, both now and later. Be clear with yourself about what you’re adding to your schedule and sending to Future You. Some projects start small but hit an inflection point (such as project approval), then start needing much more time. Others are time-intensive at the start and then trail off. If you know it’s going to get busy later on (as in Figure 4-12), will you still be able to handle it?
Be cautious about how you estimate time. If you’re agreeing to a one-hour meeting every week, for example, is that really an hour, or will you need to do extra prep and come away with action items?14 If the meeting is in the middle of an empty four-hour block, will you still be able to use the other three hours productively?
A project that seems small can actually be a huge time commitment if you’re going to stick with it for a long time. Consider the boundaries and scope of your involvement. If you’re taking on ownership of a process, will you be able to hand it off to a team later on? If you’re temporarily joining a project or helping out with a crisis, but don’t intend to be on it long term, be clear that you’re joining just for the beginning to disambiguate it or to help the lead get started. Exit criteria are especially important for work that is risky or that you’re not sure you should be doing at all. You can reduce that risk by including formal go/no-go or retrospective points, or framing things explicitly as a timeboxed experiment.
Even small projects or tasks can affect your resources, and their effect can be disproportionate. A single meeting can build your social capital and credibility substantially or drain your energy and morale so that you can’t focus for the rest of the day. Pairing with someone very skilled for an afternoon can sometimes teach you more than you’d pick up in a week of learning on your own.
Questions to Ask Yourself About Projects
Here are a few more resource questions to think about.
Energy: How many things are you already doing?
I joke that I have enough energy to care about five things at once.15 If I choose to care about a sixth, one of the previous five has to fall off the list. Otherwise, as the number of balls in the air increases, I’m likely to accidentally drop one—and it won’t be the least important one. I can usually care about some extra things for the duration of a meeting, and maybe a brief action item or two afterward. But after that’s done, the slot is going to quickly get filled up by the topics in the next meeting. So when someone invites me to care about some new problem they have, I have to decide whether I want to stop caring about something else.
If the new project is asking you to care about something new, do you have a free slot for that? Remember that your capacity will be affected by what’s happening in “real life” too, not just work. If you’re expecting some huge life event, this is probably not the time to start a project that will need a ton of your energy and attention. Every choice means there’s something else you can’t do, and if you choose too many things, you end up diluting your impact on any one of them. So you really do need to choose your battles.16
Warning
If you tend to let distractions pull your attention in lots of directions at once, try to build the habit of pausing for a few seconds before reflexively volunteering or agreeing to do something.
Energy: Does this kind of work give or take energy?
What kind of work will this project involve? If it’s going to take a gazillion whiteboard conversations to build up context and you find those draining, this project is going to be more expensive for you. If you find it hard to focus for a long time and you’re going to need to read hundreds of pages of backstory or a stack of industry white papers, that kind of project will be harder for you.
Do any of the people you’ll work with leave you exhausted every time you talk to them? If you’re considering a project and get tired just thinking about the kind of work that’s involved, weigh that up when you’re deciding whether to start it.
Energy: Are you procrastinating?
If you’re low on energy, it can be almost impossible to push through and take the next step on some huge, ambiguous, complex project. You might find yourself picking up some low-priority work to fill the gap. That can be OK: the last hour of the day after some draining meetings can be a great time to tidy your desk or archive old mail. But some low-priority tasks can start out easy, then grow into another complicated project that you’ll need energy to tackle.
In his blog post “The first rule of prioritization: No snacking”, Intercom cofounder Des Traynor discusses the magnetic pull that low-effort, low-impact work can have for engineering teams. He describes Hunter Walk, now a partner at Homebrew, drawing a 2 x 2 graph to map impact against effort (see Figure 4-13), and warns against the quadrant of low effort and low impact, describing such work as “snacking.” Since this work tends to be quick and useful (and feels good), it can be easy to justify doing a lot of it. But, as Traynor notes, “It feels rewarding and can solve a short-term problem, but if you never eat anything of substance you’ll suffer.”
When you’re tired, snacking can feel easier than resting. Notice when you’re doing busywork because you’re tired, and find a way to rest instead.
Energy: Is this fight worth it?
In her article “OPP (Other People’s Problems)”, Camille Fournier cautions about the grinding frustration of trying to solve all of the unowned problems you see. Even if it ends successfully, an organizational project can take longer and drain more energy than you’d intended. As Fournier writes: “Take a moment to reflect on whether it was worth the effort to you, and think about how many more things like this you see at the company you’re in that you really want to change just as much as that one. Think about what else you could be doing with that extra energy.”
Quality of life: Do you enjoy this work?
Think about the kind of work that your project will need. In Chapter 1, I quoted Yonatan Zunger’s observation that every project needs core technical skills, project management, product management, and people management. Depending on who else is on your project, some of those categories may not be assigned to anyone and, if you’re leading the project, you’ll be filling in the gaps. Will you enjoy that kind of work, or will you resent it for not being the thing you actually want to do?
Here are some more points to consider:
If you like your work to be intense and have high stakes, will the project have enough excitement to keep you happy? Conversely, if you prefer things to be a little more predictable, will it be too stressful?
If you hate working alone, will you have people to collaborate with? If you find people exhausting, will you need to be in a big group all day?
If you like pair programming, will this project let you pair? If you hate pair programming, will this force you to do it?
Will you have to be on call? Do you like being on call?
Will the project require travel? Do you want that?
Will it provide opportunities for conference talks, writing articles, or otherwise publicly sharing what you learn? Do you want those?
Will you get to work with people who make you feel comfortable and safe? Will you be able to relax and be yourself around your coworkers?
Quality of life: How do you feel about the project’s goals?
Will this work align with your values and make you feel fulfilled, or do you feel a bit “off” about it? For some people, value-aligned work means making sure you’re not doing something that hurts others. For others, your work needs to actively help create a better world. What is your project aiming to do? In most cases, changing projects inside a company will not change how much your work aligns with your values, but sometimes you’ll be doing something you feel better or worse about. Think about the positive or negative effects of your work on the world, and weigh up how it affects your own personal satisfaction with your life.
Credibility: Does this project use your technical skills?
If you’ve been operating at a very high altitude for a while, you might want to get into the trenches occasionally to show that you still know what you’re talking about. Different projects will use and showcase different skills, and doing difficult things gives you more credibility. If you can implement something that three other people have already failed at, or make it tractable for other people, that’s a solid boost to your reputation—and if you later want to do something more abstract, you’ll have less risk of being seen as living in an ivory tower.
Credibility: Does this project show your leadership skills?
A new project can be an opportunity to show that you’re a leader through taking responsibility for outcomes, communicating frequently and well, and giving the right level of detail around what’s going well and what’s not and why. And of course, you’ll build trust with your organization by actually succeeding at the project. Evaluate new projects for what kinds of skills they’re going to let you demonstrate and how succeeding will reflect on you. Also be aware of the risk of failure: if you’re taking on an unwinnable battle, will you be respected for trying, or will you be blamed?
Social capital: Is this the kind of work that your company and your manager expects at your level?
In Chapter 1, we explored what you and your organization believe your job is. You may want to optimize for the kind of work your manager considers appropriate for your level (or for a level you’d like to get promoted to). If you’re somewhere a staff engineer isn’t considered a success unless they’re writing code (or designing systems or leading big projects), make sure you’re doing those things.
In general, work that matters to the people in your reporting chain is work that builds social capital. Lest this start to feel really Machiavellian, I want to reiterate that this is just one aspect of the project! I suspect we all know the kinds of people who only optimize for looking good to leadership, and those aren’t people we tend to respect. But do keep an eye on your current standing with the people who influence your calibration, compensation, access to good projects, and future promotions. Managing up includes understanding your boss’s priorities, giving them the information they need, and solving the problems that are in their way—in other words, helping them be successful.17 Their success gives them social capital that they can spend to help you.
Social capital: Will this work be respected?
Your project can build—or lose—social capital with your peers depending on how it aligns with their values. If you’re working on something that other people consider to be an important fight, or just a very cool project, that will build goodwill and they’ll be more inclined to help you. If they think you’re doing something pointless, misguided, or even evil, they’re going to think less of you, and you’ll struggle to get their assistance or trust. I’ve seen many disapproving backchannel conversations along the lines of “I’m really surprised to see [person] work for [distasteful project or company].” If that person is well regarded, they might be trusting their endorsement to add a shine to a shady-looking project. Sometimes they’re right, but attaching their reputation to the project is a risky move.
Social capital: Are you squandering the capital you’ve built?
Here’s a cautionary tale. I once worked on a team that hired a new senior-level engineer, someone who came with big credentials and a lot of respect. It was widely acknowledged that he’d been the only reason his previous project had succeeded, and we had high hopes for what he would do. And he started great! As the most senior engineer on the team, he was immediately productive, solving big problems and raising the standards for everyone else. We were so glad he’d joined—until we weren’t.
After just a few weeks on the team, he noticed a system that wasn’t following a best practice. He wasn’t wrong—it was a mess—but it wasn’t a system we touched often, and it didn’t seem worth fixing. Our new colleague advocated for the change anyway. His reputation and his enthusiasm swayed everyone else, and nobody objected when he took two new grad engineers away from their projects and dove headfirst into this one. Bad call. After several weeks, it became clear that this project would take a few quarters—and cost 10 times what he’d anticipated. But the senior engineer kept pushing ahead, insisting that it would be worth it. It was a couple of months before he accepted reality and the project was abandoned. The new grads returned to their previous priorities, and everything went back to normal—except that our new hire was no longer quite so esteemed. He’d squandered his social capital on a fight he didn’t particularly care about. What a waste.
Notice when you’re in danger of wasting your social capital. And be deliberate when you spend it to help other people, such as asking your company to interview a friend who has a résumé they would normally pass up. This form of support, sometimes called sponsorship, costs you something: if the person ends up failing, being a jerk, or otherwise being a regrettable choice, it will reflect on your judgment. Make sure the person you’re sponsoring is worth it.18 Be aware of this dynamic too when you’re looking to borrow capital from someone else—for example, when you want executive sponsorship for a technical vision or strategy. If you’re borrowing someone else’s authority and reputation to move a project along, don’t squander it. They might not sponsor your ideas a second time.
Skills: Will this project teach you something you want to learn?
Tech changes fast, and your skills will become out of date over time unless you’re deliberate about keeping up. A new project can be a great opportunity to practice a skill you want to get better at. This could be for a role you’re aspiring to, aspects of your current role, or just topics you’d enjoy knowing more about.
One way to think of this: what stories do you want to be able to tell on your future résumé? Do you want to show that you can take on a big, ambiguous, messy project and make it happen? Do you want an example of debugging something difficult, driving a major culture change, or turning junior engineers into senior engineers? If so, look for projects that give you opportunities to practice those skills.
Skills: Will the people around you raise your game?
Some people make you better at your job without setting out to teach you anything: they’re so competent that you build skills just by bathing in their aura. OK, the reality is that you learn by watching the skill being executed well, but I’ve definitely had colleagues who seemed to have a magical effect on their team. A whole lot of Part III of this book is going to be about being one of those people. But I recommend you try to find people like that for yourself too.
Even if you’re the most senior person in your group, you can still learn from the people around you. People who do great work tend to elevate the skills even of those more senior than them. And if you have a team where the new grads are in awe of the skills of the seniors, but the seniors are just as much in awe of the skills of the new grads, that’s a team where everyone makes everyone else better.
Working with someone who’s great at a skill you want can take you up a level in a way that’s hard to find otherwise. This is why internships can be so valuable. But the same phenomenon holds throughout our careers. As a friend said when she was offered an opportunity to work with her company’s CTO: “I’ll get to learn how CTOs talk to people.” So, when you’re choosing a project, look at whether you’ll work with people you’ll learn something from, and people who will inspire you to do your best work.
What If It’s the Wrong Project?
After viewing a potential project through the lens of each of those questions, you’ve probably got a good feeling for whether you should take it on. Maybe you shouldn’t! It’s possible for a project to be important but not actually right for you.
If you’ve decided that a project isn’t a good fit for your current schedule and needs, you have a few options. You can try to do the thing anyway and accept the consequences: a popular choice, but not a long-term sustainable one. You can try to compensate for the negatives by canceling other work to make space on your time graph, or getting your needs met elsewhere. You can make the project into an opportunity for someone else. You can reshape it so that it does fit. Or you can just say no. Let’s look at each of those.
Do it anyway?
A popular approach for projects that don’t fit is to nonetheless try to make them happen. It feels like the path of least resistance: you don’t have to say no, and surely (you tell yourself) Future You will figure something out.
This decision can even be the right one in the short term: you might take one for the team and get a vital project done, even if it’s terrible for your time, energy, skills growth, etc. If you find yourself taking on work that undermines your needs, though, make sure you understand why. Is this a temporary situation? What are the exit criteria and when do you expect to get there? If the plan relies on self-sacrifice, that’s not something you can or should enable long term.
If you’ve been doing projects that aren’t good for you and there’s no end in sight, this is a good conversation to have with your manager. If you tell them “This work is sapping my energy and spilling over into my family time” or “I want to do something higher-profile because I’d like to get promoted” or even “This project is just making me really unhappy,” they should listen. Hiring staff engineers is difficult and expensive, and most good managers will have a little alarm signal going off in their brains if a senior engineer is emoting unhappiness with their work. That doesn’t mean the situation will change immediately, but your manager should help you find a path over time to something more compatible. If you have been very clear about your needs and are still unable to make a change, that might be a signal that you’re in the wrong team or the wrong company.
This realization does not necessarily reflect badly on anyone: you might have become a big fish that needs to move to a bigger pond. I’ve seen this happen a lot for teams working on systems or products with relatively simple needs or small scope: what the individual needs and what the team needs stop aligning. It feels harsh to say “If you want to grow, it’s time to do something else,” but that’s often the reality.
Compensate for the project
If a project is a good fit in some aspects but not in others, is there a way you can compensate for it? For example, can you add a side project that gives you the enjoyment, skills growth, or credibility that you’re not getting from your main project? If the gap is that you just don’t have time and energy for a particular project, can you make space? If you’re using the trick of putting your work into your calendar, you get a nice visual representation of this. If you know something will take ten hours and you’re having trouble scheduling time for it, you’ll probably need to move something else out of the way.
And if you’ve got projects taking up space in your brain that need more time and attention than you can give, it’s OK to decide that you’re going to stop caring about one of them. Maybe you’re mentally keeping several projects warm on the back burner, hoping that someday you’ll have time to get to them. My colleague Grace Vigeant gave me great advice once: sometimes you have to torch the back burner.19 Accept that a task is not important enough to get back to—or hand it over to another chef!
Let others lead
A project that isn’t a good fit for you right now might be an excellent opportunity for someone else. Think about your coworkers’ energy, skills, quality of life, credibility, and social capital, and see if there’s someone else who will benefit from the project. Author and engineering leader Michael Lopp says that a leader’s job is to “aggressively delegate.” He says that there’s guaranteed to be work that shows up on your plate on which you can “get an A” every single time, and if you give it to someone else, they’re probably going to get a B. But, he argues, a B is a pretty great outcome for their first time doing this kind of work: “You’re demonstrating trust by giving them work that’s scary to them and that you know—and they know—is beyond their means. ‘I know you can do this. I’m going to help you with this.’ That’s amazing.” The other person gets to learn. And maybe you can coach them from a B to an A.
If you’re the most senior engineer in the group, make sure you’re not taking all of the opportunities to be publicly competent. Do a gut check for whether someone else needs the project more.
Resize the project
If the project doesn’t work for you in its current form, sometimes you can reshape it into something that does. Maybe you can’t join the project full time, but you can join for the first month to evaluate the direction for feasibility, or act as a consultant to a different lead. If you don’t have free cycles to take on an ongoing mentoring relationship, maybe you can meet once. If you aren’t available to review a proposed design, maybe you can recommend someone else. And if you aren’t willing to let a certain problem become one of the things you’re going to care about on an ongoing basis, can you care about it for the duration of a meeting and offer advice on how you’d proceed?
If a project would be interesting to you with some modifications, it’s usually worth talking about that. The worst they can say is no.
Just don’t do it
Of course, the final option is to just not do the thing. Oof, it’s easier said than done! It can be hard to leave something broken, to notice a problem that you know you could solve, and ignore it every day. Sometimes you have to, though. Not all problems are your problem. Either you’ll get to it later, or someone else will, or it will stay broken and that just gets to be OK.
It can be even harder to say no if someone has asked you for help, especially if you really could have stretched and done the thing. But saying no is the price of high-quality work: if you do too many things, you won’t be able to do them well.
It’s common to feel uncomfortable saying no, enough that there are a ton of articles out there with scripts for how to do it. I like this one from indiatoday.in, for example, which recommends “I wish there were two of me,” “Unfortunately, now is not a good time,” and “Thank you so much for thinking of me, but I can’t!” Or this excellent advice from the Ask a Manager blog:
Pay attention to how people you admire say no. You might be wary of pushing back on a request because you can’t imagine how to do it in a way that doesn’t alienate people. Look at colleagues who seem to do it successfully, and see if you can find language, tone, and other cues that you can adopt for yourself.
Or just think back on the times you said yes and wished you hadn’t! Your “no” is a gift to your future self. I’ve started tagging emails with an #isaidno label in Gmail, an idea I got when Amy Nguyen tweeted about doing something similar. It feels so good when the deadline rolls around and I’m not on the hook.
Examples
Let’s end this chapter by looking at some examples, weighing up the costs and benefits of each, and working through ways to reduce the cost and increase the benefits. I’m going to suggest some outcomes, but of course you might make different trade-offs.
Example: Speaking at the all-hands meeting
You’ve just shipped a project that’s been running for 18 months. It was a difficult project, and you’ve been working flat-out for the last couple of months. It shipped, it landed well with customers, and you’re feeling triumphant. Also tired. You’re about to click Submit on the PTO form when you notice an email from your VP. They’d like you to present about the project at the engineering all-hands in two weeks. You’ll be back from vacation then, but it’ll mean creating a presentation deck when you’d planned to be on a beach. What do you do?
Let’s weigh up this opportunity, illustrated in Figure 4-14. It’s great visibility, and your VP is inviting you to do it. That’s a boost to credibility and social capital. It’ll take time, though: you won’t want to turn up with a half-assed presentation, so it’s going to eat into your vacation time, denting your quality of life. It’ll take a lot of energy, and you’re very tired after the big project. What should you do?
The biggest question I’d ask you is whether this is a new opportunity for you. If you’re used to presenting to groups this big, you’re not going to learn as much or get as much benefit from this opportunity as if it’s your first time ever. Are you coming from a deficit of social capital or credibility? Do you need this boost, or does launching the project mean that you’re already well regarded?
Unless this is an amazing opportunity for you or you really need this particular win, I’d look at who else this could be an opportunity for. Was there someone else on the project who did good work but hasn’t had as much glory from it, or who will learn a lot by presenting? Make sure you pick someone who will put in the work and do a good job. It doesn’t have to be as good a job as you would have done, but if you spend social capital to recommend someone who shows up with shoddy slides they created in 10 minutes, it will reflect badly on you.
If you decide that this is an opportunity you should take, it might be worth trying to reshape this project. Can you make it a shorter presentation and lower the effort? Can you copresent with someone and have them take some of the load of the slides? Best of all, can you postpone to the following all-hands meeting? By then, you’ll have more information about usage numbers for your feature.
Example: Joining an on-call rotation
Your company has an on-call rotation for incident commanders: the people who step up to coordinate major incidents that are visible to users or cross multiple teams. You haven’t been an incident commander before, and you like the idea: it’s an opportunity to work across teams in a very visible leadership role, as well as get into some interesting technical problems in real time. Plus, you never learn as much about your systems as you do when something is broken. It’s a little scary, though, because if there’s a big outage, all eyes will be on you. There’ll be a learning curve that will take time. And, of course, you’ll be on call and can be paged out of hours. What do you do?
Figure 4-15 shows how your resources will change if you take on this role. Since you haven’t been an incident commander before, this is a skill boost for a very transferable skill. Being the responsible person during a major incident also tends to increase credibility and social capital—assuming you do it well. But doing it well will mean an investment of time. And being paged out of hours can be rough on your energy.
I’d weigh this one up based on quality of life. How resilient you are feeling at this stage of your life? If you’re feeling a bit fried, adding an occasional extra wake-up could cost more than you should spend right now. If you’ve got a young child or your mental health needs managing, then it might be the wrong time in your life to build a skill that comes with interrupted sleep.
On the other hand, if you’ve recently been working on high-level projects with long feedback loops, it can be fun to do something where you can see your impact immediately. As one manager friend says, “At the end of an incident, coming down from the adrenaline, it’s really clear what I did today.” If the on-call rotation comes with extra compensation, is it enough to compensate for the negatives? Do it if the idea of doing it makes you happy. Maybe sign up for six months and then reconsider.
Example: The exciting project you wish you could do
You’ve been at a company for a few years and you’ve done a lot of work to modernize architecture and processes. As a result, you’re now the point of contact for a lot of things. If there’s a question about how the company does testing, onboarding, incident response, or production readiness, you’ll end up in a meeting about it. You’ve got a long backlog of improvements you’d like to make to these processes, including some that are underway.
There’s a new project coming along in an area you don’t know a lot about but find really interesting. Given an empty calendar, you could learn the base technology, and you know you could lead the project and make it successful. But you don’t have an empty calendar! You’re worried that your lack of time would put the project at risk. But you’d love to do this work and you’d love to have done it too. It’d make a great résumé line. What do you do?
Figure 4-16 describes the effect on your resources. It sounds like this is a project that would make you happy and build skills that you want to have. It might be a boost to credibility, too. But if you take it on and fail, that’ll look pretty bad for you. And it is likely to take more time than you have available, so failure is a real risk.
What should you do? It depends on whether you’re ready to make space and torch the back burner. This is a good conversation to have with your manager, or their manager: how important is it that someone keeps iterating on the existing processes? Are you polishing something that’s pretty good already? If the work is needed, is there someone you can hand it off to?
I think you should take the new project. Be careful about drifting back into the process work, though. This is a time when putting nonmeetings in your calendar will be crucial: if your calendar is defined by what other people put into it, you’re not going to have time left over for your project. Block out the time you need for the project first, and then let other people claim time from what’s left.
Example: I want to want to
Your manager has asked you to lead a project. It’s critical to the business, highly visible, and the sort of thing you could do really well. It’s bigger than anything you’ve done before, and your coworkers would be a dream team of people you’d enjoy working with and learning from. There’s only one problem: you just don’t want to. It’s frustrating, because on paper the project looks amazing for your career, a good opportunity that you may regret passing up. You wish you wanted to do it, but you just don’t. The project needs the kind of work that you’ve done a lot but don’t enjoy, and you’re longing to do something else—something you’ll do less well but that will make you want to come to work in the morning. Figure 4-17 shows the situation. What do you do?
If you feel that strongly negative about anything, pay attention to the feeling; don’t rationalize it away. No matter how good the opportunity, taking it isn’t mandatory.
Before you say no, consider whether there are ways you could reshape this project to fit your needs better. Would it be more interesting to you to coach someone else as lead, or join in a different role that’s still helpful for your manager? Would you be interested in joining for a month to get the project moving? It’s OK if you still don’t want to, but think through whether there’s a variant that would work better. Finally, if you’re looking for a different kind of work, tell your manager and other people in your network, so they’ll think of you when something new comes up.
Defend Your Time
A few years ago, I was considering emailing a VP of engineering to ask for advice. I’d briefly worked with her years earlier and I was sure she’d remember me, but the problem I was trying to solve didn’t have anything to do with her or her organization. She was just someone I knew who would have a helpful perspective. I cast around for less busy people I could ask, but nobody came to mind. So I worried about it out loud with friends on a group chat: “I want to ask her, but I know she’s busy. But it would really help. But I don’t want her to feel under obligation to help me.” One friend gave me advice that I’m still using years later: “Ask her. You don’t get to that level without knowing how to defend your time.”
You won’t succeed unless you can defend your time. The number of demands on it will increase and the number of available hours will stay the same, so be deliberate about what you prioritize.20 And, when you choose a project, make sure you have enough of the resources you’ll need to do a good job.
In the next chapter, we’re going to look at leading big projects.
To Recap
By the time you reach the staff+ level, you will be largely (but probably not entirely) responsible for choosing your own work. This includes deciding on the extent and duration of your involvement with any given project. You can’t do everything, so you’ll need to choose your battles.
You are responsible for choosing work that aligns with your life and career needs as well as advancing your company’s goals.
You are responsible for managing your energy.
Some projects will make you happier than others, or improve your quality of life more.
Your social capital and peer credibility are “bank accounts” that you can pay into and spend from. You can lend credibility and social capital to other people, but be conscious of whom you’re lending to.
Skills come from taking on projects and from deliberately learning. Make sure you’re building the skills you want to have.
Free up your resources by giving other people opportunities to grow, including starting projects and handing them off.
Focus means sometimes saying no. Learn how.
1 OK, not that quickly. It’s really difficult. But you eventually learn.
2 In this chapter I’m going to use the word project very loosely, to mean any initiative or standalone task, from answering a colleague’s question to a huge cross-organizational effort that’s intended to last for years.
3 As I write this, my calendar includes making slides for an upcoming all-hands meeting, reading a design that we’re going to discuss next Monday, catching up on a long and nuanced Slack thread, and texting the guy who’s supposed to come stop my roof from leaking. In the past I might have squeezed these tasks in around the meetings, but all four of them are more important than most of the meetings I have this week.
4 If you are a sophisticated AI, of course you’re still welcome here. Thank you for choosing this book.
5 These categories are far from comprehensive, but they’re a useful model for thinking about projects. What else would you put on your dashboard?
6 At the time of writing, we’re entering year three of Covid and I don’t know anyone who’s at maximum energy.
7 There’s a good chance these three people are some kind of cosmic construct present in every organization simultaneously.
8 Note that we make assumptions about other people’s abilities, and implicit bias plays a part when we’re deciding how credible someone is. If you get extra credibility for free because of your demographic, think about whether you can use that freebie to boost other people who don’t.
9 If you’re an RPG player, you could think of credibility as WIS and social capital as CHA.
10 Read Jane Jacobs and Pierre Bourdieu if you’d like to know more.
11 He actually said “Rien ne réussit comme le succès,” but it amounts to the same thing.
12 I’m aware of the irony of writing this after clearly overthinking it for a chapter.
13 OK, I talked in Chapter 2 about organizations that have crystallized, where asking for a good project before your turn will be frowned upon. If you’re in one of those orgs, make up your own mind about whether this is terrible advice. I’m also conscious here that this dynamic will be influenced by culture, gender roles, and other factors. Alex Eichler’s Atlantic piece about ask versus guess cultures is a good read. All that said, unless it really feels impossible, register your interest in any project you want. Both you and the person looking for a lead will lose out if they don’t realize that you’re interested in it.
14 Budget another few hours if you’re a chronic volunteer.
15 OK, only mostly a joke.
16 As the philosopher Ron Swanson tells us, it’s better to whole-ass one thing than half-ass two things.
17 If you’re more senior than your manager and “reporting low” (see Chapter 1), managing up might also mean coaching them and helping them grow into their role.
18 As we’ll discuss in Chapter 8, it’s really easy to accidentally find yourself only sponsoring people like yourself. Watch out for implicit bias here.
19 If you’re using the trick of putting work in your calendar, it can feel very freeing to get to that “meeting” and decide not to do it or even reschedule it. You’re not going to do it. It’s gone. I’m told that bullet journaling is helpful for letting go of things, because every day you copy the things you still care about to the next page. You can decide not to move something, and just…let it go.
20 The available hours may even decrease. As Will Larson says in one of my favorite of his articles, “Work on What Matters”, “Even for the most career-focused, your life will be filled by many things beyond work: supporting your family, children, exercise, being a mentor and a mentee, hobbies, and so the list goes on. This is the sign of a rich life, but one side-effect is that time to do your work will become increasingly scarce as you get deeper into your career.”
Get The Staff Engineer's Path now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.
Social capital
While credibility is whether others think you’re capable of doing whatever you’re trying to do, social capital reflects whether they want to help you do it.9 The term comes from sociology, where it refers to the connections between people.10 In business terms, though, we usually look at it like this: if someone asks you to do something inconvenient to help them, do you say yes? It probably depends on how much they’re in your good books. Do they help you out a lot, or are they continuously asking you for favors and giving nothing in return? Did you end up regretting the last time you helped them? Whether we talk about it or not, everyone has a bank account of capital with each of the people they know. If someone has built up credit with you, you’re more likely to do them a favor or give them the benefit of the doubt. Social capital is a mix of trust, friendship, and that feeling of owing someone a favor, or of believing they’ll remember that they owe you one.
Social capital builds up over time, and you’ll need more of it with some people than others. In general, you’ll want to stay on good terms with the people in your reporting chain and build a track record of helping them achieve their goals. If there’s a business-critical problem and you refuse to help, or you take on an important project and don’t complete it, you’ll burn goodwill. And if you always ask for favors but never repay them, you’ll start to find it difficult to get people to help you.
As you spend time with people, have good conversations, work together with them, help them out, make social connections, and support each other, goodwill and social capital will build on both sides. Completing projects will build capital too. If you delivered the project that made the company successful last year or unpicked the impossible architectural knot that was slowing everyone down, you’ll have a lot more leeway the next time you’re asking for something. As Alexandre Dumas said, nothing succeeds like success.11
Once you have social capital banked, spend it deliberately. When your star is high, you can often get away with chartering an initiative that other people don’t really believe in, just on the strength of their faith in you (or their desire to keep you happy). Invest your social capital wisely. If you waste your “one unreasonable request” token, you won’t get it back.