Live data from Hacker News

Ask HN: Going from Developer to Manager. What should I know or learn?

news.ycombinator.com

61–70 of 186 posts

Re: Ask HN: Going from Developer to Manager. What should I know or learn?

#61
One thing that took me a while to "get" fully (and muster the courage to try) is that as an engineering manager it is perfectly ok to at times hand over stuff you might consider "your job" to members on your team. If you do, you should of course offer extra supervision if they feel like they need it.

There are a few great reasons for doing this. It makes your team less dependent on you, and it makes them feel empowered in that way. They learn your job is nothing magical and that they, too, can solve problems that they might otherwise just say "management needs to solve this". It erodes the "us vs them" dichotomy of management vs workers which has never been helpful in my view.

Another reason is that junior developers might not really know or fully understand what their manager does, and thus might not be considering it a valid career path for them.

Finally, it frees up some of your time, which you will find when you become a manager, suddenly becomes a lot more precious. With that freed up time, maybe you can spend some time coding, so you don't become too detached from what your team is doing.

Re: Ask HN: Going from Developer to Manager. What should I know or learn?

#63
I am a new manager. I made the developer to manager transition 14 months back. Educating yourself with books and podcasts is nice, however do not spend too much time on these resources too soon. Without appropriate breadth of experience a lot of the advice might not seem actionable. My advice would be to aim to become a great new manager first. Becoming a great leader and manager is a function of experience and will come with time and patience.

My advice for a new manager would be:

1. Bootstrap by emulating your manager. As a new manager now is not the time to demonstrate your grasp of modern management literature. Pitching too many new management ideas too soon will slow you down. Start by emulating your manager. Copy her 1-on-1 cadence. Copy her team meeting cadence. Parrot her words in your own team meetings. Her style might not be the best - but it the style she is most familiar with and it gives her an opportunity to work with something familiar and hence comforting. Once you have a semblance of a track record - start evolving your own style.

2. Prioritize the tactical vs the strategic. The first 6-12 months are about building your credibility as a manager. You will build credibility by executing on the immediate needs of the org. So first 6 months should be about tactical execution - once your team starts getting better at executing dial down and delegate the tactical and start focusing on the strategic.

3. Try not to expand too fast. As a new manager it might be tempting to grab all the head count that comes your way. However without scalable processes in place you are likely to have a large but miserable team. Ensure that you have appropriate automation for tracking individual + project progress on a daily / weekly basis. Ensure that you are competent enough to derive high signal-to-noise ratio in your 1-on-1's with your directs.

4. Treat administrative / HR tasks with great seriousness. As an individual contributor your engineering tasks took priority. Do not be that manager who forgets to approve expenses, approve PTOs etc. Have a rock solid understanding of compensation and bonus structures, criteria for salary raises etc. Saying "Why don't you reach out to HR" is a great way for your directs to lose confidence in you.

Re: Ask HN: Going from Developer to Manager. What should I know or learn?

#64

Most important thing to me, learn the difference between leadership and management. A long time ago I was mentored by some great leaders who taught me the difference, and also taught me when to manage situations or specific people. Management isn't a bad word, but applied the way it is most places it should be. My goal with teams is to inspire them to make good choices, show them the right paths and help them succeed…

Leadership: doing the right thing

Management: doing things right

Peter Drucker

Re: Ask HN: Going from Developer to Manager. What should I know or learn?

#65
Be kind, be nice, be fair, help people succeed. Sometimes you are the shield who protects your team from upstream. You translate higher level objectives into specific team actions. Build relationships with other managers and higher ups. Find comfort in uncertainty.

You are now the direct report of your manager and you now have a team that acts as a force multiplier to get more things done or more complex things accomplished than you did alone. Your job is to use that effectively and also inform your higher ups of what is realistic etc...

Re: Ask HN: Going from Developer to Manager. What should I know or learn?

#66
During my college job as a cashier I made the transition to a lead position. About ten years later I went from developer to manager.

I found both transitions to be remarkably similar. My focus shifted from performing tasks to building trust and learning how to motivate.

My main advice: I cannot stress enough the importance of consistent and considered 1:1s. Many in the software industry view these meetings as unimportant status updates and often neglect them. This is a missed opportunity and you would be wise to give them the proper prioritization.

Take advantage of these private sessions to go beyond the projects they are working on. Explore what motivates them and dig deep to uncover their true passion. It will take time for them to open up but you can accelerate this process by sharing personal feelings and putting yourself in a vulnerable position.

I had six direct reports and met with each of them weekly for a one hour session. This is a substantial time commitment and can be emotionally exhausting. In my first few months these meetings intimidated me and it felt like I wasn't making progress. Eventually they became my favorite hours of the week and energized me in a way that software development never had.

Re: Ask HN: Going from Developer to Manager. What should I know or learn?

#67
post #56

I think this is one of the most illogical aspects of the software industry -- the transition from developer to manager. In order to be a developer you need to spend years learning, studying, and practicing software development, but a lot of times becoming a manager is just some magical title change where suddenly you're qualified to take on some new role which you most likely have no training or experience in, and st…

I see a good manager like a good interface. It's probably unnecessary on a small project, but on a large project you'll be thankful for that piece of the machine that keeps the signal-to-noise ratio high and transparently lets you do the things that need to be done.

For example, I develop tools for internal customers. Those people may have feedback/feature requests/etc which they want to send me. But I'm busy working on something else, and although input is good, we need to prioritize. So my manager takes on the task of processing and prioritizing input, leaving me free to develop.

My manager also has a role in shaping the broader roadmap, advocating for the team's priorities and leading us to a position to deliver on whatever the end result it, which may for instance involve prioritizing space for developers to learn new skills if they're going to be important to the roadmap.

So all that to say, I think there's a role that involves personal development of developers more than project management, and it makes things go a lot better when it's done right (and conversely, makes things worse if not).

As for quantifying it, I think technical debt (specifically, the variety that is actively hampering a team's development work rather than just "this could be better") can serve as an approximation. The team I'm now in had been poorly managed for a long time and was constantly buried in technical debt. We got a good manager, and those issues are drying up as we get the space allotted to solve the problems amid other feature work.

Re: Ask HN: Going from Developer to Manager. What should I know or learn?

#68
My results from several years, from a team lead, to post acquisition large company middle manager:

1.) It can be much more stressful and unpleasant working through other people than being an individual contributor. You must be able to deal with this in a way that doesn't cause too much unhappiness.

2.) You must be a strong distiller of information. You need to be able to understand what information is important and what is not as you will need to distill a very messy situation below you into something coherent to those above you. Developers can often get away with massive detail dumps that lack any sort of narrative. You will not.

3.) Your job is always to make the project successful. You need to have the confidence and leadership ability to make changes as needed on the fly, and explain them in ways so that everyone understands why what is happening is happening.

4.) You must be a strong communicator. You should feel like you are over communicating. I fail here most often, typically you will know it in real time. Do your best to correct it.

5.) You will have more interruptions and starts and stops in your thinking. Organization helps here.

6.) You will go long periods without feeling like you are doing a good job, or feeling like you arent adding anything. You are. Being a manager and a leader is large time periods of being a servant, most often to those below you.

7.) Focus on putting your team in good spots. Find what people are best at, help them excel. Give good people space to grow. Be on the lookout for your next manager below you. Try to help them along and hopefully beyond you.

8.) Large parts of it are just showing up. Asking the dumb questions. Listening. Saying that sounds good, go do it. Holding people accountable. Keep things fun whenever possible.

9.) Largely, it sucks. I do it because I havent found someone else I think could do better for the team yet. If they show up Id gladly get out of it.

Re: Ask HN: Going from Developer to Manager. What should I know or learn?

#69
post #48

I made the jump from developer to team lead, and all the advice here is great. One thing that I wasn't prepared for and that I don't see other people mentioning (on a cursory glance at the replies) is that your reward function for job satisfaction changes, and the feedback loop length changes. By that, I mean that for me personally I derived most of my job satisfaction from solving tricky problems, fixing bugs and im…

Hopefully the parent comment here will stay near the top, it is the key thing to keep in mind, the rewards are different.

As a line manager (you manage people doing the work) your #1 goal is to have your team be super good at what they do. That means developing peoples skills in their technical specialty, their ability to understand direction and act on it, their ability to communicate where they are with the rest of the team. You need to learn to recognize when team members are being counter productive (passive aggressive, competing to win), and when they are being under productive (not challenging their own self perceived limitations). You want to average out those behaviors so that your team trusts in the skills of the other members, trust in your willingness and ability to deal with problems, and trust that you will recognize the effort they are putting in to make things work.

Re: Ask HN: Going from Developer to Manager. What should I know or learn?

#70
In the past 13 years have gone from dev -> tech lead -> manager -> director -> VP/CTO at startups (50-250 people).

Here are my tips:

- Your job is to provide effective technical solutions to business problems via managing a team(s) of engineers, everything else is an extension to that.

- Managing is nothing like coding and requires a completely different mindset and skill set.

- Authority comes through respect and understanding, not rank/title.

- When you are pressured or stress reverting to what you know (coding) is almost always the wrong answer.

- You should take all the blame but distribute all the credit to those under you.

- Code quality in itself is meaningless, you must learn to balance quality and hitting deliverables.

- Say no / only agree to what you know your team can deliver on... and always double your estimate. In the long-term reliability is valued over agreeableness.

- Culture above all, a team that likes working together and takes pride in the product they work on can overcome most obstacles/issues/failures.

- At least once in your career, you will face a direct who is very smart and very productive... but is a complete toxic asshole to everyone around him. Fire them... by the time you have seen the true damage they have done its too late.

- Managing people is hard, each person is unique and you need to tailor your approach in a case by case situation. You will get a lot more out of people if you understand them and they trust/respect you.

- You should always allow your team(s) to grow/learn/try new things. However, engineers are always looking to learn the latest fad/tech to grow their resume. Building things with tools your team does not understand is a risk, attempt to minimize that risk.

Post reply on HN