Categories
Tools

DevOps CI/CD usage trends

To understand DevOps CI/CD usage trends, SlashData has, over the past three and a half years, tracked the usage of continuous integration & delivery (CI/CD) tools and services among mobile, desktop and web developers. While DevOps is technically a culture rather than a set of tools, CI/CD is at the core of the collaboration process between operations and developers. These tools enable some of the most important benefits of the shift to this new culture. As can be seen in the chart below, the majority of developers are not using these tools and usage is not growing. 

While many firms in various studies have indicated that they are adopting DevOps, our data suggests that this shift in culture is not ubiquitous across organisations. Has the use of CI/CD tools reached as many developers as it can or are there certain market barriers?

CI/CD Usage

% of developers using CI/CD tools

DevOps CI/CD usage trends - CI/CD adoption trends by mobile, web and desktop developers

Profile of CI/CD users

Understanding the profile of developers using CI/CD compared to those that are not can provide more insight into why usage is not as high as one might expect. In general, developers who use CI/CD tools are professionals working for companies with larger development teams and are more experienced compared to developers not using CI/CD.

Data from our most recent survey shows that developers that are using CI/CD tools are much more likely to be professional developers than those that are not. Web developers using CI/Cd tools are 20 percentage points more likely to be professional developers compared to developers not using these tools. For mobile and desktop developers this differential is 22 and 18 percentage points respectively.

DevOps CI/CD usage trends - Profile of CI/CD users DE
% of users and non-users of CI/DE who are professional developers

Our most recent survey also shows that 46% of developers using CI/CD tools work for organisations with more than 20 people involved in software development. This compares to only 32% of CI/CD non-users who work for firms with more than 20 developers. The fact that CI/CD users are less likely to work in smaller developer teams points to lower demand at small firms. This may be due to less complex development operations requiring less automation and integration of developer and IT teams.

DevOps CI/CD usage trends - Number of people involved in software development in company

58% of developers using CI/CD tools work for firms with 10 or more people involved in software development

How big are the development operations adopting CI/CD?

Developers who use CI/CD are also more experienced than developers who have not integrated CI/CD into their development process. Of web developers using CI/CD, 44% have six or more years of experience compared to just 28% of developers who are not using CI/CD. For desktop developers, we see the same trend, with 49% of these developers using CI/CD possessing six or more years of experience compared to 34% of developers who are not using CI/CD. Mobile developers using CI/CD are slightly less experienced, but the overall trend holds true, with 49% of developers using CI/CD having three or more years of experience, 17 percentage points more than those not using CI/CD.  

Experience in web development, desktop development and mobile development

As developer operations adopt DevOps culture, to improve the odds of success, developers should have an understanding of the entire development process. This may be easier for more experienced developers to manage. 

While some may struggle, other developers have fully embraced the shift to DevOps and bring a variety of skills to the table and have carved out a role as a DevOps specialist.

The DevOps Specialist

DevOps specialists play an important role in driving DevOps culture and are often evangelists. These practitioners are relatively uncommon with only 5% of developers in our survey identifying as having this job. This lack of evangelists and experts may be an important factor limiting the culture shift throughout an organisation.

Finding professionals with diverse skill sets to occupy these roles may be contributing to the low number of DevOps specialists. One of the keys to successful DevOps implementation is merging of cultures so it is important that professionals driving the process have an understanding of and empathy for how both IT and developers work. 

Developers who identify as a DevOps specialist are a diverse group and indicate that they play additional roles in organisations beyond just DevOps specialist. The majority of survey respondents identify as software developers but DevOps specialists are 8 percentage points more likely to also be a software developer compared to developers who do not identify as a DevOps specialist.

DevOps specialists are also much more likely to be architects, administrators (both data and system), engineers and testers. These skills play an important role in the implementation of DevOps. Architects are needed to automate processes, administrators are required to manage release schedules and testers and QA engineers are needed to test software as it moves through each step of the iterative development process.

What else do DevOps specialists do?

DevOps CI/CD usage trends - What else do DevOps specialists do? % of DevOps specialists in other roles vs developers that are not DevOps specialists

Digging deeper into the DevOps specialist’s skill sets we can also observe that many have more than one role beyond DevOps specialist. From the table below we can see how these developers describe themselves and how their roles overlap. Twenty-three per cent of DevOps specialists are both programmers and system administrators and 27% are programmers and architects. Having development skills and an understanding of how to manage and design systems are an important combination of skills for leading a DevOps strategy. 

DevOps specialists’ additional roles

DevOps specialists' additional roles

While DevOps is a very popular strategy already adopted by many organisations, based on the number of developers using CI/CD tools, not all developers are buying in. The DevOps culture has been slower in reaching less experienced developers and ones at smaller firms. The need for more experienced professionals with diverse skills may be a barrier to more developers benefiting from DevOps tools such as CI/CD. 

If you are interested in learning more, here is some additional reading.You can voice your opinion in our current survey to shape the next State of the Developer Nation report and contribute to future DevOps CI/CD usage trends.

Categories
Community Tips

Infographic: Who is behind open-source software?

In our 18th survey wave, we’ve asked developers whether they contribute to open-source software, and if so, why? In this post, we’ll explore who the contributors to open-source software are, their reasons for contributing, and finally what open-source support they expect from companies.

Open-source contributors tend to be younger than non-contributors.

More than a third (33%) of developers who contribute to open-source software are less than 24 years old as compared to 26% of non-contributors. This is not to say that they are inexperienced programmers; 41% of open-source contributors have 1 to 5 years of experience, 4 percentage points higher than non-contributors.

Contrary to what one might think, open-source contributors are not necessarily professionals. In fact, they are equally likely to be amateurs than non-contributors. You don’t have to be working professionally in the software industry to be involved and contribute to open-source software development.

Open-source contributors are more likely to be involved in multiple development areas than non-contributors. However, open-source contributors are significantly more likely to be involved in emerging sectors such as machine learning/AI and AR/VR, where innovations are mostly driven by open-source tools.

Finally, as you’d expect, developers’ likelihood of contributing to open-source software is also reflected in their activity on the most popular open-source hosting site, Github. The correlation is clear. Two-thirds of developers who don’t contribute (67%) have no personal public repositories on Github, whereas close to half of the contributors (48%) have two or more public repositories. We observe a somewhat similar relationship with Stack Overflow. Non-contributors are significantly more likely to not use the Q&A site at all or visit the site but not have an account. On the other hand, open-source contributors are twice as likely as developers who don’t contribute to have earned at least one badge (30% vs 15%). Working on open-source projects encourages developers to actively engage with their peers on Q&A sites. We’ve seen which developers contribute to open-source software projects. Let’s now dive into the reasons for contributing.

Why contribute to open-source software

Developers are most motivated to contribute to open-source projects to improve coding skills (29%) and a belief in the benefits of open-source (26%). What’s more, 22% of developers contribute to open-source software because it’s fun or to solve an issue with an existing open-source software project such as fixing a bug or creating a new feature.

By contrast, financial compensation is the least important motivation. Only 3% of developers are getting paid for their work on open-source projects. As it turns out, developers are more likely to get involved in open-source projects to build their reputation (14%) or to network (11%) rather than for direct financial gain. Furthermore, developers who get paid to contribute are almost 20 percentage points less likely to think it’s fun than those who contribute for other reasons. They are also significantly less likely to believe in open-source as a source of freedom, as an ideological imperative. 

Typically developers don’t contribute to open-source for a single reason but are motivated by multiple factors. For example, half of the developers who contribute to open-source for improving their coding skills also think it’s fun. 56% of contributors who want to network also feel like it makes them belong somewhere.

What developers expect from companies

In our Q4 2019 Developer Economics survey, we also asked developers what open-source support they expect from companies. Thirty-three percent of developers not contributing to open-source don’t expect anything from companies, as compared to 15% among open-source contributors. That said, two-thirds of non-contributors still think that companies should be involved and provide support to the open-source software movement; they realise how important open-source is and believe that companies should be a part of it.

On the other hand, 44% of open-source contributors expect companies to support and contribute to open-source communities. This increases to 55% for developers who contribute to solve an issue. Many contributors (44%) expect full documentation on how to use open-source software on companies’ products or services. This is especially important to developers who get paid for their work (53%).

Interestingly, open-source developers do not necessarily expect companies to build products and services upon open-source software (39%). This is the least important vendor expectation from developers in terms of support for open-source software.

Open-source software contributors are a diverse group of people. Their motivations to contribute range from learning, having fun, solving issues to building relationships and reputations. In summary, developers have plenty of reasons to contribute to open-source, and they expect companies to support them along the way. 

If you are involved in open-source and want to share your views, visit our latest survey and help shape the trends.

Categories
Tips

Where do ML developers run their code?

In this blog post we’ll explore where ML developers run their app or project’s code, and how it differs based on how they are involved in machine learning/AI, what they’re using it for, as well as which algorithms and frameworks they’re using.

Machine learning (ML) powers an increasing number of applications and services which we use daily. For some organisations and data scientists, it is not just about generating business insights or training predictive models anymore. Indeed, the emphasis has shifted from pure model development to real-world production scenarios that are concerned with issues such as inference performance, scaling, load balancing, training time, reproducibility, and visibility. Those require computation power, which in the past has been a huge hindrance for machine learning developers.

A shift from running code on laptop & desktop computers to cloud computing solutions

The share of ML developers who write their app or project’s code locally on laptop or desktop computers, has dropped from 61% to 56% between the mid and end of 2019. Although the five percentage points drop is significant, the majority of developers continue to run their code locally. Unsurprisingly, amateurs are more likely to do so than professional ML developers (65% vs 51%).

By contrast, in the same period, we observe a slight increase in the share of developers who deploy their code on public clouds or mainframe computers. In this survey wave, we introduced multi cloud as a new possible answer to the question: “Where does your app/project’s code run?” in order to identify developers who are using multiple public clouds for a single project.

As it turns out, 19% of ML developers use multi cloud solutions (see this multi-cloud cheat sheet here) to deploy their code. It is likely that, by introducing this new option, we underestimate the real increase in public cloud usage for running code; some respondents may have selected multi cloud in place of public cloud. That said, it has become increasingly easy and inexpensive to spin up a number of instances and run ML models on rented cloud infrastructures. In fact, most of the leading cloud hosting solutions provide free Jupyter notebook environments that require no setup and run entirely in the cloud. Google Colab, for example, comes reinstalled with most of the machine learning libraries and acts as a perfect place where you can plug and play to build machine learning solutions where dependency and compute is not an issue.

While amateurs are less likely to leverage cloud computing infrastructures than professional developers, they are as likely as professionals to run their code on hardware other than CPU. As we’ll see in more depth later, over a third of machine learning enthusiasts who train deep learning models on large datasets use hardware architectures such as GPU and TPU to run their resource intensive code.

Developers working with big data & deep learning frameworks are more likely to deploy their code on hybrid and multi clouds

Developers who do ML/AI research are more likely to run code locally on their computers (60%) than other ML developers (54%); mostly because they tend to work with smaller datasets. On the other hand, developers in charge of deploying models built by members of their team or developers who build machine learning frameworks are more likely to run code on cloud hosting solutions.

Teachers of ML/AI or data science topics are also more likely than average to use cloud solutions, more specifically hybrid or multi clouds. It should be noted that a high share of developers teaching ML/AI are also involved in a different way in data science and ML/AI. For example, 41% consume 3rd party APIs and 37% train & deploy ML algorithms in their apps or projects. They are not necessarily using hybrid and multi cloud architectures as part of their teaching activity.

The type of ML frameworks or libraries which ML developers use is another indicator of running code on cloud computing architectures. Developers who are currently using big data frameworks such as Hadoop, and particularly Apache Spark, are more likely to use public and hybrid clouds. Spark developers also make heavier use of private clouds to deploy their code (40% vs 31% of other ML developers) and on-premise servers (36% vs 30%).

Deep learning developers are more likely to run their code on cloud instances or on-premise servers than developers using other machine learning frameworks/libraries such as the popular Scikit-learn python library. 

There is, however, a clear distinction between developers using Keras and TensorFlow – the popular and most accessible deep learning libraries for python – compared to those using Torch, DeepLearning4j or Caffe. The former are less likely to run their code on anything other than their laptop or desktop computers, while the latter are significantly more likely to make use of hybrid and multi clouds, on-premise servers and mainframes. These differences stem mostly from developers’ experience in machine learning development; for example, only 19% of TensorFlow users have over 3 years of experience as compared to 25% and 35% of Torch and DeepLearning4j developers respectively. Torch is definitely best suited to ML developers who care about efficiency, thanks to an easy and fast scripting language, LuaJIT, and an underlying C/CUDA implementation.

Hardware architectures are used more heavily by ML developers working with speech recognition, network security, robot locomotion and bioengineering. Those developers are also more likely to use advanced algorithms such as Generative Adversarial Networks and work on large datasets, hence the need for additional computer power. Similarly, developers who are currently using C++ machine learning libraries make heavier use of hardware architectures other than CPU (38% vs 31% of other developers) and mainframes,  presumably because they too care about performance.

Finally, there is a clear correlation between where ML developers’ code runs and which stage(s) of the machine learning/data science workflow they are involved in. ML developers involved in data ingestion are more likely to run their code on private clouds and on-premise servers, while those involved in model deployment make heavier use of public clouds to deploy their machine learning solutions. 31% of developers involved across all stages of the machine learning workflow – end to end – run code on self hosted solutions, as compared to 26% of developers who are not. They are also more likely to run their code on public and hybrid clouds. 

By contrast, developers involved in data visualisation or data exploration tend to run their code in local environments (62% and 60% respectively), even more so than ML developers involved in other stages of the data science workflow (54%).

Developer Economics 18th edition reached 17,000+ respondents from 159 countries around the world. As such, the Developer Economics series continues to be the most global independent research on mobile, desktop, industrial IoT, consumer electronics, 3rd party ecosystems, cloud, web, game, AR/VR and machine learning developers and data scientists combined ever conducted. You can read the full free report here.

If you are a Machine Learning programmer or Data Scientist, join our community and voice your opinion in our current survey to shape the next State of the Developer nation report.

Categories
Community Interviews

[Interview] Supporting displaced people: Techfugees

We recently learned about a tech community with a mission to respond to the needs of refugees and we had to meet them. Techfugees is an impact driven global organisation nurturing a sustainable ecosystem of tech solutions, supporting the inclusion of displaced people. They do so, through several actions, mainly: Tech4Women, Tech4Refugees and the Basefugees initiatives

We met with Josephine Goube, CEO in Techfugees to get to know more about the organisation and the way they support refugees. We were fascinated by their work and determination and we have decided to support them. /Data and the Developer Economics Community will be donating $0.10 for every developer who completes the Q2 2020 Developer Economics survey. If you are a developer yourself make sure you take the Developer Economics survey and help us raise $1,900 for Techfugees.

You can also support Techfugees with donations or by volunteering your tech skills. Learn more directly from the team, here.

How did Techfugees come to life? What was the grand breaking event that inspired you to found this organization?

Founded in 2015, Techfugees was born out of the fact that 93% of displaced people who arrived on the shores of Europe owned a smartphone and 87% of displaced people live in an area of 2/3G coverage. We saw that they did no longer rely on information & help provided by NGOs solely, but a lot more from social media networks, and so we started building mobile tech that could be useful to them.


What would you say has been the biggest challenge for you and your beneficiaries?

Lack of funding and a hostile environment have been very challenging for us!   There are feelings that have been building up over the years against displaced people. The fact that we want to bring technology to refugees has been faced with disbelief, and has been disregarded as being pointless. Comments such as “They don’t have phones” or “they first need water and food” tells us a lot about how the use of sensational media coverage has made it difficult for citizens to learn the real facts… One of them being that a lot of displaced people use ⅓ of their budget on phone data and that mental health shows significant improvement when one is offered the possibility to stay in touch with loved ones.


In what ways can technology and innovation help displaced people? 

For people that are very constrained by space and time (borders, camps, …), digital technologies are not only breaking isolation but they also are an opportunity to break those very restrictions. People must have felt it through lockdown situations: it is amazing how much can be done digitally! Similarly, for displaced people, the internet and smartphones and the digital economy is a revolution.


Techfugees take on various projects to help refugees. Which one would you say has been the most impactful and why? What kind of projects are you currently running?

There are not one but many projects that I would like to mention. As with anything related to the internet and networked technologies,  the more projects you run, the greater the impact of what you do! . I will share one of the most illustrative examples. Refugee.info, is a project coming out of our first hackathon in London 2015. Its mission is to deliver information to refugees and it had done so for more than a million displaced people since 2015. What Refugee.info did to become so successful at providing the service was to iterate on technology with the feedback of NGOs & refugees on the ground. Also, they started collaborating with another #Tech4refugees project coming out of a hack – Natakallam – an online language learning service delivered by refugees who did the translation of their app. In this way, not only did Refugee.info end up delivering information to refugees, they ended up supporting refugee translators with their work.

This one simple example shows you two things: the fact that when more technology projects supporting refugees collaborate they are more impactful, and that the best projects integrate refugees within their own teams to deepen their impact. 


We see that hackathons are the heart of your organization’s activities. How many have you organized so far, are these created for misplaced people only? Any upcoming hackathon?

We have organised more than 30+ hackathons bringing displaced people and locals around the world, since 2015. One in four participants in those networking and creation spaces had a refugee background. The aim of these hacks are mainly educational and to provide networking opportunities, more than building the next big thing. Having said that, annual rounds of catch up with past #tech4refugees project participants enabled us to gather lots of data about their needs over time and identify some interesting insights and trends.. From the data gathered, we were able  to measure the impact of  Techfugees’ support in our hackathons participants’ lives.t Our hackathons teams had a higher 1-year survival rate, from 16% up to 33%, demonstrating that post-hack support is impactful and makes a solid difference.


How has the coronavirus situation affected the refugee community and your organization in particular?

In March 2020, Techfugees launched its Data Hub as a response to the Covid-19 outbreak. The Data Hub, brings together displaced persons, NGOs, members of civil society and innovators from all over the world, to map the impact of Covid-19 on displaced communities and source existing solutions to help mitigate them. The data is freely available on: http://bit.ly/covidrefugees. For us in Techfugees, it is important to listen to displaced people and take into consideration their situation and experiences. As a result, and as we saw more data coming in, we launched Techfugees Live Sessions! A series of online bi-monthly talks that provides regional and local updates on how communities are coping with the situation and what tech solutions are currently being used by these communities. 

Short Bio: Graduate from Sciences Po Paris and the London School of Economics, Josephine has been the CEO of Techfugees and its worldwide chapters since 2015. She is also a board member of the Norwegian Refugee Council and an informal expert alongside the European Commission about migration issues. Nominated as one of the top “30 under 30 Social Entrepreneurs” by Forbes in 2016, 2017 and 2018, in 2017 she was honoured as “Digital Women” of the year in France. From 2012 to 2016, Josephine was Migreat’s partnerships manager, a London startup specialized in applying for visas for Europe.

Looking to find out more about how NGO’s are contributing to the tech environment? Read our interview with CodeYourFuture.