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.
For passing the baton to the right people, finding those people is partially luck to begin with and basic networking, but after awhile you know a good group of people that you've worked with in the past (or are friends of them). More than once I've handed things off to some of the same people - I'm ready to leave this gig right as they are ready to leave the prior one.
Deleted Comment
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.
I could be wrong but it sounds like the OP doesn't even want to be a staff engineer (if my understanding of staff engineer is correct).
https://davidxiang.com/2021/01/19/staff-software-engineer-re...
I'm pretty sure you're still expected to guide other engineers (co-workers/teammates), speak almost as a buffer with management, etc.
If you want to be heads down coding and not dealing with people, I don't think staff engineer is the right track?
https://staffeng.com/guides/staff-archetypes
In any case, leadership skills tend to go with the territory.
Also regarding nomenclature of the titles -- its all over the place in the wild some places call jr's "staff software engineer" sometimes its seniors or principals.
> I don't like having to check on others to ensure they're working as they should.
This is impossible to avoid in most professional settings outside of entry-level.
> I don't like hiring people and doing interviews.
Interviewing is often a core expectation for engineers.
> I don't like having to worry about "capacity" when getting a new project.
Senior engineers almost certainly have to worry about whether there's capacity to take on a new project.
> I don't like doing performance reviews and making sure that people's "efficiency" is as high as.
This can mostly be avoided for ICs, until you get to a fairly high level (i.e. staff).
> I don't like having to supervise every proposal going out to make sure our marketing department didn't promise some technical heresy.
Standard senior engineering expectation.
> I don't like giving people "shitty" tasks to do (because there will always be some).
Prioritizing and assigning tasks are generally expected of senior or even mid-level engineers.
> I don't like sitting with someone for a couple hours to explains how I'd like things done
Standard senior engineering expectation.
> or having to fix something they've done wrong.
Standard expectations for most engineers.
> And of course I don't like being in endless meetings.
Meetings are also unavoidable as you become more senior, even as an IC.
I have worked at two Fortune 500 tech firms. They had separate career tracks where one was people management focused and the other nominally technical. At both firms the technical track was more like "technical management". None of the folks with high-level technical titles were committing code or doing hands on-technical work. The only difference with line management titles was less personnel responsibility. That is, on the technical track you would not generally need to deal with things like disgruntled employees, giving performance reports, sick time, etc.
IOW, the technical track was a lot like being a tenured professor at a major university. You have intimate knowledge of the research happening and you help may design the experiments. But you are not the one who sits down and runs the experiments.
I do not think the OP would be happy on a technical track in a major company, at least not as I have seen those tracks work. Rather, they would need to work with their line and project management such that they level out at a title where project leadership and decision making is not expected. Maybe that is what you mean by "staff engineer track." You get a Staff Engineer title (or Engineer 3, or Prinicpal or Senior - titles vary so much) and never get another promotion while still collecting merit increases and bonuses.
The consensus around what a staff engineer is is mostly captured here: https://staffeng.com/guides/
There's minor disagreements, but it's a good start. Ignore the book unless you feel compelled. It's a nice site to use to make sure we're all using the same terminology.
At one point they had a meeting about creating a "technical track". I was in this meeting because I was interested in it. We went around for a while but they basically came back a couple weeks later saying that they don't have the resources to commit to having this track, and admitted they don't really know how it would be sustainable with our business model at the time, nor did they have anybody on the team who had experience with maintaining that kind of track and so it was killed.
We did have the "stronger engineers" who occasionally may still get paid/compensated at a manager level even if they stayed at a slightly lower level not requiring management, but that was about it.
They were also our "big hitters" when it came to putting them on the highest priority projects, and while by nature of consulting most of us were skilled in many different stacks, these people had a specialty that if a project came by that needed that skillset and was high visibility or priority, they were first pick to be on it.
But you had to start managing if you wanted to continue to move up there. I actually ended up leaving because of this, even though they were honestly a great 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 .
They're going to do it anyway, whether it's going back to being an IC at the same company or by leaving to do it elsewhere. If it's not possible to stay they're just going to go (and presumably these are the people considered good enough to promote into management).
The reason I ask - most of what you hear out there are stories of people being "freelancers" where the work is somewhat of a commodity (wordpress, webapps, etc) and they have to differentiate themselves by quality of work/communication. But it sounds like you are more on the specialized/niche side, with retainers and being a "consultant".
So far I've been tackling the "builder vs manager" problem with: joining small startups or starting my own. The good news is that the last 2 startups I've joined have hit rapid growth, but the (bad) news it that I keep getting pulled into management. I know that I can/should hold a stronger line and say "No, I want to be an IC", but it's hard when my boss pushes back that it'd be better for the company if I manage. None of this is complaining/whining per-se, but your solution is potentially a win-win where I can avoid the mis-aligned incentives (ie: holding the line on IC vs management).
As far as engagement length, my longest engagement is currently 6 months. Generally I don't have an issue with getting promoted into management as an independent contractor, as my loyalty is ultimately understood to be to my own company, and I make it very clear that I do not wish to become a manager. If those terms aren't acceptable, hey, I'm a contractor, everyone's welcome to terminate the relationship with zero hard feelings whatsoever, which is both an advantage in the current economic environment as well as the reason I need to maintain a pipeline of opportunities no matter how well things are going.
It's the weirdest thing to me this is how it can be but it's so real.
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.
You are also in a very privileged position of defining the role of that manager. You like some managing tasks? You can keep them. You can even make it your hire, and hire the kind of manager you want to help you with these tasks. Since you can recruit yourself, that person will have some loyalty toward you.
I think you are in a very good position to build your dream job from scratch. Just do it my dude :)
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.