James Governor rarely pulls his punches when discussing the trends and technologies affecting modern software development. As a keynote speaker at FutureStack18 in San Francisco, the co-founder of the developer-focused industry analyst firm RedMonk once again brought his raw insights and industry-leading perspectives to our main stage.
I was lucky enough to spend a few minutes with James after his talk. Here are 10 key takeaways from his keynote presentation and our conversation.
(Don’t miss it: Watch James’ full keynote in the video at the bottom of this post.)
#1: There can be only one
“Everything is accelerating, and the stakes are higher than ever,” James said, in what could be considered his central theme. “Economies are becoming winner takes all,” he said, and disruption challenges everyone. That puts pressure on every organization to be the one survivor, leading to huge differences in approaches and outcomes. “Some companies are just moving so much faster than others. It’s almost comical,” he told the packed room.
In his book The New Kingmakers, James’ RedMonk co-founder Stephen O’Grady explains how companies succeed by building engineering competence and technical talent. Companies under threat—and companies that want to avoid threats—invest in their developers, James added. He cited a recent survey from Stripe that supported this claim: slightly more executives (53%) said access to developers was important than those who said access to capita was important (52%).
Statistics like that indicate that software developers and practitioners are beginning to play with a new set of rules. With the rise of open source, the cloud, and social coding, “We’re in a post-permission era,” James said. It’s now quicker than ever to grab code from a repo, spin up and provision a new cloud instance and start developing code right there at your laptop. In fact, this is where their term “New Kingmakers” comes from—technical practitioners, rather than their employers, are becoming the real technology decision makers. Developers may not be kings, but they’re increasingly the power behind the throne.
#3: CI/CD is a gateway drug to “progressive delivery”
“People still say they do waterfall development,” James said, “and I tell them they’re going to go out of business. ‘You need to change how you write software or someone will come along soon and own your business.’”
Continuous integration, delivery, and deployment, James said, is “pretty much the onramp to everything good in modern software delivery.” CI/CD is all about better quality software, built faster. It’s also invaluable to testing, he said, and testing is critical to quickly shipping modern software. For instance, James noted that CI/CD helped drive the rise of Docker—the disposable container infrastructure approach mapped really well to automated unit and functional testing.
But that’s only the beginning. “Progressive delivery,” James said, is the future. “Blue/green deployments and CI/CD don’t go far enough.” Use new routing approaches, he said, with feature flags, and canary deployments that initially roll out new features and updates to a small group of users to take full advantage of container-native cloud infrastructures.
#4: Every company is a software company? The supply chain proves it!
It’s common today to say all companies are now software companies, but how does that apply to a candy bar maker? Waving a bite-sized Snickers on stage, James noted that being a software company doesn’t mean you have to be shipping software products. That candy bar may not be a digital product, James acknowledged, but then asked audience members to think about what it takes to make a candy bar, and then get it from a manufacturer on the East Coast to hungry mouths at a tech conference in San Francisco. You can bet that supply chain has been digitized. If you look closely enough, James concluded, one way or another, every company is a digital company—and they all have to find ways to accelerate growth.
#5: The software paradox, or “it’s really hard to be a software company”
Even as every company becomes a software company, James said, trends like developer-focused open source projects are making it harder and harder for software companies to create lasting, profitable businesses. In an open source world, he said, people increasingly don’t want to pay for software. But they will pay for services. And platforms. And data. This, he said, is “the software paradox.”
More and more, the data, not the software, makes the difference. For example, Apple Maps touts the fact it doesn’t share so much data about your location. That’s great, James said, but “you might get lost!” Google Maps may share more of your data, he added, but it turns out that sharing that data seems to make the app work better. In that kind of environment, you really want to be a data and services company, James concluded.
James drew laughs from the audience talking about the evolution in development and IT operations job titles. How many times have you logged into LinkedIn to change your job title—or your job search? Maybe a few years ago you swapped “sysadmin” for “DevOps engineer.” Then maybe you switched to “Site Reliability Engineer.” Pretty soon, James joked, it will be time to go back to LinkedIn and do a search-and-replace for “o11y engineers” (borrowing from the i18n naming trend; see if you can figure it out).
These job titles are more than buzzwords, James told me. “We’re a tribal industry, and language is how we associate. These terms have definitely changed how we work, and it’s a lot more than marketing because we’ve got a corpus of thought about how we work and do things now.” In other words, these terms are meaningful.
#7: Cutting IT investment is dangerous
When companies compete on software and technology, you can’t succeed with cost cutting in IT, James said. Supporting innovation, and security, requires taking off the training wheels. “You can’t succeed without investing in developers and technology.”
For example, he noted, British airways just suffered the first big breach of the GDPR era, and some observers pointed to IT cutbacks and outsourcing as a root cause. On the other hand, Target, which had its own highly publicized breach a few years ago, has taken the opposite approach. According to James, three years ago, Target’s IT department was comprised of 30% internal employees and 70% external contractors. The Minnesota-based retailer has apparently learned its lesson, radically flipping those numbers by hiring 1,000 engineers to employ 80% in-house engineers and only 20% contractors, James said.
#8: Companies teaching other companies
A number of major companies, including Target and AllState, are actually in the business of teaching other firms how to do modern digital software delivery. In trainings, conferences, workshops, and labs, these companies are sharing their technology challenges and how they overcame them.
And more and more companies, James said, now host meetups, open source their software, and blog about their development processes (we do that, too!). Like developers participating in social coding, these company-wide initiatives are adding critical value to the wealth of information teams need to ship great modern software. As James put it, “Teaching is the best way to learn.”
#9: Serverless is 12-factor development, but it’s still so new
When you’re creating creating flexible, scalable cloud apps, statelessness is essential. And this, James said, is what’s driving the popularity of serverless functions. “It’s the 12-factor app taken to its logical conclusion.” In the 12-factor methodology, processes are disposable, you should be able to start or stop them on demand. And statelessness in a 12-factor app is the backbone of scaling, resiliency, and redundancy.
Yet even as more and more companies use serverless functions to trigger events across different infrastructures, clouds, and services, many others don’t even know this new way of life exists. While some development teams are still trying to build the perfect 12-factor application on Kubernetes or similar infrastructure, others are already working to shift their applications to serverless frameworks, like AWS Lambda. “It’s a totally parallel universe,” James said.
#10: Not everyone is going to make it
Digital transformation. Modern software development. DevOps. Monitoring and observability. It’s all hard work, James said, and unfortunately not everyone will make it through the transition. In most organizations he works with, James said, he encounters three types of employees: “change agents,” “persuadables,” and “heel diggers.” The heel diggers, he said, simply aren’t ready to learn the new skills needed to succeed in this new era. “There are going to be resource actions required,” he lamented. You’ll be lucky if you lose only about a third of your people during your digital transformation, James warned. “It’s brutal,” he acknowledged, but unavoidable.