It can be argued that the only constant in the technology field is change. With the continuous advancements being made in cloud computing along with the evolution of the development process, the ability to keep up with the newest skills is an essential part of a developer’s job.
That being said, an essential part of a developer manager’s job is to get their team trained on the newly required skills while also not falling behind on current work.
How managers are training
So, what is the best way to accomplish this? According to Jonathan Herke, manager of developer relations at the advanced analytics and machine learning company TigerGraph, hands-on training is the key.
Herke discovered that both he and the members of his team prefer to learn by doing, rather than learning a new skill and then trying to put it into practice.
“It’s about project-based work,” he said. “You can learn things through books and videos but if you don’t apply it, you won’t really learn it.”
Josep Prat, open-source engineering director at the data infrastructure company Aiven, agreed that hands-on training is the most effective method, however, he also pointed out that this could vary from developer to developer.
“In my opinion, it depends on the level the developer is on,” Prat said. “If they have just started their career we might need one type of training but if they are at a later stage we may need another.”
He explained that the best kind of training is one that is tailored to each individual, rather than mandating that managers have to follow a companywide standard.
Morgan Logue, VP of research and development at the low-code software development company OutSystems, emphasized that every developer has specific strengths and weaknesses that influence the way they learn.
“I’ve found some developers that are extremely good at understanding how to properly use a tool, I’ve found some that are extremely good at evaluating whether a tool is a fit for a particular use case, and I have found some that are really good at evaluating the shifting landscape and combination of tools… So it really depends on the phase of the development cycle,” Logue said.
Besides a hands-on approach though, Andrew Knight, director of Test Automation University at the test automation company Applitools, said that he feels self-guided, online training can be incredibly effective.
He explained that with the amount of information and courses readily available at every developer’s fingertips, not taking advantage of this proliferation of material would be a huge missed opportunity.
The benefits of collaborative learning
For managers who want to stick to a more hands-on approach, Herke went on to say that collaborative learning is a good way to accomplish this.
He said that appointing a more senior developer to assist a junior developer oftentimes aids in the learning process.
“There’s times when a developer will get stuck on a task that if they just had someone to ask, it would probably take them about five minutes,” he said. “So we highly encourage that if the developer runs into something, they are not afraid to just ask and have that one-minute conversation.”
Additionally, Logue said that one useful way to put collaborative learning into practice is through the “train the trainer” approach.
This is where a developer is sent to training in order to become a subject matter expert. The developer would then be able to apply their new skills to the use cases best suited for the business as well as help other developers on their team master those skills.
“I think it’s a lot easier to learn a tool if you already understand how it applies to what you are using it for rather than constantly having to take the reference use case and extrapolate that and think about your own use cases at the same time,” Logue explained.
Prat also spoke about the importance of creating these learning networks within an organization.
He said that while it is the manager’s job to lead their team, it is not necessarily their job to teach. Rather, a good manager works to enable their team with the correct mentors and tools needed to support their developers’ learning.
He explained that pairing a newer developer with a more senior one can enrich both of their learning experiences as the newer developer learns the skills and the senior developer learns how to effectively teach.
“What I need to make sure is that I know where to direct people so they can find the answers that they need… I believe that we just need to guide them and show them the path but not necessarily pitch them a specific skill,” Prat explained.
Knowing your team
As a manager, the importance of knowing your developers well enough to understand when they are struggling with a skill cannot be understated, according to Jonathan Herke, manager of developer relations at the advanced analytics and machine learning company TigerGraph.
“I never want to set someone up for failure, so if I do not feel like they are confident enough to accomplish something solo, I will usually pair people together,” he said.
As a manager, knowing your developers on this level is an essential aspect of being an effective leader.
Morgan Logue, VP of research and development at the low-code software development company OutSystems, explained that when a manager takes the time to get to know the developers on their team, it not only helps to determine when they are struggling, but this knowledge is essential when it comes to discerning learning styles in the training process.
“[Learning styles] lend themselves to very different skill sets that have very particular use cases and are optimal in certain situations and not ideal in others,” he said. “You have to know your team at that level. You have to know how they think because without understanding that, it is very hard to be able to predictively figure out how your team is going to process information.”
When trying to discern these differences in learning styles among the developers on a team, Knight said that intentionality is essential.
He explained, “Mentorship is not something where someone just jumps in every now and again to answer a quick question, there is an established and explicit relationship that must be made and maintained there, and that takes time and effort.”
Additionally, remote and hybrid work has greatly altered the way that developer training looks today.
According to Knight, the remote working world has led to online learning programs becoming even more prevalent.
“There has definitely been an emphasis placed on online and virtual learning,” he said. “Those courses have kind of become the standard rather than the exception.”
Herke also emphasized the importance of creating and maintaining meaningful communication between the manager and their team throughout the remote training process.
“How can we foster that conversational way to stay engaged? Our standups are not meant to be like ‘How do you do this?’ and ‘Did you do this?’ it’s more of a communication touchpoint so we can have a discussion and really understand what’s happening,” said Herke.
Prat noted that the effects of the pandemic are still being felt, and so the perfect solution has not been found yet.
He explained that organizations are slowly moving towards better training methods that are more well-suited for fully remote or hybrid work, but there are still improvements to be made.
“We are now also dealing with time zones and having half of the team members on the West Coast of the U.S. while others are in eastern Europe,” Prat said. “Now, Instead of doing live sessions, we’ve needed to do more pre-recorded sessions… Now the developers can learn at their will and there are no deadlines and everyone can go at their own pace… And I think that is one of the right steps.”
OutSystems’ Logue said training in a remote or hybrid setting is actually slightly easier, due to the decrease in the size of groups that are being trained at one time. With travel and budgetary restrictions imposed by the pandemic, the attendance at training events has gone down. However, according to Logue, organizations are still reaping the same benefits.
“If you send the right individuals to that training, the information that is then transmitted to the organization is very contextual to what the organization is doing and I think people learn how we’re using the technology faster,” he said. “It doesn’t necessarily mean that they understand all of the ways that the technology can pivot and evolve, but they definitely understand how to use it for the problems directly in front of them right now.”
Training via conferences
Beyond training within the organization, though, Herke said that conferences can be a valuable learning experience as well.
He explained that while conferences alone may not be hands-on enough to fully teach a new skill, they open up the possibility for unexpected learning.
“Going to a conference… you might be exposed to something that you might not typically have been exposed to, and that’s the great part about them,” Herke explained. “You get to see a little glimpse, it’s like an appetizer into something.”
According to Herke, after a conference, developers can look deeper into those little tidbits of information and see how they can apply to their own organization and the current work that they are doing.
This allows for developers to proactively participate in their own education and really learn about the things that interest them.
While Prat agreed that conferences have a valuable place in training, he also said that their value decreases the more skilled a developer becomes.
He explained that as the skills someone is learning become more and more complex, the less of that skill they will be able to effectively learn during a lecture.
“Conferences may be seen in the earlier stages, not so much as a learning area, but a kick-off to those training sessions that will happen in the future,” said Prat.
According to Logue, conferences are also a useful way to understand the full intention behind a certain technology. This is essential in determining whether or not that technology is right for a particular business.
He expanded on this, saying that he does not believe that conferences feed training directly, but rather work to ensure that managers are training their teams on only the most useful and fitting technology for their particular use cases.
Learning has no stopping point
Herke also explained the importance of continuous learning. He said that while a formal training period is paramount for certain skills, developers should be learning almost constantly throughout their careers.
“If you’re not learning, you should try and push yourself into a place where you are continuing to learn,” he said. “I like to align work with something that my team wants to explore and has never explored but I know they can do… I always try to put somebody in the position to learn if possible.”
When it comes to creating a culture that promotes continuous learning, Prat said that managers must lead by example. He explained that when team members see their manager trying out new skills, they feel more comfortable pursuing their own learning endeavors, even if they make a mistake or two.
“Everybody should know that they need to be learning new things and keep growing and that they can do that without the need to think of if they will be allowed,” Prat said. “I think the more clear it is that that can be done, the more people will grow.”