Career ProgressionFor many jobs, particularly in the tech world, there’s a progression in responsibility and scope. You might be hired out of college for a specific role. You join a team with an area of responsibility and a backlog or roadmap of work. Your manager gives you easy tasks so you can learn the ropes, and slowly you take on increasing responsibility. However, there’s still a list of things that need to be done, and you help go through it. There are clear expectations. There may even be a career map laid out for you, documenting exactly what is expected as you grow.
For example, this is what we do at MongoDB Engineering. We onboard people. We grow them, and we give them a blueprint for what to do. I’ve had the pleasure of seeing many young people join us as interns, return as full time employees, and thrive in this system. Many of them are now senior engineers, leads, directors, and staff engineers. The system works.
However, even as nicely scripted as that process is, there comes a point when no one tells you how to do something. It may be an open problem that needs a design. It may be pushing on a neglected pain point. It may be picking up an opportunity to write a blog post. Suddenly there is flexibility in what you should do and how you should do it. It might only be a little bit at the start, but it grows. To me, this is when things get interesting.
At work, someone needs to decide what problems need to be solved and what work needs to be done. More specifically, someone needs to decide what you should work on. Ideally, that person should be the person with the most insight into the company's problems and your strengths. If you are doing things right, you are the person with the best insight into your strengths. With some effort, you can also have the best insight into some area of your company's work.
When you do that, you are defining your own job. No one else is. The sense of self-determination is very motivating and satisfying to someone like me. More importantly, I would argue that when you start defining your own job, you become more valuable to your company.
More Valuable EmployeesWho are the most valuable people at your work?
Sometimes you may ask a question at work and be told, you need to talk to Alice. Or you may hear a VP say, we need another Will. Your company works because of people like Alice and Will. They have defined their own valuable roles. They may have an impressive title (or not), but they are talked about like that because they are one of a kind. The company had no idea it desperately needed those roles until someone started to do them.
What makes Alice and Will valuable, is that they are:
- Addressing a need the company didn’t know it had
- Very good at their role
- Very motivated in their work
The second two points tie together. By identifying and working on a problem before others, they have a head start and will be better at it. Because they are working on what they want to, they tend to be motivated and make even better progress. It’s a very rewarding cycle.
An Example: A Very Valuable EmployeeI have a friend and colleague who worked in a support organization. He pulled support cases from a queue, addressed them, and moved on to the next ticket. He was good at it and got the harder tickets. Soon he identified several things that could make his life easier on those support cases. He built scripts to collect the information, and other tools to visualize the results.
Suddenly he had become the person to go to for hard problems. He liked the hard problems. Further, this bought him more space to think about the hard problems and how to solve them. He built more tools and planned ahead. Eventually those tools were productionized and taught to others. He remained the best at the tools, because he was always pushing their limits and pushing them forward. He also had time to think about what the next limits might be.
What does my friend work on today? Whatever he wants to. Everyone knows he’s incredibly valuable. Everyone brings him the most interesting problems to work on. He’s engaged and productive, and everyone knows he’s valuable.
A Roadmap To Defining Your JobAssuming I have sold you on defining your own job, you would like to know how to do this yourself. The first step is to be good at your job. This may take years. Do what you are asked to do, learn, and execute. This is critical for building trust and flexibility. Do not skip this first step.
Assuming you are good at your job and have that trust, the next step is to know some things about your company and yourself.
- What does the company need?
- What are you good at?
- What do you like working on?
It is not enough to know what that common item is that uses your strengths, that will help the company, and that you will enjoy. You also need to convince the company (and your management) that those things are the best use of your time. That work might not be easy, but there are things you can do to give yourself your best chance. Three important items are:
- Know what you want and let others know
- Report to the right level and part of the company
- Find opportunities to do what you want
Know what you wantYou hopefully have identified that common area of things the company needs, that you are good at, and that makes you happy. That is not enough – it’s not specific enough. You need to turn it into a job that you can sell to others. Or a change in your current job. Either way, it has to be something concrete enough to be actionable. It might even be more than one thing, giving you options and more ways to succeed.
If you have something concrete in mind, you can act on it. As new opportunities come in, you can easily grade those opportunities against your list. If a new opportunity matches your ideal, congratulations! If the opportunity doesn’t fit with your ideal, you know it’s not what you want. It might be a chance to negotiate for what you do want to do, or maybe it’s just “no, thanks for thinking of me.”
More importantly, once you have concrete ideas, you can talk to other people about them. Tell your colleagues about what you would like to do. Tell your management chain. Talk far and wide about the things that get you excited and that you want to do. Tell people why you want to do it and why you think you would be good at it.
Most people you will talk to cannot directly help you. They don’t have that job to offer you. That is fine, because (most likely) you do not know who will be the key person. You are planting seeds of possibilities. The more seeds you plant, the more chances you have of success.
For example, some new company issue or problem may come up months from now that would provide a perfect opportunity for you. There’s no way to know about those today since they don’t exist yet. Maybe one of the people you talked to is in the room to discuss that issue. If they remember your conversation they might say “Hey, this sounds like a problem where we need X. I know that Naomi is interested in working on things like that and would likely do a great job”. Maybe you talked to more than one person who’s in that discussion, and maybe they second the idea.
On the flip side, if you do know someone who could give you your job today, go talk to them! Learn about their problems and needs, and let them know what you would like.
Even if it’s easy to get management to agree to let you do your desired job, you still should talk to a lot of people about it. That way, people already know to come to you on relevant issues when you get the job. Management gives you the license to use your time on the job. Having people know to come to you and trust you on that job helps you do the job and to do the job well.
Report to the right level and part of the companyThe job you define for yourself should align with your manager’s goals. If your ideal job has broad reach, touching multiple projects, you should not be reporting to a line manager with a very focused responsibility – that will just lead to frustration for both of you. Similarly, if your interests are solidly in one department, you shouldn’t report to your CTO. The CTO can’t provide useful support without stepping strongly on other people’s toes. Similarly, you cannot support your CTO and their problems if you only touch that one small focused area.
The key is finding a manager at the right level. Someone whose purview is largely aligned with your interests. Someone who can help you succeed, and whom you can help to succeed. There’s no strong formula here, just questions to ask yourself. “Am I at the right level?”, “What is the right level for my interests and ideal job?”, “Am I reporting to the right person?”, “Who would be able to support me well?”.
Find opportunities to do what you wantIn the best case scenario, you tell people what you want, and you get it. Most of the time we don’t live in that best case scenario, or at the very least it takes time to get there. There are still things you can do while waiting for that perfect opportunity, and those things make that opportunity more likely to eventually show up.
Specifically, find those parts of that ideal job that you can do today. You likely have some leeway in your current job, whether it’s deciding on the next item to pick up and work on, or some flexible time in your schedule. Take advantage of all of them. Find the work item that aligns with your goals and pick it up. Make sure your team’s backlog has at least a few of them ready to be scheduled. In general, any place you have flexibility in your current role, push that flexibility towards your goal, towards the opportunities to do things that advance your goals.
For example, I want to spend more time reading papers, organizing ideas, and leveraging those ideas at work. I have some approved time on my calendar for my personal development that I use for this. As part of my job, I regularly talk to people. When someone has a problem that could use some research, I use my time to search for relevant papers, scan them, and synthesize the ideas for them. There’s an active project (for another team) that came directly from such work I did last year! I enjoyed that work, and it helped me build a track record of value.
Additionally, when I have the luxury to pick my work, I pull the more exploratory tickets. The work that could use some exploration, discovery, and organization of ideas. And I’ve made sure that my team’s backlog always has such tickets. I don’t always have the luxury to pick those tickets – often there are high priority things that have to get done – but, I am ready for those times when I do have the ability to pick them.
Defining My JobI started this post talking about how I am trying to define my role. I am. I am doing the things described in this post. I know what I want to do: I want to advance the state of the art of performance testing and software engineering at MongoDB, ideally through collecting, curating, and demonstrating the best ideas from the performance community and academia. I take every opportunity to talk about those things, why they are valuable, what that might specifically look like for me, and why I would be good at them. You may have noticed that I just told you those things also. Maybe you will end up helping me.
Additionally, I regularly talk to my management about my desires, and how to align my interests and skills with the company’s needs. I am not yet in my ideal job, so I also regularly look for (and create) opportunities in my current role to do the work aligned with my ideal role.
Some days I make great progress. I work on the things I want and deliver clear value. Some days I try, and it doesn’t work out. Other days I work on what’s needed (and deliver value), but don’t advance my goals. Starts and stops and non-linear progress seem to be the way of life and that’s okay. On average, I am moving towards the things I want, and I hope that you do also!
Special thanks to Eoin Brazil for providing feedback on an earlier version of this post.