"One thing you realize early on," says Luke Tillman, technical evangelist for Apache Cassandra at DataStax, "is that things are constantly changing."
"You almost feel bad for front-end developers," Tillman says. "A front-end framework gets hot for a year or two and then you've got to change."
So first, Tillman says, you've got to accept that change is constant. That's the easy part.
Finding their motivation (Hint: it may be $$$)
"Once you accept that change is constant, the question is not only how do you stay relevant, but also what is your motivation for staying relevant," Tillman says.
That's a challenge not only for developers, but also for technology leaders aiming to keep their teams sharp and focused.
Money is certainly an important motivator. Programmer community Stack Overflow conducts yearly surveys of developers, and its 2016 results show that 62.7 percent of developers globally consider salary to be the most important factor when evaluating a new job opportunity. And keeping up on the latest technologies and languages can allow developers to demand a lot more for their talents: The results also show that developers with skills in hot technologies like Apache Spark, Scala, Apache Cassandra, F# and Hadoop can draw significantly higher salaries.
But while salary is the biggest consideration when evaluating opportunities, priorities change once situated in a job. The survey results found that the top of the priorities list for respondents are learning new technologies (70.1 percent) and building something new (64.3 percent).
Learning new stuff is good, too
"Developers really want to learn," Tillman says.
To support them and keep them focused, you should concentrate on creating a culture of learning, even if it means developers spend some time on things that aren't part of their core responsibilities.
"From a company or organizational standpoint, this idea of continuous learning can seem kind of at odds with your goals," Tillman says. "Any time I go and spend investigating a new piece of technology is kind of at odds with that goal of me spending time with the code I'm supposed to work on. But developers tend to be happier when they're learning new pieces of technology. They're more likely to stick around. And a lot of the time, that new technology your developers are out there trying out can turn into innovation for your products."
A simple step you can take toward creating a culture of continuous learning is to encourage development teams to share knowledge with each other, even if they work on wildly different technology stacks. It's good, Tillman says, for developers to have areas they specialize in, a niche they're passionate about in which they can develop serious depth. But there's also a lot of value in having a broad technology base, he says. Exposure to different technologies, challenges and solutions can help developers see familiar problems in a new light and with fresh eyes.
In that same vein, treating failures as learning opportunities rather than something shameful can pay huge dividends by encouraging developers to be open about mistakes and share the lessons learned with their team and other teams.
"You're not trying to cast aspersions, you're trying to learn from this thing that happened and prevent it in the future," Tillman says.
Of course, many of the best learning opportunities for leaders and the developers they manage will be found outside the walls of your organization. Tillman has five tips that can help you stay up to date on the shifting technology landscape.
1. Use social media to stay on top of trends
Identify peers whose opinions and vision you respect and follow them on Twitter, blogs, LinkedIn or other places they share their thoughts online. It will help you keep up to date on technologies your peers are actually using.
"I need to zero in on where I need to spend my time," Tillman says. "A lot of our peers are out there talking about cool things that they're doing, pieces of technology they're using."
2. Stay skeptical
While it's important to stay up on new technologies, try to stay grounded. Sometimes, older, more stable technology will fit better with your goals.
"New technologies that you're not using yet, I think you should be skeptical at first," Tillman says. "That's always the position that I take at first. You should go in skeptical. Introducing new technologies can be risky, so you should definitely weigh that risk/reward type thing."
3. Go to events
Conferences, boot camps, meetups and similar events will help you and your team network and maybe even pick up details and war stories that peers won't share more publicly online.
"The advantage of actually going to meetups is that it's more of an interactive experience," says Tillman, who also helps organize the Cassandra meetups in the Denver, Colo. area. "I think the real value of going to these first-hand events is being there with your peers and, depending on the event, with the experts."
Other events, like hackathons, can help developers rapidly get familiar with new technologies.
"They can be a really great way to get your hands dirty in a quick period of time with a new piece of technology," Tillman says.
4. Consider certifications
Certifications also have their place, though Tillman notes they're often more desirable to current or future employers — seeking confirmation of a certain level of technical competence in a particular technology — than they are to developers themselves.
"Certifications are an interesting topic," Tillman says. "Among developers that I've worked with, there's definitely a split between people that think certifications are super useful and others that don't."
In many cases, he says, employers ask developers to seek certification in a technology once it starts getting used internally to a significant degree.
5. Participate in open source communities
Open source technologies form the foundation of many projects developers work on these days. Participating in open source communities and contributing code is well worth the effort.
"A lot of the software we're using these days in our technology stacks happens to be at least partly open source," Tillman says. "For a lot of developers, a great way to learn a new technology can be to dive into the code and participate in these communities. As part of this process, I learned a lot about how Cassandra works under the covers. I think learning by doing is a great way to do things."