I’ve been in the position of being led by great managers who are passionate about their developers, and some that seemed they couldn’t possibly care less about them or have any people skills. I’ve learned a lot in my time as a developer and as someone who’s managed others. This is my advice in efforts to help others in similar positions.
Managing a team, or a single developer can bring about interesting challenges. From the tools they use to the management style you bring to the table and beyond, while it’s stressful, it’s also a time period where you can grow as a person in a lot of ways. In my experience both as someone who is part of a team as well as a leader figure, there are a few focal points that really help inspire productivity and a high level of success.
Be a people person
The most important thing to helping your team do their best and enjoy what they do is for you to be a “people person”. Be accessible, be empathetic, listen to their problems and be try to understand where they are coming from. If there is hardship going on in their lives the important thing is to reach out to them and see what you can do to help. If a member of your team has been unable to come to work (or if you’re lucky, work remotely) for a day or two, take the opportunity to understand what they are going through, don’t immediately drive home the point that they have to get the project finished and deployed.
There is nothing worse than feeling like just another cog in the machine and having a manager that is only worried about how much harder you can work now that you’re back in the office. Sure, things have to get done and deadlines won’t just go away because someone is sick or has a family emergency, but being understanding of those issues will help your team feel like you care about them.
A great manager will realize they have many options in situations where their developers are struggling.
Nearly of equal importance, is the ability for your team to turn to someone for mentoring. Yeah, Google and Stack Overflow are great resources and will usually allow you to figure out the problem, but there’s something powerful about talking one on one with someone who can provide guidance and bounce ideas off of. Having someone who can be the authoritative figure and leader on subjects your team deals with can really help empower them.
Giving your team access to professionals and other teams working with the same technology can also be of benefit.
Education & Skill Development
It’s important to continue to sharpen skills and further explore topics on your team’s technology stack. Even if you’re working on projects that don’t push your limits, it’s a good idea to keep up with technology. Giving your team access to online classes, and e-learning materials can greatly help progress their abilities and in turn, potentially give them new skills and information on how to better approach a problem and product development. With places such as Udemy, Lynda.com, and the various other paid resources, these will often give your team high quality learning materials and can be seen as a great reinvestment into their abilities.
Understand Your Developer’s Strengths and Weaknesses
You must understand pain points for your developers, what gives them issues, where are they struggling and why. Is it due to a lack of skill? Is it a problem with the tools at their disposal? Is a problem with other team members or communication? Being a hands-off manager with no oversight into where your developers perform well, and where they struggle is a great way to lose touch with them and create a lot of future issues with getting things done and completed.