There’s probably never been a time since the dawn of programming when there has been more opportunity for developers—individuals and teams—to imagine, create and be successful. Developers are able to do a lot more (and do things a lot faster) with more tools, a better development ecosystem and a tighter connection with the rest of the enterprise than was possible even a few years ago.
To me, we are in a golden age for developers. And it comes just as the need for developers has never been greater, in every enterprise.
Three things have come together to create this moment: Culture, code and the cloud.
Changing Culture
First, developers today operate in a culture that is far more collaborative than in years past, both internally and externally. A big part of that is the growing adoption of the DevOps methodology, which breaks down silos between business units, IT and development through partnerships between developers and the enterprise. It’s changing how we work and think.
DevOps leads to a process of continuous integration of new ideas and features that meet business needs, and continuous deployment life cycles that get those features operational rapidly. Rather than taking weeks or months to get a new version of an application up and running, it’s possible to make constant incremental changes and have things running in days or even hours. The enterprise is able to be exceptionally agile responding to business changes and challenges—and, if there’s a problem or failure, the mean time to recovery is just as fast.
Democratized Code, Empowering Cloud
A major factor in enabling this approach is the widespread use of open source code. Open source has democratized access to powerful tools and platforms that can greatly accelerate work for any developer. Open source projects are mature, stable and growing, which provides equal access for citizen and enterprise developers alike. The size of your IT operation no longer matters: Developers everywhere can call up on their laptops the same tools that once were available only to web-scale unicorns. It removes limits to a developer’s imagination and the ability to create something new.
Finally, the ever-expanding realm of cloud-native computing is putting incredible resources and computing ability within reach of every developer. Tools such as Kubernetes, which let you create and orchestrate applications in containers that can then be deployed and run in the cloud; serverless technologies; and other new ways of using distributed computing power remove barriers. Where a developer once might have been reluctant to create apps that required high levels of computing power, that’s not the case now with the cloud. What once may have taken access to a Cray supercomputer is now at a developer’s fingertips.
Retraining, Not Replacement
If there’s any challenge in this golden age, it’s helping the enterprise to make the transition—in particular, facilitating the leap that existing development teams must take in using these new approaches and new tools. In fact, the top issue for cloud developers is to make this cultural change.
That takes both strong top-down leadership and an openness by veteran developers to new ways of working for developers, especially those who’ve been around for a while.
Too often, we see companies trying to make the switch by offering early retirement to their veteran developers and trying to recruit a new team that’s already used to DevOps, open source and the cloud. That’s the wrong way to do it. Instead, even as they bring in newer developers, companies should look to retrain their existing team.
That takes more than just telling people, “Here are the new ways we’re going to operate,” and then throwing them into it. There are a lot of tools and gateways available that can help people move gradually from the tools and languages they have been using. For example, in the last 12 months alone, numerous open source Kubernetes operators, service brokers and frameworks have been introduced that allow enterprise teams to leverage cloud-native technology from a context they already know, including WebLogic, database and Java. Look for combinations of people and projects that are likely to result in some early wins, and then have those people help train the rest of the organization.
Make sure to take advantage, too, of the external collaborative environment that exists. Have veterans go to conferences or meet-ups and learn from the community—which, thanks to open source, is huge and growing.
This will do more than give you a development team that’s built for today’s market, which demands that you deploy faster and react to failures in a more graceful way. It also will help you recruit and retain. Developers are twice as likely to recommend their workplace to if they are using DevOps principles—they are happier, easier to recruit and easier to retain.
In this golden age for developers, the potentials are limitless—and every enterprise can participate. Making that cultural change, taking advantage of open source code and exploiting the power in the cloud—those are the keys to building the team and the applications that will spell success.