Opinions expressed by Entrepreneur contributors are their own.
So, now you’re a manager.
Chances are high that as a newly promoted manager of software engineers, you were recently in the trenches with your fellow coders. Management requires quite a different skill set than coding, but fear not, because you will still rely on things you learned as a developer. It can be tempting to fall back on coding and to want to fix problems yourself, but your job is no longer to fix the code. Your job is to create a self-sufficient team of coders who can problem-solve for themselves. One of the tools you will use is delegation.
To delegate effectively, you should communicate expectations about responsibilities and give your team the support they need to succeed. Part of your job is to assess where your team needs to grow, who could benefit from being a mentor, where the team can expand technically and who has the bandwidth to take on new tasks. Check-in and give feedback without taking over so your team can grow their skills. Give a clear picture of how success looks, and celebrate when your team hits its goals.
Related: How to Delegate Better and Become a Great Leader
Leverage the skills you built as a developer
New managers can succumb to the siren song of trying to do everything themselves. Unfortunately, this sets up your team to rely on you whenever there is a problem and doesn’t give them the experience they need to function autonomously. Taking the extra time to teach a solution instead of coding it yourself pays off in the long run by saving you from having to write that same code again. An added benefit is that you now have another developer to mentor others and spread knowledge across your team. Your job is to ensure the success of your team, not become a bottleneck that developers have to pass through to make a decision.
Should you continue to code? In his book Managing Humans, Michael Lopp advises managers to stay in touch with their roots as developers. You should be familiar with the language and tools that your team is using and understand the detailed architecture of a project. The point is to stay connected as you delegate the day-to-day work of your team. Your years as a developer have taught you how projects succeed and how they fail. As a manager, you can leverage this valuable experience to guide your team. Listen to your gut, and look at the bigger picture. When you encounter a situation that you’ve seen before as a developer, ask the right questions to dig deep into how milestones can be met realistically.
Build trust through preventive maintenance
Preventive maintenance is key to fostering the trust needed for successful delegation. The time you spend upfront coaching your team is an investment. Foster a sense of safety, and reinforce the idea that mistakes are learning opportunities. Developers should be thanked, not punished, for being honest about not meeting a deadline or when a solution isn’t working.
A great way to develop trust is to hold one-on-one meetings with every team member. Tips for one-on-one meetings:
Schedule at least 30 minutes
Don’t show up late or reschedule
Listen for more than a status report
Ask about career goals
Coach team members on how to coach others
Related: Why Entrepreneurs Struggle Delegating to Remote Teams
All of this sounds great. But how do you do it remotely?
Remote work is the new normal for many software engineers. Patrick Thibodeau recently reported that “nearly 40% of software engineers will only work remotely.” Developers report higher productivity and less stress when they work from home. Employers have the advantage of accessing a global talent pool and can cut down on the costs of renting and furnishing an office. Managing a software team is challenging enough. How do you build a team that spans across time zones and physical spaces?
Rely on a common process
Stand-up meetings, planning, backlog refinement and code reviews can be a challenge to run remotely. Find a range of hours across time zones when people will be available to work together to schedule meetings and record meetings for those unable to attend. A robust asynchronous onboarding process can help new team members understand the standard policies and expectations of a remote team.
Delays in communication can be costly across time zones. For communication that happens asynchronously, take care to explain concepts clearly when you might not be immediately available to answer questions. Make sure that any resources your recipient will need have been attached or shared with appropriate permissions. Outline what constitutes an urgent message and when you expect a reply. Successful delegation relies on your team having the proper support to do their job.
Use tools to connect
The choices for remote communication have exploded over the past few years. Zoom, Google Meet and Microsoft Teams can be used for video conferencing and messaging. Slack is popular for its specific channels and direct messaging capabilities. Tools for version control and IDEs are crucial for software development. Common places for online calendars and document storage like Google give companies a place to organize shared knowledge. Using story cards or tasks in a project management software like Jira, Trello or Basecamp will give your team a place to see which tasks they’ve been delegated. Developers can ask questions, create checklists to document their process and understand the acceptance criteria for a task. Management software also helps the team to plan resources and meet deadlines.
Related: The Step-By-Step Guide to Managing Remote Employees Effectively
Create a community
Remote workers can still be connected to one another. Ways to build community remotely could include:
Icebreakers or social time for the first few minutes of meetings
Virtual coffee meets or book clubs
Lunch and learn presentations
Dedicated channels on a messaging app for social topics, photos or fun facts about the team
Online game events
Completing a certification or taking a class together
When managing people from different cultures, ensure that policies are inclusive. Take the time to learn about differences in communication styles that might affect how to elicit feedback or criticism. Making sure that every voice on your team can be heard builds trust and engagement and ensures that delegated tasks are understood by all members of the team.
Delegation is challenging for software managers but especially for those managing a remote team. Every team benefits from building trust and clear expectations around delegated work. If you are managing a remote team, you can rely on processes and tools to collaborate and communicate effectively. Even if your team is spread across time zones or continents, you can lead successful software projects through thoughtful management and delegation.