It's a small company which grew very quickly - I became the head of the department because I was one of the first developers at the company and basically created and sold our first interactive projects. With time, we pitched more and more of those, and here we are today. As a result of this the company lacks a lot of structure and "middleware" positions - e.g. I do all the hiring myself, and while we do have marketing / project managers, their knowledge is tailored towards films / adverts and don't have a strong knowledge about projects with a programming-heavy background.
The thing is, I've tried and tried to do the best job I can but I just don't enjoy management. I can deal with clients fine, but I don't like having to check on others to ensure they're working as they should. I don't like hiring people and doing interviews. I don't like having to worry about "capacity" when getting a new project. I don't like doing performance reviews and making sure that people's "efficiency" is as high as. I don't like having to supervise every proposal going out to make sure our marketing department didn't promise some technical heresy. I don't like giving people "shitty" tasks to do (because there will always be some). I don't like sitting with someone for a couple hours to explains how I'd like things done, or having to fix something they've done wrong. And of course I don't like being in endless meetings.
I like sitting down and solving problems with code, getting a brief and build something cool. but as of recently I'm lucky if I can allocate 25% of my time to this, while the rest is all these tasks I don't really enjoy.
I tried telling myself that it's a childish and idealistic way of thinking and that it's all a part of career progression regardless of where you work at, giving myself time to try and mature into the position, and trying my best to address all the pipeline issues and technical shortcomings of the company. but it's been a long time now, the way I think about this hasn't changed at all and I feel it's really eating into my mental health now - I find myself procrastinating on tasks like hiring, putting off one-on-ones, and other destructive behaviour.
I've been in the company for a long time and I love the people in it, the culture, and the fact that because of my position I have a lot of freedom to do things the way I want. I'm also quite invested financially as I have some vested shares which should hopefully mature in 4/5 years. But I'm not lying if I say that I haven't woken up with a passion or spring in my step to go to work in a long time and I don't know if I can subject myself to 5 more years of this.
Any advice from people who have been in similar positions?
A lot of people are just really good at different stages of a company's growth. Me, I'm good at starting from scratch and going until we've shipped the first few major versions of a product or service and have a small but significant number of paying customers. I like the chaos, the blank slate, and I'm not overwhelmed by analysis paralysis on what we should do. I love being involved in everything and wearing lots of hats, and being knee deep in both architecture and development.
Other people are far, far better than me at taking it from there and growing it to "enterprise" level and having 1000s of paying customers. They are good at taking things that were owned by one person and growing a team around it, filling in the feature gaps, etc. They are good at maturing the company's organizational structure as well as the product offering.
Once I had the lightbulb moment that (a) I wasn't very good at those later stages and that (b) I had zero interest in becoming better at them, it allowed me to choose a more compatible career path and made me way happier. Thinking of it as a relay race has also helped me do better at planning ahead for the eventual transition. Just one example: I do much better now at preserving documentation around a lot of our original thinking/planning, especially tradeoff discussions of now vs later things.
The problem is those roles are harder to find and grow into in smaller and even medium companies. Eng pay tops out unless you gain management responsibilities whereas at those large companies they will pay staff engineers somewhat proportionately to managers.
If your agency is the kind I think it is, the unit economics simply don't allow them to pay you above a certain rate for non management. There also won't be any significant career support.
Research the staff engineer track and if it's something you want to pursue I would consider a move to a larger company into a staff engineer track role, where there are plenty of people who want to be a manager and you can let them right all those battles while you keep your head down and build. You may not be at staff engineer level right now but you will have a career path.
My guess is you are also not being fairly compensated for your talents if you have developed this product line and are essentially the product owner as well. Even more reason to see if you can earn a lot more at a bigger company.
2: Say very frankly to your superior (CEO, founder, whatever): "I don't want to be a manager." Then, discuss what a manager would do, and how it would reduce your load. (Remember, this is described in "The Mythical Man Month.")
But, if this falls on deaf ears, start interviewing. You don't need to take another job; the point is to signal that you're willing to leave in order to be happy. If you get a counter-offer, you need to be very clear about what must change immediately in order for you to stay. (It doesn't have to be money, BTW.)
---
In my case, I was almost pushed covertly into management. I was assigned management tasks without being a manager in title. When I said to my boss, "I don't want to be a manager," the response was that I wasn't, but that I was going to do a bunch of things that sounded like management. I just refused to do the management tasks and went and looked at job openings.
A few days later, after I walked out of an interview, I had a panicked voice mail from my boss. The next day it became clear that the head of the department told him that I was probably going to leave if I was forced into management. Things were fixed overnight.
---
Edit: You don't need to take a paycut, nor should you offer to take a paycut, nor should you accept a paycut. You're proven indispensable, and if your company is uptight about specific titles having specific pay, then you should leave.
When someone is enjoying their career path and responsibility growth, it is an amazing experience for everyone.
When someone isn't enjoying it, it is MISERABLE for everyone. The problem is that in most cases the person in question asked for this career path. It's not their fault, they didn't know they wouldn't enjoy it. A combination of humility, denial and desire (for compensation growth) propels them to keep trying though. Because they are good developers and usually good people, it's hard to tell them they are performing poorly.
The best thing you can do for you, your manager and the company is to have a clear and concise conversation about it: I WAS excited about this path, but it's not working as well as I hoped. I still love being here, is there another path I can take?
A nice way to continue to contribute at a leadership level would be to mentor newer developers, work on some cross functional teams as an advisor, create programs that help others in the company develop skills (run the weekly demo event, create a lunch and learn for developers, etc). There are a lot of things you can do to support the growth of the company overall while keeping the scope of your actual responsibilities more well defined and focused on what you enjoy the most.
We're in a window—not sure how long it'll last—where the FAANG's and mid-size tech firms have well-defined and well-trodden paths for being a senior developer and _not_ managing. Take advantage of it if you can, while you can, if that's your desire!
I would guess (just making stuff up here) that there's some chance you'd be able to get your company to hire a manager, and some chance they'd be good. But in that small agency-type world especially, you'll be running a risk that if you're not there vetting proposals to make sure marketing didn't promise the moon, you're going to bear the burden when they do .
I have switched back and forth and in my current role, I have completely given up on managing people. It is probably a step down in terms of pay, but I am more happier.
He confided with me that he was beyond stressed and out of his element with management. He hates telling people what to do - he wants others to tell him what to do and he knows he's a rockstar at that. He finally said screw it and had a meeting with the heads, a heart-to-heart, and accepted to take a pay cut and basically self-demote himself. He did have a side hustle though, so the pay cut wasn't so bad for him.
I've been a full-stack lead developer for a few years and find myself naturally slipping more and more towards management and client facing tasks.
At first I though it would be a good thing, a way for me to get out of my comfort zone and a logic career path.
Now I feel like my technical skills are wasted and my mental health is clearly worsening. I miss coding to be honest.
Right now I am at a point where I have the opportunity to move up and become a department head. The status would feel nice but I am more and more convinced I would regret it in the end... That's a tough choice.
I'd add: can you hire a deputy who enjoys doing this?
* Ask for the next project management hire to be a true TPM, and try to pull someone who's working on something boring but is really interested in getting into your area of technology. Have them run all the Jira, summarization, execution of planning processes, comms & coordination. You'll still need to own hiring, still need to do a lot of people development work and still have to get involved in marketing & product strategy - but might get some leverage in internal pieces you don't like.
* Promote or hire another person who shows interest and aptitude in management, with the explicit plan for them to be your deputy and to take on some of the "tasks you don't really enjoy," especially if scoped to a specific area. Can you structure your work so someone else is responsible for 50% (or even more) of it? Can they do the RFP first-pass reviews, and even be responsible for pushing back on things in their area of responsibility? Can they manage some of your directs, and co-lead some of the above processes within their scope? There might be someone on the team who feels underutilized, wants more visibility, has strong relationships and is willing to learn. And if there's not - that's signal for you and your hiring process that maybe you've only hired folks like you; it may be time to have a broader set of folks on the team.
It's a huge problem in tech that companies traditionally try to force engineers into management positions to allow their careers to keep growing. I have had more shitty managers who were just Individual Contributors who were told they needed to manage to succeed past a certain point.
> I tried telling myself that it's a childish and idealistic way of thinking and that it's all a part of career progression regardless of where you work at
The above, however, is no longer true. I work in a smallish tech company (~250ppl) that has gone through a major shift in the past few years to support the career advancement of Individual Contributors; the message being, "You don't need to be a shitty manager if you'd rather be a kick-ass engineer, and we will still provide paths for promotion and advancement."
As other comments have noted, it sounds like maybe your company is just not at a stage of their development that can support pure engineering career paths past a certain point. You do NOT have to be an unhappy manager to succeed in tech. And frankly during a time of economic contraction I feel safer as a valued IC than as a manager whose role could always be 'absorbed' by someone else's position during layoffs.
It sounds like your company is more worried about someone's work product than the person, which is a shitty thing to manage. You shouldn't have to "check on others to ensure they're working as they should." You shouldn't have to "..sit with someone for a couple hours to explains how I'd like things done, or having to fix something they've done wrong." That's a sign that you either micromanage, or you don't have good employees, or both. Daniel Pink's Drive is a good starting point - give people Autonomy, Purpose and a desire for Mastery, they will give you good work. It's not the be-all and end-all, but it's a good place to start.
I didn't like management, until my company offered a management course. Now I actually enjoy it. To me it's about making people the best versions of themselves. It's about learning to listen to people, and see the situation for what it really is rather than the words coming out of people's mouths. For the company, it's so you get the best work out of them, but "getting the best work out of them" doesn't have to be your focus as a manager.
There's a lot more I can say here, but for now I'd suggest reading this article which was on HN yesterday: https://longform.asmartbear.com/docs/fulfillment/ - and ask yourself if this is really what you want to be doing, regardless of any financial incentives to do so.
I'd suggest having a hard conversation with your leadership. You have to be prepared to leave, as there may not be a place for a senior (expensive) person who isn't leading teams. But you'll never know until you ask. I'd probably say something like "I'm not sure this role is a fit for me. My ideal role would be It'll probably be months or years until you can transition internally, but you can start the conversation. You might enjoy this blog post too: https://charity.wtf/2019/01/04/engineering-management-the-pe... PS It isn't childish. I firmly believe that everyone should do a stint as a manager, if for no other reason than to have empathy for managers, but no one has an obligation to be a manager forever.
A newsletter article (not mine) that helped crystallize my thinking around this, and helped me to explain it to non-technical folks in my current organization is this one: https://newsletter.pragmaticengineer.com/p/engineering-leade.... Unfortunately its pay-walled, but Gergely (author) put some of the content in a tweet thread that is worth reading (https://twitter.com/gergelyorosz/status/1473353064358756352). If you look at the venn diagram posted in that thread, it sounds like you fall squarely in the "beware!!" zone.
If you are like me, you fall into that zone, at least in part, because you are clinging to the some technical duties that you could give up, but since they are the foundation of why you enjoy your job, refuse to do so. Understanding this and your own strengths and weaknesses clearly, can really help frame possible solutions for you. I would spend some time reflecting (and it sounds like you already have) about what you want out of this job and your career in general.
Perhaps you can propose to your management that you want to move into more of a "staff engineer" role. This may or may not work, and in the end, depending on the management at your company, you may have to move on to find what you want, but being clear about what that you want, is the first step in that direction.
As others have noted, the most straightforward thing to do here is to hire a manager to do most of what your current job entails and for you to move into senior/tech lead position. But if you do that and give up hiring, then you won't get a choice as to who to work with. If you give up supervising marketing's proposals, then you'll have to work to work on hair-brained ideas you could have veto'd in your current role. You give up mentoring/supervising junior folks and well, you'll still have to deal with their lower quality contributions, etc.
As you contemplate giving up this role, make sure you're ok giving up all the privileges that come with it as well.
I am sure you could bring in an engineering manager, project manager, technical product manager or whatever you feel is the most appropriate job title to palm off the aspects of the job you are less keen on.
I figure at some time in the future I'll probably have to do it again, but like you, it's not the thing I enjoy. My current company has a non-management track, allowing me to stay as an individual contributor. Some of what you describe is really about getting sucked into management specifically, but some of what you describe is inherent to increasing in seniority. As a more senior individual contributor, I get to still focus on technical problems, but a lot of these technical problems are more about what is the right system to use for solving a problem, or how to get two systems to talk to each other, rather than writing the code for that myself. Also, as you gain seniority more of what you do is necessarily going to be giving advice and feedback to others - but as a more senior IC, most of the feedback I find myself giving is about how to approach technical problems rather than dealing with HR headache type feedback.
It sounds like the company you work for is relatively new. It might be worth raising the concept of a dedicated IC track with your manager. That being said, it might simply be impractical for the company to move you to that position until it has grown a bit more.
Regardless, you should start looking for alternative places for work. If you broach this conversation the cat is out of the bag. If management are supportive, great. And if not, you're prepared. It's a good mental and professional exercise anyway, and may help you work out what a perfect role would look like.
A hopefully encouraging note: it's totally normal to find yourself in a role that involves work you don't enjoy, and it's totally normal to make changes to improve things. You can do it :) Good luck!
One of the lightbulb moments for me was when I talked to a product owner and said that I just don't enjoy coordinating people/opinions/requirements (+ everything you listed) she replied that that's exactly what she finds enjoyable/fascinating. I understood then that there are simply limits to what you can "become" (in your essence) and I had to accept it. So I'm still just a "simple" backend engineer, I leave my mark in ways that don't involve a job title, often beyond the scope of my team. There are still moments when I observe managers and think "I can do that, too, and maybe even better, maybe I should...", but I quickly go back to remembering that I tried it once and don't need to prove anything to anybody anymore.
It sounds like you've endured this misalignment between your passions and your job for some time (how long exactly?) - don't do this to yourself unless you have some unavoidable pressures. The vested shares you mention, really worth it?
*) It was not at all this straight-forward, of course, I went through tremendous self-doubt, i.e. "why isn't this working?", just giving you the summary.
Fix it yourself: you stay in roughly your current position but you hire someone to take on the tasks you don't like. Sort of like an assistant manager or whatever you want to call it. It needs to be someone with some technical and some managerial skills. This approach will still leave you with some stress and responsibility though.
Have your boss fix it: say you're a great developer but a mediocre manager, and everyone will be happier and more productive if they find someone else to take on this role. You can help interview for the role, or suggest someone else in the company for it. You'll remain a senior technical leader but will relinquish control and responsibility.
> I don't like sitting with someone for a couple hours to explains how I'd like things done, or having to fix something they've done wrong.
I don't think you'll want to give this part up completely though. If you don't do this, eventually the code base will become full of code you don't like, and even though you're back to the work you like, your technical satisfaction will decrease.
Once watched a new position grow from a manager who wanted more hands-on time and an engineer who wanted to see what it was like to lead: the engineer became the new manager, and the old manager became the 'team lead'.
IMO it worked great because now I had two people to go to for specific concerns: technical stuff to the team lead, HR stuff to the manager.
Very much not true. It might be where _you_ work, but it's not universal, and decreasing as time goes by.
I wouldn't say your attitude is childish- you're allowed to have personal preferences. I don't think you have to give up on having development be your profession, although you could maybe "scratch that itch" with projects outside work if climbing the ladder is ultimately more important than doing what you'd prefer.
It sounds like you are one of those people who's brain is not wired for management. That's OK. In an ideal world, you should seek out a company that supports career tracks for pure-technical roles (like the old Bell Labs did).
The problem of course is that it's not an ideal world. And that's where you have to dig in deep and decide what's right for you. Some people are able to stick it out and vest and manage to be so-so managers. For other people, that would be soul crushing.
The start is to be honest to yourself about who you are, what you enjoy, and what your goals are. And be realistic. If you shoot for the "perfect" job you may end up unemployed or miserable in serial job hunts. Find out what your "really good" job looks like, and what warts you can live with and what are deal breakers, and evaluate that against life stuff like finances, family, retirement, etc.
For my current job, I intentionally applied for a developer role, not a management one. What really helps is to be part of a team which has a decent lead - I knew from the interview that was the case at my current job.
If you don't work 'under' a decent enough lead, you end up picking up the pieces and doing his/her work. So my number one advice would be to make sure you end up working for a strong lead. If you want to stay where you are, you need to have a conversation, but not just about changing roles but also about hiring a lead to take your place. Otherwise I doubt its going to work.
My second point of advice is more of a reassurance: it is not childish to not want to be a manager, its actually very mature to recognize that this is not what makes you happy. I see it as a different job, not a higher one. Good tech managers probably need some tech background, but they don't have to be really good developers - just enough to understand their job as managers. But a good developer isn't by extension a good manager, that is really another skillset.
Somehow becoming a manager has been really sticky for me, you have to work to get it off. Maybe this is because I ended up taking responsibility where others didn't or couldn't, and then other people around me started calling that leadership and thus I became a manager even if I didn't want to.
Now I do understand why managers are getting paid more, its hard and sometimes stressful work to be honest.
Assuming you don't want to suck it up and keep doing management you have three options:
* You can choose not to be 'promoted', where you'll be happy in your job, but your salary stagnates.
* You can hoose to move to a larger organisation, where you can be 'promoted' and add significant value without all the management stuff that you don't enjoy, but those jobs are in short supply and competitive.
* You can keep job-hopping as a senior dev, and keep pushing your salary up with each jump.
Ultimately, life is short. Work to get the resources to do what you like, not just to keep score.
I think of it as the fighter pilot problem. People become fighter pilots because they want to fly planes, not because they want to sit behind a desk managing other pilots. But, if you stick around long enough, the military will try to push you into a desk management position. But what you really want to do is keep flying.
A situation I was in was similar, going from an Eng to a Lead Eng role for a group of sysadmins. It was something I thought I wanted, but not for the right reasons. I wanted more control over the environment, more freedom to build what I wanted. The amount of time I'd spend doing people-related things was grossly underestimated and it became a pain point for me.
It ended up being that I only wanting to work on building things, but not building up people. It became a chore to get through the majority of management work, only to stay late to work on things that interested me.
I ended up leaving for another company, and things have worked out well enough, but there is some regret in my leaving. It was something I should worked with my management on, and been more transparent about.
Spending a lot of time doing things like you are doing causes your marketable development skills to decay over time. If you did spend the 5 years of your life like that, and decided you wanted to move on and wanted a staff engineer/lead position you would be up against people that are doing mostly software development most of the time.
Minor example, struggling this morning (password fails, no reset email is appearing, etc.) with getting into our damn accounting system to "approve" (by checking a box) some training expenses that I already approved anyway. Little stuff like that but also big stuff like the specific questions that need to be submitted for a performance review (or the multiple meetings associated with such a review). I'm earning more money than I have ever earned in my life and finally have a chance at funding a normal retirement (I came to this career late) but there is little joy in my work life.
When I come to similar realizations, I make a career transition. Speaking personally, in one role I found myself managing a team of contract software developers in a different time zone. I didn't enjoy the extra communication overhead, quality issues, and the feeling of not being able to establish an interpersonal relationship with them. When I learned that our senior management was going to hire a team of contractors again I left the position. Leaving this position resulted in a pay cut but the benefit for my mental health was huge.
You could try to communicate this to your existing boss, but it's likely to be much simpler, and more guaranteed, to just find a job that is what you want.
You could suggest adopting that kind of structure at your current company? Or otherwise, you may just have to look for it elsewhere. But your feelings are valid, and you're definitely not locked into management across the whole industry, even if you end up having to pick between this and the other things you like about your job
But it sounds like you're really unhappy, and you should definitely listen to that feeling
I don't have any shares, but I just found a new job in a smaller shop as a dev. I know that's what I want to do, so I just went for it. It's slightly lower paying than my current job, but I know I'll be happier. Honestly, if I were you, I would ask them to hire a Manager and if that doesn't go, I would look elsewhere.
People have a very hard time understanding the idea of wanting a "demotion". Even saying no to a promotion to management can permanently damage your relationship, as many people have the idea that good employees will be go-getters seeking promotion.
- Never work with jerks (either boss, customers, coworkers...) - Never be anyone's manager
It has worked out great! I've gotten to work on a steady stream of hard problems, working right at the middle of what I'm good at, what I love, and what people are willing to pay for. And for/with great people.
The guarantee you have in choosing to write code is that you get to write code!
You must decide if this is what you want, else have grace on yourself and let go of the financial upside to spend more of your time doing hands-on work.
If you were building a house, would you rather be the crew chief or the electrician?
It's most definitely not! Many seem to think it is, because of perceived status ("how are you still a developer in your 40s?!"). Be whatever you want to be, not what your current boss wants you to be.
I was good at it. I was being groomed to take on a CTO role. But it wasn’t for me. Programming is hard. But for me people are harder.
If it’s possible try going back to the role you like and see if they’ll hire a manager.
I had friends who said they don't want to be teamleader when changing companies, tho I did not worked with them.
So, the point is, telling that you don't want to be lead is an option.
I recommend to listen to some of Cal Newport's "lifestyle centric career planning" podcast episodes on this. I basically followed similar ideas a decade ago and have been very happy with the decision.
Your thinking is not at all childish or idealistic. It's important to straighten these sort of questions out.
My role as lead dev is picking tech for solutions, maintaining in-house software and only sometimes I get to talk to a client. I only get invited to interviews but don't have to set them up.
Not in a judgmental way, and not in a mean way, but more as a warning system to say "You want more money or responsibility, and management is one of many ways to get those things."
The other thing I say is, "At some point during your management career, _you will stop writing code on a daily basis_." If you like writing code more than anything else, this probably isn't the right role for you!
We then spend the rest of the conversation talking about what their goals are, and how we can get them there. Some folks are insistent that they want to be a manager, and we figure out a path to do that, and some folks are sufficiently deterred by the things I said.
It's not that I don't want you to be a manager, it's that I want you to have a job that you are excited about, and for _most_ engineers, management is soul-draining. They want to write code and solve problems, not sit in endless meetings!
Because of this, I personally have zero compunction about anyone who becomes a manager and then comes to me and says, "This isn't for me. I hate it. Can I go back to being an IC?"
No problem at all.
So with all of that said, management is NOT "a part of career progression." You do NOT have to go into management. Most tech companies have two tracks for career progression: technical and management. At most companies, a Staff Engineer is the equivalent of a Manager, and a Principal engineer is the equivalent of a Director. You can continue to lead teams in a technical fashion without losing your entire week to meetings and people management. It's possible. Your current company may not have that structure, but a lot of companies do!
If you feel comfortable doing this, I would go to your boss and say, "Hey, I don't love this management thing. I think I would have a bigger impact as an IC. Can we work on a transition plan to get me back to full-time IC work? I am happy to help hire my backfill."
This is very, very normal. Anyone who says otherwise is simply wrong.
Do not feel bad for yourself, do not feel like you failed. It's simply a bad fit, and you are looking for a way to improve your own happiness and your own career path.
Good luck!
If anyone wants to hire a CTO who can still actually make things, I'm here.
@mkarliner@mastodon.modern-industry.com