3 ms·
I've been in software development for more than 20 years. Here are my 2 cents: - Training, training, training! Without exception, all the technical managers th
by yawz 9y ago
I've been in software development for more than 20 years. Here are my 2 cents:
- Training, training, training! Without exception, all the technical managers that I've worked with had arrived where they were at based on technical merits. However, being a manager, especially being a leader have nothing to do with technical knowledge. Therefore management and leadership training is a must. This doesn't necessarily need to be an organized class, but being coached and mentored would be an amazing start.
- Management and Leadership are different skills. This goes back to my #1. One needs to develop both.
- Ideally, you become a servant of the team. You're there to help them become highly productive. Your first job is not to solve the technical problems yourself, not to micromanage everyone, not to command and control. You're there to create a self-managing team that can, ironically, work without a manager.
- You are there to ensure that their motivation and engagement are at a high level. One can be motivated by not engaged. You need to know the differences and the ways to increase them.
- You need empathy to become a good leader.
- You need to be a good communicator. And transparency is a great tool.
- You have to ensure that your team members become good enough to be able to leave your company and find plenty of jobs anywhere else, but also ensure that they wouldn't want to leave.
- lunchables 9y agoWell said. Your goal is to make your team as productive as possible. That means protecting them from wastes of time and keeping them focused on doing nothing but producing high quality product. The term servant leadership is very popular and a good way to approach it. It's not about what they can do for you, you (and me, as management). It's about what you can do to make them as productive as humanly possible. This means keeping them unencumbered, removing all road blocks and making sure they're happy. Also, I think everyone should spend at least some time in their life managing teams. It will profoundly change how you interact with your superiors.
- mceachen 9y agoI bet you read "Training, training training" and thought "yeah, but I'm pretty good. I'll skip that bit." Do not underestimate the differences between being an effective individual contributor and an effective engineering manager. A lot of the concepts a good manager is driven by are counter-intuitive. For example, technical "leadership" as a manager can be repellant, especially to the more senior of your team, and interpreted as evidence of lack of trust. The political environment of the company will also dictate your success. Half your job is to be the team coach/servant. The other half is making sure the rest of the company understands that what your team is doing is high-value (and making sure that actually is true). The OP asked "what skill-sets from earlier were important in the transition." Surprisingly little. One of the team's biggest jobs (which you should try to delegate, by the way), is breaking down a problem into smaller, doable chunks. You'll have done this on smaller scales as a coder, and finding reasonable separations of concern can make or break projects. At the same time, you shouldn't be doing all this work yourself. The more responsibility (not just tasks, but decision-making) you can delegate to your team, the more they will own their work and feel responsible for their own success. These are very different jobs, but training and spending time in those roles can help you on both sides.
- deleted 9y ago[deleted]
- terryjsmith 9y agoThis is spot on. I would add that as a manager, it is my job to foster good relationships with other managers and use those to remove bottlenecks for my team. I spend a good portion of my day on the phone and walking around the office connecting the dots and getting buy-in or compromises and making sure everyone is on the same page about what's being built. On top of that is having a clear "second" who people can go to when you're out to do the same thing. Another piece is being able to make decisions and stand by them. That doesn't mean never backing down, or always being right, but you'll often make quick decisions with less than ideal information and need to be comfortable with that. You'll be wrong a non-negligible portion of the time, so you'll need to own that, work to fix any issues, etc. and not take it too personally. As a manager of other managers, I like to tell my team that you're in a good place when work can continue on without you; your job is to push things forward, drive process changes and improvements, message successes up and down, etc.
- miguelmota 9y ago"Train people well enough so they can leave, treat them well enough so they don't want to" - Richard Branson https://twitter.com/richardbranson/status/449220072176107520?lang=en https://twitter.com/richardbranson/status/449220072176107520...