Do You Really Have to Become a Manager to Advance in Your Career?


You start as a junior developer, happily delivering lines of code. Life is easy, you love your job, you are learning a lot. And then someone approaches you saying: "We need a tech leader for a new team, and you are the most experienced person available". You either become miserable or find your new calling, but your job is not really what it was before. And then someone approaches you saying: "We are looking for a new engineering manager, and you are the most experienced person available".

Is that really the most optimal career path? What could we do differently? Let's have a look at your talents and the talents needed for the job.

There are many different jobs in tech: writing code, leading teams, managing people and projects, helping others use your technology, teaching, research, debugging.


Hi, my name is Marek Kalnik and I will be talking about Courier. I wanted to start with a story. A story about a very talented software engineer. She was great at her job, she was a great people person and she was a great tech lead. So when our company needed a new engineering manager for me, she was a natural candidate to do this job and I was quite sure that she will succeed. It turns out that six months into the role, she asked us to step down because she wasn't feeling it and she wasn't happy with the fact that she was not coding anymore. And at the end, she left the company a few months later because of all the negative emotions that have accumulated around this role. And this is something that is contrary to what is commonly believed that software carrier is something linear, that we just move forward, we climb a ladder and one, someday we become a manager if we are good at what we do. And this kind of carrier is what we call a single track path. So we start as software engineers, then we start becoming managers, we start with one team and then maybe a team of teams and then we can become a CTO and have an executive role. Some people try to react to that because obviously it doesn't work all the time. So some people try to react to that by creating what we call a dual track. What is a dual track? Dual track is basically a moment in your career when you need to decide whether you want to go to the managing role as described or you want to stay, keep being an individual contributor and maybe take some harder tasks or maybe work on some bigger projects in a role that may be called principal, staff engineer or something like this. Well, the reality is a bit more complex. So where do we have this difference in models like complex reality and then the progression model that is boiled down to basically two tracks? I think that the root of it all are false assumptions. The first one is that being a software developer means a certain kind of personality. And the second one is our misconception about what does it mean to advance in a career, which creates an idea that we have a common progression path and there is a best step in this path, which is just to move forward. So let's take a look at the first one. One of the most common way to divide people into different categories according to the personality is the Meyer-Briggs classification. So basically we evaluate people on four axis, which are whether people are focused outwards or inwards, whether they are more about other people's or their own internal life. The second one is how do people prefer to take information, whether they need to experience things, touch things, do things, or they prefer theories, theories, ideas. How do people make decisions? Whether they think about things, whether they prefer logic, or they try to take into account their feelings or other people's feelings. And the last category is how do you prefer to live your life? So what do you show? Do you show your opinions or do you show your experiences? And this creates a matrix of 16 personality types, which have some cool names like guardians or craftsmen, but there's no one type for developers. I have seen this classification many times and we actually do it a lot in our company, try to evaluate people. And developers are in every category, so there's no software engineering personality according to MBTI. And if we take a look at other classifications, like this is Gallup's talent classification, we find that describing personality is really complex. So Gallup divides talents in four categories, category strategic thinking, relationship building, influencing, and executing. And to describe one's personality, at least one's talent, they try to class them from the biggest one, from the most important ones for a person, from where she is the most talented, to those where a person is least talented. This creates some kind of ladder. And if you take a look at the ladder, there's a lot of different combinations, which is the number of combinations is way bigger than world's population. Another common way of evaluating personality is TMA method. TMA method takes 22 motivations and talents and scores you from one to nine on each talent, which gives you yet again a plethora of combinations. So it's difficult to suppose that given that we have 27 million software engineers on earth and there's plenty of ways to describe personalities, it's difficult to think that there's one software engineer personality. The second assumption is that advancing in a career means looking for more money and prestige. If we take a look at the definition of the word to advance, it means that to move forward, it means to develop or improve something. And many sources focus on titles and responsibilities and on salary. But what actually is the most important and psychological studies have shown it many times is job satisfaction. And we can basically have three different kinds of job satisfaction in relation to a job. First one is that we are just doing some stuff. The second one is that we are trying to think about the job itself. It may be a step for something else. And the third one is the job that is actually calling. And a calling is when we are the most satisfied. But it doesn't always mean that some jobs are menial and other jobs are callings. Actually, many people may have, may do the same job and perceive it differently. So if you take a look at someone who is building houses, you may have a person that is just thinking of herself as someone who's laying bricks. But you may also have someone who is thinking that they are building places for people to be happy. And they are thinking about the end impact of a job as creating happiness. By advancing, we could, by looking at advancing, we could also think about improving our skills. So this may be something, this may look like something easy. We start as a beginner, we become an expert, and obviously expert has advanced in a career. But if we take into account what is called the Dunning-Kruger effect, we should consider that we are really not the best people to evaluate our skills. What Dunning-Kruger effect describes is basically that when you have advanced some in your skill, you find yourself at what we call the peak of stupidity. You think that you are good, but you don't really have the idea of what the job really is about. And when you are actually moving forward after this peak of stupidity, you are losing confidence in your skills, and you may think that you don't know nothing. Yet this is a part of the progress. So advancing is not as easy as some people think. Advancing is messy because it may mean just moving forward and feeling worse, or it may mean staying in the same place yet feeling better. So if we have those two false assumptions, we can think about what should be our framework for thinking about our next step. So our next step in a career should take into account three decisions and three considerations. Does the next step fit my talents or not? Is this job meaningful for me? Is it a calling? And will I be using my old skills, or will I be learning a lot? So if you're presented with a choice of becoming an individual contributor of Sting, an individual contributor, or being a manager, becoming a manager, you should ask yourself a question. Ask yourself those questions. Does being a manager fit well with your talents? Is this role meaningful for you? And will you be learning new things? And actually, we should ask ourselves the same questions if we will be staying in a current track. Do you want to stay an individual contributor? Does being a staff engineer or principal fit your talents better? Do you find this role meaningful? And what can you learn in this role? To give you an example, a developer at our company, we have a developer at our company that actually used the GALIB test to evaluate himself. And he found out that many of his talents were in the strategic region, like being a learner, having a strategic thinking, and thinking about future. And he was also great at creating connections between ideas. And he used those talents to evaluate different roles we were speaking about in our company, some that were new ones, some that were existing ones. And he was trying to find what role would fit him the best. So obviously, I think this graph, he won't be a solution architect. And he won't be becoming a head of knowledge or creating a tech manager. He also found there are two jobs that were really fitting him well, being a part of what we call a level up team. So basically, a enabling team for other teams, or animating a Kaizen office at our company, which is about creating continuous improvement opportunities for other developers. So that's one consideration. That's one consideration of talents. The other one is finding meaning. And finding meaning may just mean changing a job. You work with a company that does not have a coin, that does not have a positive impact, and you want to move to something impactful. You want to move to half tech, you want to move to green IT. But there's another way of addressing this problem. Job crafting is an idea that has been created in early 2000s. And it means changing your job from inside by doing some small but meaningful modifications. You may start speaking with people that you are not really supposed to speak with. Like you're a product engineer, and you start speaking with QAs. Are you starting to have some contacts with the legal team to better understand the context? It starts changing your job. You may do task crafting, which is modifying slightly your tasks. There may be some tasks that you do not enjoy that much, but a colleague may enjoy them. So you split tasks differently, and you start doing other tasks. And there's something that's really interesting, which is cognitive crafting. So cognitive crafting is changing the way you are thinking about your own job. One of the researchers, researchers that coined the idea, interviewed cleaning agents in a hospital. So some cleaning agents in the hospital were really unhappy about their job. It's cleaning after all, it's hard work, not paying that much, and nobody sees the results. But there were also people that were seeing themselves equally as important as doctors. One person described her job as a healing person, a healer, because she was making sure that the environment will be sterile for patients so they can heal better. She was still doing the same job, but she was finding a lot more meaning and satisfaction. So you can also look for positive impacts of what you're doing today to have a better job satisfaction and a better perception of your current job. And then obviously the last one is your skills. So we have different ways to describe people's skills. There are dash people who have very broad but shallow skills. There are eye people who have very deep skills, T-shaped people, V-shaped people, things like this. It doesn't matter which shape you have as long as it's growing bigger. So just follow what's interesting for you and try to work on it. When you will be looking for opportunities, you might start a new company. That's actually something that happened to me. I started in my company three years ago before I became CTO with a discussion with my boss telling him I need to be able to take more risks. I need to have more responsibilities. I need more independence. And the discussion that followed helped me become a CTO and create my own company in a startup studio they wanted to create. So an open discussion with your boss, if you have the possibility, maybe the best first step. If you don't, there's plenty, plenty, plenty of job offers on the market. Here's a word cloud of some job offers that I've looked at in three, 10 minutes. And they're all different and you can start by just exploring them and asking yourself, what is this job really? What does this person do? What is their task? What is their impact? And then the last source of inspiration is to look at people around you. There's plenty of interesting people on Twitter, on GitHub, on conferences like this one. So just look at their job desk and try to imagine yourself doing the same thing. Whatever you choose, however you advance, I wish you the best of luck because that's a journey that never ends. And that's a journey that will surely bring you somewhere. I hope it will be the best days possible. Yes. Thank you so much for being here. And thank you for that really interesting talk. I loved how much you focused on challenging assumptions. I think that's something that I know I've always had assumptions about career progression. I think it was super interesting to dive into those. I would like to start with the answer to the poll question. So we had a poll question for people and it looks like we have a pretty split response, which is interesting. So 38% and 38% single and dual track and then 25% with something more flexible. Does that surprise you? Unfortunately, it doesn't. I think the claim on the quarter is something more flexible. I think this is really the idea I was trying to address in my talk that single track, dual tracks are all like the easy answers. And we see that most companies settle with the easy answer and we should be striving for something more flexible. So yeah, unfortunately it doesn't, but maybe 25% is actually pretty good. Yeah. And maybe after more people see this talk and maybe take it back to their teams, maybe we'll see that change if we were to ask the question again in a little bit. So I think, yeah, I talked about kind of flexibility and being one of the important factors there. So we do have some questions coming in. And one of the questions is, what do you do if your current company isn't flexible enough about job descriptions? The easy answer is you look for another company, but that's not always ideal. I think I really liked the idea of job crafting. So this is an idea I have discovered in a book called Greed by Angela Duckworth. The idea I like about job crafting is that it really happens whether companies want it or not. So people always adapt their job, but this is something that it's not done really in an unconscious manner. So I think try to change your job to make it fit as well as you can with something that really suits you. And obviously I'm speaking from a position of a CTO and co-founder, so I have been job crafting my job for a few years. But even when you are in a top management position, you actually find some resistance in companies. So it's not easier for other people. It's always a bit hard, but you can do it. I like that idea of job crafting and the thing of building out something that makes sense for you. And you're kind of holding to the company and whether or not they're going to be flexible, but it also does require some work and introspection to know how to actually craft that job and what would be a good fit for you and what your skill sets are. I think a lot of times people don't necessarily know what it is that they want to do next or that they may not know until they try it. And so when you're talking about that kind of space of trying to assess your own talents and walk through that, you mentioned personality tests, but what are some of the ways to assess your own talents and interests and what might be good for you if you don't have access to things like professional personality tests? Yeah, those can be pretty expensive. So if you really want to get them done professionally, I think the easiest way to do it is to ask your colleagues, people you trust. And the easiest question is, could you tell me what I do well? Because people are finding it easier to give praise than negative feedback. And when you listen to the answer, you can understand what you do well, but you can also look for things that people didn't mention. And those are probably your weak spots, especially if you have those in your area of responsibility. Another framework I really liked, and I have used it myself, is three questions. Start, keep, stop. So what do you think I should start doing to make us work better together? What do you think I should keep doing because they are working well? And what are the things I should stop doing because they are not contributing to our collaboration? And once again, this gives a lot of insight into your talents. And where can you move from that? Yeah, that's great. I've heard that framework before, but I hadn't heard it applied to looking at your own abilities and your own talents. So that's really great advice. And I think once you do that introspection, it becomes a superpower to not only craft the type of job that you would want, but to also be able to articulate why you want that type of work. And that really comes through when you do things like interviews or networking, when you can say very succinctly, like, this is what I'm good at, and this is why, and this is what I want to do. Do you have something for me? It can be very, very effective. So thank you again so much for being here, Marik. And thank you for sticking with us. There's some technical difficulties, but delivering a really compelling and talk on a very difficult and unique question. So thank you so much. Thank you.
20 min
09 Mar, 2023

Check out more articles and videos

We constantly think of articles and videos that might spark Git people interest / skill us up or help building a stellar career

Workshops on related topic