Ask HN: Lead developer but I just don't enjoy management

198 points by throwaway040991 ↗ HN
Throwaway for obvious reasons. I work for a company doing interactive media work (think conferences touch screens, cool-ish 3D websites, museum-like installations and such). The company specializes in short films / adverts but we have a small interactive department (~6 people) that I am the head of.

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?

96 comments

[ 3.9 ms ] story [ 205 ms ] thread
Sounds like you need to get another job. Nothing wrong with that.

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.

I am in very similiar position right now, and I have decided to bite the bullet and drop all non individual contributor responsibilities. I'm not yet sure how it will go but it's my #1 priority to arrange it with Cxx. I know this was supposed to feel like "step up" but it's not who I am. I don't aspire to great managers, I respect people like Carmack. I want to be the best and most productive engineer, that's where I have most fun. If the money is similiar, that's what it's about.
Do you like making stuff? Do you like arranging how stuff gets made? Different skill sets and rewards for each position. For my career, having the wrong role was ultimately unsatisfying - while it was neat knowing what was going on at some altitude, I went back to the keyboard as I preferred making stuff.

Ultimately, life is short. Work to get the resources to do what you like, not just to keep score.

Since you seem to have the authority and the freedom, please ask for and hire a manager. As others pointed out, management is not next step to development. They are different skills.

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.

I would add that since you are "head of the department" I feel that your bosses trust you enough to run with you if you just tell them that what the department need is a full-time manager.

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 :)

Five years is a long time. To be brutally honest, from what you are writing, chances are you will be burned out by then. It sounds like you’re in dire need for a change.
In FAANG/larger companies they outline the management track and the staff engineer track. It sounds like you simply want to do the latter - so no, there is nothing wrong or unusual with what you are wanting.

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.

Worked at a consulting firm with just under 1k employees, when I started they only had like 40.

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.

> and the staff engineer track. It sounds like you simply want to do the latter - so no, there is nothing wrong or unusual with what you are wanting.

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?

Staff engineers are not a monolith. Software engineering is a huge discipline. There are staff engineers out there that do more architect/solver types of work.

https://staffeng.com/guides/staff-archetypes

In any case, leadership skills tend to go with the territory.

> Staff engineers are not a monolith.

In my experience, all it takes is your organization to go through one "re-structure", you randomly get a new manager one day, and they have a different expectation on what staff engineer means/should do.

Next thing you know, you're being expected to stop architecting so much, spend more time mentoring interns who have never coded before and got hired randomly because ______.

I wouldn't roll the dice that your job description/definition/expectations stay the same team to team, manager to manager, org to org, etc.

I'd avoid "dancing" for the extra raise or whatever comes with being a staff engineer versus a regular senior engineer if you don't like dealing with people/having a lot expected out of you from a communication, presentation, human interaction standpoint.

I recently went through a "re-structure", and the result was a massive layoff, including Staff-level engineers. So I don't find that as a particularly compelling argument, your job description is never safe anyways.
That's not my experience. Granted, I've only relatively recently reached staff level, but I've been working with other staff engineers (and higher) for a rather long time, including through some re-structuring. Their role seems to have stayed similar, and they still "architect".

But more generally, I think what you describe can always happen, whether you have the "staff" label attached or not. Especially when you get a new manager or management chain, they can always have a different idea of what you should be doing. If anything, I feel that as a staff level engineer I'd have more pull in resisting those changes (if unwanted) than otherwise.

Yeah I don't know when Staff SE became pitched as this lofty leadership position like this, but first half of my career in multiple companies this was basically just next step up in IC positions after Senior SE, not leadership. Principal then after that.
When does IC (individual contributor) go from "how efficient/effective can you make the other ICs on the team?"

I've seen ICs who say "my purpose isn't to code, it's to increase the efficiency of the other ICs on the team who do code, which makes me a 10x engineer, despite not coding, because I increase each team member's individual productivity which is collectively more than I could output individually myself"

Companies I've been in would call that out as technical leadership track, typically architect and above, but sometimes principal.
It really varies from role to role -- staff engineers/principals/whatever nomenclature used can be just another manager/director or a pure dev with light mentorship/heavy resource for helping with hard dev problems and designs and anywhere in-between.

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 think you're understating your point. Most of what the OP mentions are generally expected of senior engineers or even mid-level engineers, though circumstances may vary.

> 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.

There are a ton of small/midsize startups that also split the tracks these days, at least in the USA
Where did you learn about this "staff engineer" track?

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.

> Where did you learn about this "staff engineer" track?

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.

> it's all a part of career progression regardless of where you work at

Very much not true. It might be where _you_ work, but it's not universal, and decreasing as time goes by.

1: Read "The Mythical Man Month," because it describes exactly how to structure a department around people like you. Basically, you're the lead but it's someone else who does the people management. In your case, your higher ups probably aren't familiar with this kind of arrangement and it's on you to educate them. (So you can bring sanity back to your job.)

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.

Funny I would stumble on your post today as I'm currently in a very similar situation...

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 became an engineering manager for a few years. I swung back into an individual contributor role. Turns out I don’t like management either.

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.

Keep in mind that just because you're good at management doesn't mean you have to do it professionally. Stay purely technical if that's what you enjoy!
I recently switched from being a manager back to the IC ("individual contributor") role. It's not an uncommon switch here where I work (Square). It wasn't an easy decision, and it took many months, but I became much happier with my job almost overnight.

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 used to work for another company where it's acceptable for people to move from management to IC roles (and I wish it were possible everywhere).

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).

I ran medium sized teams for a long time and decided I didn't want to go that direction. I'm much happier as a regular SWE again, maybe looking after 1-2 people. However there are some downsides; The money isn't as good, you will get managed by someone younger and less experienced than yourself which can be frustrating. Finally looking for a job as a 40/50 YO you feel much harder to get hired than a 25/30 YO hotshot that everyone seems to want.
What you're describing goes _way_ beyond what I think most would consider to be the responsibilities of a Lead Developer.

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.

> I like sitting down and solving problems with code, getting a brief and build something cool.

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.

First off, there's this weird thing about management - "you're good at your job, let's give you a completely different job to do."

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 really appreciate you sharing this. It solidifies how much I love doing lead work. I do not enjoy line management but I LOVE servant leadership and operations of a team / org.
It's definitely not childish to not want to be a manager, but beware trying to have it both ways - power without responsibility, autonomy without accountability etc. That would actually be childish.

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.

Lead developer should not be about management. It seems your company confuses your role with project management?

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.

I have a friend who works for a Fortune 100 company. He was moved into a management position where he was managing a team within the IT org. Like you, he absolutely hated it and realized he much preferred being an individual contributor. It took him a long time to get out of his position and back into an individual contributor position, but he made it clear that it was either that or he would quit. Well, he is to valuable for them to let go, so they gave in and let him move back, eventually. Though he says that they still try to rope him into management meetings to get his input, but he refuses because he doesn't want to be pulled back into management.

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.

If you do all the hiring yourself, what is to stop you hiring someone to do all the stuff you don't want to do ?

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.

Lots of stuff in the comments already about dual-track and external career options.

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.

Oh yeah. I have done this and left because I couldn't see a way out.

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 <describe role>. Do you think there's a way I can take on more of that kind of role at this company?"

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.

I actually enjoy interviewing, mentoring, being involved in discussion of direction and tech and decision making however I despise most of the HR related "paper pushing" tasks and the often pointless seeming rigor around a lot of it.

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.

It depends on if you want to continue to grow your income above inflation. As a salaried employee, to grow your income (salary - we're not talking about flipping houses), you need to be 'promoted'. Promotion works by taking responsibilites beyond your current role. For a lead dev, those additional responsibilities are things like people (clients and more junior technical staff), operational (making sure that someone is there when the system falls over at 3 a.m.), and others (e.g. taking on responsibility for information security, compliance). In a small business, the biggest need is for people-project-task management.

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.