Live data from Hacker News

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

news.ycombinator.com

31–40 of 186 posts

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

#31

As a developer, I'd love to see more managers read and try to follow the advice that makes sense for their company/position from Michael Lopp, aka Rands: http://randsinrepose.com From my perspective, it's a how-to guide for managing information workers, keeping them happy, and keeping yourself sane.

+ Yes, I suggest reading his book 5 times:

[0] https://www.amazon.com/Managing-Humans-Humorous-Software-Eng...

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

#33
The hardest bit you are going to have to overcome is the ursge to step in and do the job yourself. Up until now your career has been built on your ability to get things done. From now on, your career will be built on your ability to help others get things over the line themselves.

This is not to say you should down tools and never touch code again, far from it, but you should strictly cap the time you spend coding for at least 12months as it's too easy to fall back into the habit of feeling productive becase you have your IDE open. If you spend too much time coding, you are avoiding your real job. I generally pick up bugs, scut work or the occasional prototype. I also enjoy clearing up some technical debt from time to time. Either choose quick tasks that no one is relying on, or longer term items that wont cause any blocks if you are delayed.

Related to the above - as manager, you are no longer in the best place to decide on a technical solution. It is your job to make sure that the best technical approach is decided on. In fact you can generalise this to management as a whole - its not your job to make decisions, its your job to make sure decisions get made.

You fail if your team fails, you succeed if your team succeeds. Therefore do everything you can to remove impediments, and shield your team from shit that distracts them wherever it comes from. Encourage them to speak out when they think something is wrong. Play the role of facilitator in meetings to make sure every option is heard and discussed. Have regular informal one to ones with your staff with no fixed agenda - just ask them how they are getting on and how they think things are going. If you have a good connection with them, then you can ask them what you personally should be doing better to help them. If there is little to no trust, then expect them to clam up and say all is great and you are awesome even if you are not.

I loved the transition to dev manager because I was able to make a bigger difference to productivity than if I was doing coding myself. Bigger longer term impact, more strategic but less of an instant 'sugar hit' from tech related fun.

One final piece of advice that I was given by a CTO. He asked me who my team was. I replied with the developers and QA who worked for me. He told me I was wrong, they were my 2nd team. My 1st team was my peers. The other dev managers, QA manager, support team manager, product manager, project manager and ops manager were my team. We needed to start working more closely together as a team rather than in our own little 2nd team silos. What a difference that made to my perspective.

edit:some spelling

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

#35
Take care of your people.

Know the difference between being a boss and a leader - becoming a manager doesn't mean you know better.

Negativity is like a virus. If you're a cynical engineer, figure out how to not project that cynicism.

Focus on outcomes. Whatever the day to day drama is, move towards your goals.

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

#36
The biggest challenge I find is code. If I'm trying to deliver, I can't give myself the thinking time to identify challenges and produce solutions. I can't orchestrate people if I'm under duress to deliver. So really try to separate code and management and move your focus from one to the other. Seek mentorship and guidance in managing this balance from inside the organization - it's the killer of anyone who would hope to be a decent lead.

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

#37
1. Make sure you understand what role you are striving for. People rarely agree what is difference between "Manager" and "Leader", but ensure you understand your own definition and what your preferences are. (for myself: a Team Lead is also a subject area expert, and may spend time both guiding their team to success, coaching, mentoring, and interfacing with other teams and upper management; as well as performing design/architecture, assignment, troubleshooting and maybe even some hands-on work themselves. They are the person other team members turn to guidance. Scariest sentence I heard in my university years was "A good manager needs not be a subject area expert", but I now understand it better: they understand the company, business, strategic imperatives, processes and frameworks, deadlines and pressures, stakeholders and environment; and ideally should work to remove obstacles from team members, ensure the team is working at high efficiency and in the right direction, and interface at high level with client and senior leadership.

Team leads have more fun, but that statement is relative :)

If going into management-proper: 2. Make sure you are prepared to give up the hands-on. Absolutely the hardest part for most technical people I've ever met.

3. Make sure you're prepared not to be the SME anymore. You simply won't have the time to be up-to-date on either every detail that's going on with the system or systems you're managing, or industry standards and movements.

4. Learn about people as voraciously as you would have about technical items. Communication is a hard skill to learn and cannot be acquired alone. Aggressively seek mentors and feedback. Run post-mortems: What happened in that meeting and why? Did we reach our goals? Why or why not?

5. Absolutely most importantly: take care of your people. Enable and support and coach them to success. This can be the least externally but most internally satisfying and gratifying part of the job. Depending on your workplace, you may or may not be recognized for developing your team, but this should be your #1 priority, and if you gain personal satisfaction from seeing your team members soar and take flight, you should do OK :)

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

#38
Two main things 1) You should think & ask about what the goals you really want for you. 2) You have to fight for resources

1- Do you want a team that works really hard and produces a lot? Or has good quality of life? Technically strongest or business focused? Grow new junior people or stick with those who know what you're doing? Usually people just take one day at a time and at the end of year disappointed where they end up. Will you get paid more if you choose which one of those choices? Or maybe you care more about love of your team, or professional accomplishments than money. Think about that.

2- When there is more and more work I tend to come in on weekends and work longer hours. Other teams just say they can't do it without more resources. I wish I was like the other teams.

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

#39
You must internalize the fact that you can get things done just by talking to people. These days I rarely commit code but influence the direction of code with 1:1s and coaching. My biggest suggestion would be to shift your focus to the broader picture. Think of process improvement as your primary job. You now have the power to remove toil from the lives of your direct reports' day to day so seek out ways to do so and you will have increased the productivity of your team by a large multiple even with a small improvement.

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

#40
This is a hard switch that requires you to focus much more on personal / people challenges and much less on technical challenges. I recommend you completely throw out your developer hat. Your role on technical issues should be limited to making decisions when necessary.

Otherwise I would focus on three things:

1. Estimating project time. It will now be your problem when things are not on schedule. Nothing happens quite as planned, but knowing when your team can realistically deliver X is priceless. Successful mastery means most projects get completed in line with your internal predictions (which do not have to match whatever your own management expects or claims).

2. Keeping team happy. Knowing each team member strengths and interests, understanding and resolving interpersonal problems. And keeping them shielded from your own management. Successful mastery means your team respects you.

3. Firing (and to a much less extent hiring). Learn when you should let someone go and how to do it. Success means you have to do it rarely and when you do you do not lose team's respect. They may grumble, but deep inside will know that this is the right decision.

Post reply on HN