Hacker News new | past | comments | ask | show | jobs | submit login
Ask HN: Senior Software Engineer to Engineering Manager
93 points by fakecrusade 10 months ago | hide | past | favorite | 51 comments
I'm very interested in moving from IC to management, is this transition easier within the same company, or switching company. How did you make it?



My experience with going back and forth between manager and IC a few times over my career (I prefer to be what I call a radical-IC, usually a specialist consultant), it's important to understand how different the competencies are.

First, a manager is not a super-engineer. Rarely are super-engineers good managers, and rarely are exceptional managers really good engineers.

Second, we need to separate management from leadership, and this razor does it really well: leadership scales effort, management extracts value.

Super-engineers have some natural leadership because they can scale their brains by adding others with clear explanations, mentoring, and leveraging others. However, this also is why you can have great team leadership on products that go nowhere because there is no one managing to figure out how to extract the value from the amazing technical feats your scaled and well-led team is accomplishing.

Teams with lots of management but little leadership feel like optimizing to get blood from a stone, because micromanagement is the antithesis of scaling effort, as it's about micro-optimizing extracting value on a linear, monotonic basis without any scale. But that's just the anti-pattern. Great management is when you have customers who are happy and interested in what you are doing because you've managed to extract value from your team and made them that way. You've given customers the thing that empowers them in their own organizations because you understand the factors that go into your product, and how to balance them so that what comes out is valuable to others.

Third, to transition to management, find a role to do pure management in a domain that isn't your top skill, where you can focus on the aggregate value instead of getting sucked into solving the problems themselves. This is counter-intuitive, but most important things are, so if you are a good programmer, don't start with managing developers. Do ops or better, a customer success/support team. Product is cool and interesting, but it's still an IC role, management means extracting value from teams. The path to CTO means managing teams and departments, so find something unsexy (like customer support) and take that on.

Alternatively, join a small company or startup and take over one of their teams, or get a 6-12mo contracting gig as a project manager with resource accountability. Long comment, and YMMV, but consider these dynamics on your quest.


Disagree with some of this. There is a need to define what 'management' actually 'is'. Great 'managers' are leaders imho. The difference being, that they help inspire and motivate a team, and help contribute to vision, direction, and clarity which a team can rally around, while encouraging collaboration and excellence, and setting clear and ambitious expectations.

Great ICs actually have a huge advantage here, because the key skill for an IC is often technology skills, whereas the key skill for a great leader/manager is trust with the team. Being able to have a deep technical understanding of the problem space will help to develop trust that much faster. However, the key transition is then to get out of the way, and use your knowledge to help challenge ideas while growing the team. The #1 piece of advice is to hold back from giving answers, and instead, challenge people with questions, to let them do the thinking.


Toward expanding the explanation, this is why I separated them. Leadership is neither sufficient or necessary for managers - as evidenced by the survival of every large organization. Management skill is neither sufficient or necessary for leadership, because leadership is less a thing than it is just the effect of being followed. I'm a big advocate of the necessity of charisma and inspiration, but crappy managers often think of themselves as leaders as a substitute and an excuse for failure, and leaders often don't accept responsibility for creating and managing the value feedback loop that sustains their teams - also as a substitute and an excuse for failure. I've reckoned with both, and they're hard to face, but well worth it. Somewhere between these poles is truth, and the art of managing and leading that I think you're referencing is technique applied to the more fundamental role differences I was implying.


I don't have much to add to the conversation here, but an upvote doesn't seem to suffice in order to indicate that your separation of leadership and management into two separate (and potentially overlapping) qualities feels like a really useful one, thank you.


>leadership scales effort, management extracts value

I love this take and have been saying something similar for a long time. A successful org needs both of these qualities to function well.


What an amazingly thoughtful take. Thanks for this. I have always felt there was a difference between managing (which I dislike) and leading (which I do like) but was never quite able to put it in words.


I agree with the majority of the other posters; internal is typically best.

In my experience, usually how this plays out is:

1. Establish yourself has a high performing SSE. You need to build this reputation both on your direct team and department, but ideally across the org broadly.

2. Make it known you wish to become a manager at some point in the future. Have conversations with your direct manager, but also consider having conversations with other managers and leaders in the organization broadly. Ask them how they made the transition and what advice they would have for you.

3. Try to take on as much manager-like responsibilities as you can. This could include: a. Mentoring and helping onboard new employees b. Informally overseeing the activities of some employees (interns or junior employees can be a great place to start) c. Figure out if your organization offers some type of future manager training. Enroll in that. d. Getting involved with interviewing. e. Offer to take on special projects outside of your day to day work.

4. At some point when you have done the majority of steps 1-3, sit down with your manager and put together a written plan. Some companies will have great competency models or career frameworks that you can leverage, but many don't. If you fall into the later camp, check out online resources for companies that have published their engineering manager competencies. Use those to inform your plan and cite them in the document.

5. Get agreement from your manager on this plan and then execute.

6. Never stop working on your management skills. Being a people manager is a huge responsibility. Its deeply personal and you have a huge impact on the day to day welfare of your employees.

Edit: some engineering manager reference career frameworks http://www.engineeringladders.com/EngineeringManager.html Square: https://assets.ctfassets.net/1wryd5vd9xez/6bDnTwb4H7bfiFvg55... Dropbox: https://dropbox.github.io/dbx-career-framework/m3_engineerin...


Definitely do #2! I bailed on a job where I did plenty of 1 and 3, but instead of actually saying I wanted to manage, I crossed my fingers, hoping that all the good work would be noticed and rewarded. Well as the team grew, I thought to myself, "yessss they're going to need a manager now and I've definitely been showing that I could do it for the last few years! I am certainly at the top of the consideration list!"

Well, on a random 1:1, manager said "Oh, by the way, the team is growing and is too big for just me. We couldn't find a good internal candidate so we hired a new manager for you guys externally. Hope it works out!" Finally, at this point, way too late I said "Gee, I was kind of hoping to make that move myself!" Manager looked at me mystified that I'd be interested in career growth. Total miscommunication. I was really bummed, demotivated, disgusted, lots of negative emotions. I didn't even last another year there.

Don't do what I did :)


I'm sorry that happened to you but I agree that it's a lesson that's good to share here. I always try to ask my reports what they want to do/what changes they would like to make because I understand that a lot of people assume that I'm somehow going to know. I can't read minds!

That doesn't mean that if you tell me you want to be a manager and there aren't any positions available that I'll start thinking about firing you (I really believe some people think this). It means I'll add it to the list of options available to you so, e.g., if a small leadership role becomes available, now you're a potential candidate.


That is partly on you but also more on your manager. He should be talking about where you want to go with your career in 1-1s and certainly in reviews.


"You miss 100% of the shots you don't take. -Wayne Gretzky" -Michael Scott

If you want a leadership position the first step is to make it known to your manager. While a good manager (particularly in a growth company) will be constantly on the look out for potential new leaders, you can't wait around and just hope to be noticed.

Making your career objectives known to your manager allows them to have a conversation with you regarding your aspirations, their assessment of your skill set/aptitude (and how to flex/hone them), and what opportunities are available in the company. It will also allow you to determine whether a future is possible at the current company (is your manager supportive, dismissive??) or if you are better off finding a new position somewhere else.


Expanding a little on #2 and those discussions, I've come to appreciate this adage: 'if you want advice, ask for money. If you want money, ask for advice'. The adage seems to still often apply after substitution of 'the thing you want' for money.

Asking around for advice about becoming a manager may help to make anyone looking for a manager consider you: you're showing you respect their opinion, and you're being thoughtful about the role, its needs, your fit, and your strategy in getting there. Conversely, asking directly if people might make you a manager may get them to instead critique your ask, your position relative to their needs, or other attributes you have.

Clearly, you will need to make it well-known to at least your own manager that management work is an interest you have and want to explore. But how you approach the topic with others who might have opportunities available can take things in very different directions.


This is the answer ^

Part of both #1 and #3 can be jumping at opportunities to serve as a "tech lead" for either just a single project or, more officially, for a small team.

This isn't necessarily "people management", but it involves a lot of constantly-iterative planning and prioritizing work, which can only really be done well by getting lots of input from others, trusting their time/effort estimates (while challenging assumptions), establishing interface boundaries across teams, gaining consensus, etc.


This is pretty much what I did.


In general this transition is easier within the same company. Management is a different path/career. It mostly requires different skills than your IC skills. This makes it difficult for you to convince another company that doesn't know you that you have what it takes to become a good manager. It's not impossible. It's just more difficult.

In an ideal world, accumulating more leadership responsibilities in your current company is a smoother way to get to management. This usually means something like IC -> team lead -> eng. manager.

Bear in mind that different companies may have different set of expectations from their eng. manager when it comes to technical knowledge or being hands on. This is also influenced by the size of the company and where it's at in its growth. It's no surprise that at startups an eng. manager may end up being (much) more hands-on.

I believe it's extremely difficult to be a great IC and great eng. manager at the same time. As they require different sets of skills, it must be extremely difficult to develop both sides equally. Where I work we want our eng. managers to be people managers. Their teams have Tech Leads that Eng. Managers can rely on for technical parts.


I've worked as EM for a number of companies, and even though I'm quite experienced in this position, joining a new company as EM is always quite overwhelming - it would be even more difficult if it was my first time in this role.

So like others say, do it within the same company. You already know people, you know the culture, you know the processes, you can focus all your attention on learning how to be a manager. And it's quite a different role than being a developer.


Agree with all the advice that doing it internally will likely be easier (per the "When you're doing something new, don't do something new" maxim).

That said, changing companies can enable rapid evolution. It'll (potentially) make it easier to be the manager you want to be, as opposed to the manager they think you'll be. In many cases it's likely better to do it where you are, but wanted to advocate for the benefits of the alternative, it's not guaranteed to be worse.

My path involved switching to a combo IC & manager at a place where I was an experienced IC, but my skill as a manager didn't really develop until I switched companies.


Who is going to hire someone to manage when they've never done it before, though? I certainly have never and would never taken a risk like that, it's hard enough to hire decent managers when you're looking at people who have proven histories, whereas when picking from internal candidates you at least have a sense of personality already and can guess who reports will trust.

I don't think I know any managers who didn't start doing it at a company they'd already been ICs at.


I 100% would - Better to find someone who wants to do that job than someone who has organizational knowledge but isn't really compelled by the work (or who would better serve the team in an IC role).


What changed when you switched?


Generically:

- shedding of responsibilities (no longer an expert)

- shedding of preconceptions (new people, new me)

- being new means that people are looking for you to bring your new perspective, which isn't always the case at an existing role

- working with all new people polishes management skills as you can't rely on built up relationships

And then there's the choices you make when interviewing about what kind of company culture/new manager/new team you're going to. Like, if I care a lot about DEI/4-day work week/etc, and my current company doesn't, do I want to work to make that happen (if even possible), or go to a place that also cares about that which allows me to learn and iterate on something that I care about.


My 2 cents on this as I transitioned within the same company,

1. Your existing relationships will factor into your work. You might carry over existing biases. Your rapport with your peers will decide how much successful your decisions on running the team are met with early on. This is also a double edged sword since you might find it difficult to make harder decisions as a leader and a good colleague might not be always a good employee.

2. Advantage on solving existing problems since you have faced them as an IC and now may have the necessary knowledge, power and contacts to solve them. Do be careful to identify if they are solvable first as these problems may appear very different from the point of view for a manager.

3. You might feel the need to solve a coding problem or architect a new feature since you might have exposure or knowledge on the same, but you would have to play a different role in it since you are no longer a contributor but a manager.


It depends. The main lever is where you will find a great mentor. Here are a few points you should think about:

1) Sponsorship/Mentorship. Will your current manager or another manager in the company champion your transition to a manager? Becoming a manager requires a lot of mentorship and coaching. Does HR at your company provide support? Is there a Senior Manager or Director that will mentor you?

2) Levelling. Does your company have a career ladder? Are there Staff Engineer levels? Have you reached this level as an IC? I personally would not sponsor an IC to become a manager if they haven't reached the Staff level. Staff Engineer is a sideways promotion to Manager. Senior Staff Engineer is sideways to Senior Manager.

3) Switching Companies. You should apply for a Staff Engineer position at a new company. During the interview process make it clear that you want to transition to a manager. During the negotiation phase, build a 6 month transition plan with the hiring manager.

4) Read. Read a lot. You should read all of the canonical management books.

https://www.amazon.com/High-Output-Management-Andrew-Grove-e... https://www.amazon.com/Managers-Path-Leaders-Navigating-Grow... https://www.amazon.com/Hard-Thing-About-Things-Building/dp/0... https://www.amazon.com/Making-Manager-What-Everyone-Looks/dp...


Same company 100%. You won't find many companies willing to hire someone externally who only has IC experience into management.

I went went from senior to tech lead while changing companies to work for the same manager, and then from tech lead to manager within the same company. Have since switched to EM at other companies. I've never seen an example of someone going from IC in one company -> EM in another company.


It really depends on your company/culture. I spoke with a variety of different EMs about their career progression and I learned there's really no single, straightforward path. Many ICs-turned-EMs were already doing the job, just lacking the title. The promotion to EM was just a natural promotion. (This is common, but takes a while and really depends on demand w/in your company and headcount requirements.) If you don't have a lot of people/team management experience or if you want to move faster, you'll probably need voice your desire to be an EM and find a leader who is willing to take a chance on you. (This is faster, but can be difficult to convince someone to trust you when you don't have experience managing people. I've seen this chicken & egg problem a lot...'how am I supposed to prove my abilities as an EM if nobody is willing to let me try?')

If you are in the latter situation, think about all the team/people/product/project management activities you've performed in the past and use that to build your narrative. You don't have to be an EM to have/demonstrate those skills. You should definitely apply and interview elsewhere...it can't hurt. Worst case, you get some practice and you get a better idea of what your industry is looking for in an EM. Best case, you get the job :)


I'm an IC that's been applying for dev manager positions at other companies over the last couple of weeks. I've had two interviews and both of them have gone well so far, but I haven't heard back yet as they're still interviewing other candidates. I think the biggest barrier at other companies is competition; I'm competing with folks that are already established in the role, so I've had to get really creative with the "scenarios" I come up with when they're asking me their questions.

If you have the option to try it internally, I echo the dozens of other posts here that say it'll be the easier route. Much much easier. Getting to the interview stage at another company will be hard and like I said you'll be competing against stronger candidates. On top of that you'll be going into a role you have nearly zero knowledge about and any inexperience you have will be magnified because of it. If you're like me and there's no management positions available at your company, search elsewhere as a last resort.

EDIT: Oh another thing: the only reason I'm even being considered is due to past experience as a lead developer. If you haven't had any lead positions on your resume, it'll be even harder if not impossible at most places.


Internal is best. Show leadership within your team. Take things off your managers plate and do it for him/her. Don’t go around your manager.

Given there is a lot of fluidity in the market now, some team will lose their EM. Ask for the opportunity to lead that team. Offer to do the job without a title change. Then ask for title 6-12 months in. It’s easy for your boss to give you a role without a title change due to org dynamics.


Devil's Advocate: If the consensus holds that staying internal is that much better than switching jobs, to the point that it makes no sense to take the risk, then you, being known to your employer to be interested in making a move, are now vulnerable to exploitation by your employer.

Figuratively, The Move has become a dangling carrot that they know you will follow thru happily just for a bite.

Not saying this will 100% (or any% really) happen --- elusive as they seem, decent middle-upper management do exist --- even then, you would be in no position to refuse tasks that would only serve to distract you from your goals. Also, your employer's time frame in mind for you might be e.g. 5+ years, and they may or may not communicate this expectation honestly to you.

Having both 1st/2nd-hand experiences of dangling-carrot-equivalent events, I must say that it's very important to be comfortable figuring out what is the actual expectation from the above, and have actionable plans. It is awkward, but at the end of the day you have to know better to avoid getting distracted.


I found it very difficult (edit - after being promoted internally). The company I worked for wasn't huge, probably a small team by comparison to many here of ~30 mainly developers, some designers, and a couple of PMs.

As the senior developer I'd designed most of the in-house tooling and trained most of the staff, then laid out team structures and project workflows. Over time our clients became more sophisticated and I found myself drawn more to pre-sales architecture / engineering / estimating, hiring, performance management, etc.

I was given the title of CTO, and more of my time was spent on product strategy, aligning technical strategy with business goals etc. Lots of spreadsheets, lots of modelling and planning. This would have been fine but I never was fully able or allowed to let go of my previous role. I was still the "guy" when it came to build systems, git merge conflicts, server issues, etc, and the company could never justify replacing my old role while I was still on the books.

This was stressful mainly because of context switching and workload. I was happiest when I could focus on one role or the other for extended periods. Having to wear both hats eventually wore me down, as it was hard to constantly keep the big picture in mind while having to focus on minute details like which version of SASS we should be running across our projects, or manning the support helpdesk after hours.

Switching to a new company lets you walk into a new role without the history - you might be less likely to be chased up to provide critical support or jump on the tools while you're trying to wrap your head around a 5-year digital transformation strategy for a federal contract. I switched to freelancing though so I can't speak to making the switch from experience, just what it was like to move up within a company.

Your mileage may vary, and as others commented it comes down to company culture.


I did it switching companies, but only because I had a prior relationship with senior leadership who could vouch for me. All other attempts I had to make that transition at random other companies were met with silence or "We want somebody with leadership experience."

Generally I think you will have better luck within the same company.


Why do you want to be a manager? (This is a genuine question, not a challenge or an argument.)


A friend at FANG who moved from IC to management describes it as a relaxed and easy cushy job compared to being an engineer and doing real work.


Hah! I would argue that your friend is either extremely fortunate to be naturally gifted to work with people, or (the way more likely option) they don't have enough knowledge and experience to know that they're not being a good manager.

Being a good manager is generally not an easier position. It's a different way of solving mostly different problems. That's why it requires a different set of skills.


It could also be that the company was trying to squeeze too much out of them as an IC.


As co-founder and CTO of my firm, I agree with many of the other responses: internal would be best, by far, assuming you like the existing team and have solid relationships therein.

With that said, shameless plug: if you are a senior-level IC who may be interested in getting a foot into management, we're hiring :)

Our company: bractlet.com

My email: brian at bractlet dot com

We're helping solve climate change through energy efficiency, and need talented folks to help us scale our systems and business to the next level.


I think it would be very hard to switch from IC -> management by jumping companies.

My current manager made the switch from IC -> management a few years back. Internally, he was able to leverage the long relationships he had to get appropriate mentoring. He also had the trust/support of the team he was managing, giving him a large cushion to try out/experiment not worry so much about failure.


It depends on your company. Some companies are happy to move people around internally and that can be the easiest way -- asking to lead some projects and incrementally stepping into that role.

If you have no management experience, it may be hard to convince another company that you have the appropriate background.


If you haven’t been a manager yet I would highly recommend doing it in the company you’re currently in.

Try to make sure you understand the difference between a senior technical role and a manager, I received promotions and took them without thinking much about the consequences- it’s an opportunity to think about what role and career path you would prefer, and those big decisions don’t appear all the time.

Think about how the manager role operates in your company as companies differ e.g. company A the manager may be completely off the tools and company B they may still do technical work here and there.

To go the management route you’ve got to really want to help others, and be their buffer from the rest of the leadership and wider org that want to bombard them with too much work and bad requests.


IMO a manager needs to make their direct reports and their team successful. But you can start doing that while you're an IC: get in the habit of unblocking people and generally being useful.

Also, manage a coop student or intern. One of the reasons companies hire them is to give their ppl management experience, so take advantage of that.

I did both of these things, and my company made me a manager 2 years earlier than when I thought I'd try to transition into management.

And after 6 months I decided I didn't really like management that much, and they graciously let me transition back to IC, haha.

It probably helps if your company is growing, has a healthy management culture, and great career progression options for ICs and Mgmt. If that's not the case, switch companies.


Yep: the #1 rule about asking for an official increase in responsibility is to already be doing the job you're asking for. You can't 100% do that with management (there's a lot of official stuff involved with that role) but you can definitely do as much of the softer stuff as possible, and get people to know and trust you, which is the most important factor.


Trying to make the switch myself. My boss became a director recently and asked if I still wanted to move up. The problem now is organizational and we had a massive merger recently. The execs are still wanting to trim the fat and blocking new hires/promotions.

Recently I came across some Technical Manager jobs but the commute and lack of WFH post Covid was a deal breaker. I didn’t think they existed for someone without management experience but they do.

One thing to avoid is being called a manager but not having any reports, dotted line “reports.”


If you're transitioning inside the same company, you have the added benefit of knowing the people you'll be managing ahead of time. This isn't always necessarily a positive thing for the same-company argument. You'll definitely be more aware of the "people problems" that will now become "your problem".

If you're OK taking on those problems, go for it. If not, you're essentially rolling the dice - you may end up with a situation that's better or worse.


I’m having a hard time transitioning because idk what our management is doing. Have a good track record and done all the management training.

Starting my own company instead.


I'm an EM, but if I switched roles, I'd likely want to either significantly (1) downsize the initial team or (2) switch back to IC for a bit.


Best start internal. Management is mostly about building and maintaining good relationships. You already have accumulated social capital and good karma in the existing company. Leverage it to pivot to management. As an added bonus your current colleagues will be less forgiving than new ones.

I’m speaking from my own experience and a few others I’ve seen do not.


It is extremely rare to get a management position as an external candidate with no management experience. I recommend making your intentions clear to your manager / skip level manager and come up with a plan for moving into that role with them.


I think it's easier to do it within your company. Trying to learn management AND a new company at the same time would be pretty tough. That's how I did it, and I think you'll find it's pretty common!


There are different kinds of management. If we're talking about people management, you'll need to learn how to excel at emotional intelligence, understanding your direct reports on a personal level in order to motivate and monitor them. If we're talking about technical management, you'll need to know how to inspire people, remove blockers, mentor, and jump into code when needed, all while reporting upward.

For many, this is a very challenging transition. But I tell everyone under 30, you need to learn management skills before 40 so you can make the transition as early as possible. Talent eventually will side with younger people.


>is this transition easier within the same company

this is easier first.


I did it internally however I'm a mix of the two, so more of a "Principal Engineering Manager" than a traditional people manager.


Management is about running meetings and making accurate schedules. Do you run some right now?




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: