This is the first in our four-part series on the future of software development. Part two puts the spotlight on "future" technologies that may impact how software is developed. Part three looks at the role artificial intelligence (AI) will play in software development, and part four tackles how to future-proof your developer career.
Rapid technology advancements, sweeping changes in business priorities, and a seemingly insatiable demand for software have collided in ways that will likely mean substantive changes to the software developer's role over the next few years.
Nothing is static, of course, and in our 2020 Global DevSecOps Survey we found that developers are already reporting new responsibilities – such as tasks normally associated with ops and security – while at the same time releasing software much faster and embracing new technologies including Kubernetes, microservices, and even AI.
But over the next few years even some fundamental things – like the meaning of "developer" or the role in the organization – are poised to change. Here's what more than a dozen DevOps practitioners and analysts see coming.
What's in a name?
Thanks to the explosion of demand for enterprise software applications, a wave of "development democratization" is about to hit professional developers, and that is going to mean a fundamental shift in what it means to be a developer, according to a report from Deloitte Insights. Low-code and no-code development tools allow virtually anyone with a good idea to create some level of application, meaning a potentially unlimited number of citizen developers will be capable of doing at least basic application development. Software development won't be restricted to just pro developers anymore and this shift is well underway in the enterprise market because there simply aren't enough coders to meet the demand. Writing in a ComputerWeekly article, Gartner research director Paul Vincent goes one step further and suggests there might be times even professional developers choose to use a low-code tool.
A new org chart
Goodbye IT department and hello line of business. As the software stakes get higher and product managers continue to set software development goals, it makes sense that developers will end up embedded on business teams rather than technology teams. A report from Forrester Research looking at trends for 2020 refers to this shift as the "dev diaspora" and predicts that after some bumps in the road it will improve productivity and release speed. The basic message: Software is critical to business success so should be located with the business rather than in the IT department.
New colleagues and culture
With developers moving "into the business" and a growing emphasis on citizen devs, it's clear not all teams will be filled with hardcore coders. Some certainly will be working alongside citizen developers. But others may also find "team members" in unexpected places, like their IDEs. Although artificial intelligence is still nascent in most enterprise development teams, some industry analysts are bullish that AI can bring speed, advice, structure, and perhaps even coding to the table in three to five years from now.
However, no matter how quickly AI ends up as part of the pro developer work experience it's clear dev culture is going to have to change if "development" is no longer such a specialized skill.
Yet another shift left
Security, test, and automation may have already shifted left so now get ready for customers to shift left, warns Kenny Johnston, senior director of product management, Ops at GitLab. "If you want to have a complete view of DevOps you have to understand how your application is actually interacting with customers and you have to have that understanding from the early stages of development," says Kenny. Traditionally, developers have been largely absent from customer interactions, but that's going to change moving forward. GitLab's director of product management, CI/CD Jason Yavorska says one way to make customers real is for developers to take on a design mindset. "You want to be thinking about the customer and building features together with the customer while both of you are connecting as humans."
If that's a step too far in the near term, Kenny has a medium-term strategy: Focus on what happens when something goes wrong. If developers want to write code that satisfies increasingly demanding customers, Kenny suggests starting with a simple question: "What's the customer doing when the application fails?"
Stop monitoring. Start observing
A new focus on customers and the accompanying tightened feedback loops means more data than ever is likely to be heading to developers. That's not sustainable, says GitLab's senior developer evangelist Brendan O'Leary. Constant alerting doesn't tell a developer much, which is why he sees teams moving away from monitoring and toward observability. "You want to be able to observe how a complex system operates rather than monitoring it," he says. "It's like the difference between Jane Goodall and a gorilla." Dr. Goodall can decode what she sees and put it in context, a practice that is tremendously valuable for devs (and ops pros for that matter) to establish. "If we want to make technology easier to process we need to be able to get this information to developers in a meaningful way," he explains. "We want to be able to show developers exactly what people normally do or where users get stuck in a particular area… all of that is better information than the data they have right now. We have to find a way to surface the information that matters."
Double down on open source
More than 60% of those who took our DevSecOps Survey are active participants in open source projects and DevOps practitioners expect that will continue to increase. At a time when the world is changing quickly, open source can be a way reticent developers can push themselves to learn about other parts of the business, says Rafael Garcia, director of digital services at insurance provider Aflac. "If you're actively engaging in open source that's one way of looking at cross-company projects," he says. "Maybe there's a passion project that's outside of your core business roles or functions. It's a way of doing things that are outside your comfort zone."
Open source also provides a window into the way other companies operate, something developers need a better sense of in a world undergoing big changes, says Jose Manrique Lopez de la Fuente, CEO at Bitergia (and a GitLab Hero). Developers need to understand and cultivate the open source culture, he says. "You don't have to start from scratch," says Manrique. And looking at how other companies manage their open source culture will reinforce that belief. "It's not only about the skills or the components but also about the relationships with the maintainers of the components. You benefit if you can create a wider community."