Culture / Research /

TNS Research: DevOps and Other Factions in the Software Development World

20 Nov 2015 7:31am, by

DevOps are people now.

We’ve long considered the term “DevOps” to be primarily about a process, specifically a melding of the workflow between the developer (the “dev”) and the administrator (operations or ops). Yet we’ve found at least a few hundred readers of Stack Overflow who identified themselves professionally as “DevOps.”

Most Stack Overflow users develop for the web, but The New Stack focuses more on DevOps and enterprise-level application development.

Most Stack Overflow users develop for the web, but The New Stack focuses more on DevOps and enterprise-level application development.

What’s more, the tool choice of these self-identifying DevOps differs markedly from the enterprise developer. And the split aligns along identifiable lines at that.

It wasn’t the only curious fissure we’ve observed examining the data surrounding the world of software development. While outsiders may think of the computer programming as a monolithic job description, the field is teaming with dualities: mobile versus enterprise, front-end versus back-end, embedded versus everyone else. Each has their own favored tool sets.

For instance, looking at the programming languages they plan to use in the near future, DevOps folks are much more likely to expect to use Python, Go and Ruby, compared to enterprise developers, who favor C#, Java and C++.

DevOps “go” with Python, while enterprise-level apps are still written with Java.

Python, Go, and Ruby are not surprising finds in the DevOps tool belt. Python is handy because DevOps is much more focused on orchestrating the use of multiple different applications together, which Python is good at. Go’s prominence comes from it utility to manage microservices.

Since developers building enterprise-level services are more likely to be focused on legacy applications, it is also no surprise that a higher percentage will continue to use Java and C# moving forward.

Mobile devs are from Venus, DevOps are from Mars

Specialization obviously focuses your attention on some technologies to the exclusion of others. For the most part, the hottest technologies are of interest to all developer types. However, as they start to become more widely adopted, developers are more likely to continue learning and using a language that is in line with their professional goals.

Technologies With the Greatest Percentage Increase in People Planning Use

Current Use Planned Used
Rust 0.5% 3.4%
F# 0.8% 3.7%
Clojure 0.8% 3.3%
Go 2.1% 8.3%
Spark 0.5% 1.8%
Dart 0.5% 1.9%
Haskell 1.6% 5.6%
Hadoop 1.6% 5.2%
Swift 3.5% 10.8%

The numbers above came from Stack Overflow’s 2015 Developer Survey, which collects more than 26,000 responses. There, one can see some huge differences in the technology roadmaps for different types of developers. For instance, 78 percent of Web developers use JavaScript compared to 28 percent of mobile developers.

In fact, for all the hype about Apple entering the enterprise, it is sobering to see how far apart mobile developers are from other developers. Java, along with Apple’s Swift and Objective-C is much more likely to be in use by mobile developers, with the percentage of Swift users expected to triple this year. Yet, the Apple-centric focus of app developers is only part of the story. Stack Overflow survey respondents as a whole were much more likely to be focused on JavaScript and C#.

Mobile developers focus on Swift and Objective-C, but are less interested in JavaScript.

With such a dramatic difference in skill sets and plans, it is no wonder that most developers are not enthused about learning about mobile application development trends. The implications of this may be wider than you think. With such a divide in interests, Apple will continue to face obstacles as it tries to gain use among developers. More importantly, with so much innovation occurring outside their ecosystem, mobile developers are at risk of lagging behind. Furthermore, as developers continue to program for Android and iOS, it remains to be seen if they will start to use languages that are more commonly known. If not, then it is likely that we will see more SDKs and methods to integrate applications.

The back-end and front-end never meet

Other schisms can be found in the developer community. For instance, the difference between front-end and back-end developers is stark. Front-end developers focus on JavaScript and more than a third of them looking to use Node.js and AngularJS in the future. Since programs written in Scala can run on the same virtual machines as Java, it is not surprising that the percentage of back-end developers planning its has increased to 12 percent as compared to 3 percent among all the survey respondents. Although full-stack Web developers outnumber the front-end and back-variety combined, it is noteworthy that their technology profile is more similar to the former.

Plans to use Node.js and AngularJS differentiate front-end from back-end developers.

Embedded system developers versus the world

Also, take the case of the embedded systems developer, an “Internet of Things” developer if you want to be buzzword compliant. Just as JavaScript is associated with Web development, C is associated with developing embedded applications. Although only 16 percent of survey respondents currently use C, a whopping 71 percent of embedded application developers use it. Until other languages improve their strong ability to control hardware, don’t expect this to change much. Note that Arduino is not included in the chart below because plans for its use are relatively similar compared to other developer types. It is likely that the 12 percent of developers planning to use Arduino expect to do so as hobbyists instead of as part of their job.

Embedded applications continue to be written in C.

Feature image via Pixabay.

A digest of the week’s most important stories & analyses.

View / Add Comments