What are the biggest challenges in software development? According to a new report, two things in particular dominate development teams’ bandwidth and time: Capacity and sharing knowledge. That makes mentoring a crucial skill for teams facing any kind of production or scheduling crunch.
By ‘capacity,’ Coding Sans’ State of Software Development 2020 Report means the ability of a team to handle its workload—an issue that’s often solved by hiring more developers (if that’s possible) or improving the existing team’s skillset.
Sharing knowledge is another huge issue, especially on massive teams with a mix of junior and senior developers. Here’s Coding Sans’ full percentage breakdown:
“Mentoring is an underutilized tool among software developers; it’s worth looking into how to set up a system for it,” is what the report suggests for tackling the knowledge-sharing issue. “Beyond that, pair programming and code reviews are the most obvious. You can also use brown bag lunches to move it into a less formal environment or company hackathons to sharpen up your developers while letting them have fun.”
Mentoring and knowledge-sharing is key to bringing solid developers aboard a team in the first place. Last year, a national survey from Instructure (and conducted by The Harris Poll) suggested that 70 percent of employees are somewhat likely to accept a job with a company that’s known for investing in employee learning and career development. Report after report makes it clear that developers and other technologists are always interested in boosting their skills however they can.
But mentoring effectively is often easier said than done. Senior technologists who find themselves in the role of mentor (and/or team leader) have to go out of their way to make lessons and examples relevant to the junior members they’re instructing. “The last thing you want to hear as a mentee is an example that is irrelevant to your experience,” Ameesh Divatia, co-founder and CEO of Silicon Valley data security specialist Baffle, told Dice last year in a conversation about mentorship. “You want to have a relatable example. Draw lessons from history, but don’t dwell so much on the past.”
For mentors, carefully listening to mentees’ concerns and issues is also key, even though it can sometimes prove challenging when everyone is rushing toward a tight deadline.
Mentees, meanwhile, must be proactive when it comes to knowledge-sharing; if they don’t know something, they need to say that. We only learn through feedback and trying things out; passivity just slows that flow of knowledge throughout the team.
While the stereotypical image of mentoring is a one-on-one relationship between mentor and mentee, there are several other ways to share knowledge, including:
Reverse mentoring: When younger technologists share their knowledge of new technologies with their more-established peers.
Group mentoring: In which younger team members share knowledge among themselves, or rely simultaneously on the same senior member.
Micro-mentoring: Quick mentoring sessions, hosted on an ad-hoc basis, designed to target specific challenges/issues.
Speed mentoring: Somewhat like micro-mentoring, this is when mentees take what knowledge they can from quick meetings with senior technologists—whether within the company, or at larger events such as tech conferences.
With COVID-19 forcing many technologists to work from home, and thus manage teams remotely, it can be difficult to find the time and bandwidth (literally and metaphorically) for mentoring. Nonetheless, the effort can pay off, as mentoring can translate into a group’s capacity and collective knowledge.