What is the state of the developer in 2020?
SlashData and Data Developer Economics collect data data to gain an insight into key trends for software developers in 2020: in this article we recap them.
Table Of Contents
- Programming language communities
- Software Developers in 2020: contributing to open-source
- DevOps Participants and Adoption by Developers
- Where do machine learning developers run their code in 2020?
- Augmented Reality (AR) and Virtual Reality (VR)
- Emerging technologies for software developers in 2020
Every year SlashData and Data Developer Economics surveys developers to gain an insight into key trends. They released their most recent State of the Developer last month which reached more than 17,000 2020 software developers in 159 countries. This research report delves into key developer trends for H1 2020 and beyond. The report focuses on six major themes, showing how the data lends insight into the developer community:
- Programming language communities
- Contributing to open-source software
- DevOps Participants and Adoption
- Where do machine learning developers run their code?
- Augmented & Virtual reality: Augmented Reality (AR) and Virtual Reality (VR)
- Emerging technologies
Let’s take a look into some of the most interesting results of the survey.
Programming language communities
The choice of programming language matters deeply to developers because they want to keep their skills up to date and marketable. Languages are a beloved subject of debate and the kernels of some of the strongest developer communities. They matter to toolmakers too, as they want to make sure they provide the most useful SDKs.
Two other languages that stand out with their fast and continuous growth are Python and Java. These two combined have added close to 4M developers in the past two years.
The fastest growing language community in percentage terms is Kotlin. It nearly doubled in size in the past two years, from 1.1M developers in Q4 2017 to 2M in Q4 2019. Given that Google has made Kotlin its preferred language for Android development, we can only expect this growth to continue, and Kotlin becoming a core language in mobile development.
Software Developers in 2020: contributing to open-source
Open source software is a central part of the developer world. Not only does every category of developer tools have open source alternatives, but some areas are completely dominated by open source offerings. Furthermore, the collaborative nature of open source communities embodies the widely held values of sharing code, knowledge, and best practices which is core to developer culture.
3 out of 5 developers contribute to open-source software. 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.
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.
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%).
DevOps Participants and Adoption by Developers
DevOps has redefined the software development process, moving the industry to an iterative process that makes software more resilient and flexible. While the adoption of DevOps is an important chapter in the evolution of software development and has gained significant traction, it still is not part of the typical 2020 software developer’s build protocol.
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. However the survey found that 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, the research 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? The researchers note that 58% of developers using CI/CD tools work for firms with more than 10 people involved in software development and users are more likely to be experienced developers.
Where do machine learning developers run their code in 2020?
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.
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.
However, 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%).
Augmented Reality (AR) and Virtual Reality (VR)
Considered individually, Augmented Reality and Virtual Reality remain the smallest software sectors out of the ones we research (the others being mobile, desktop, web, games, backend, industrial IoT, consumer electronics, data science & machine learning).
Only 0.4% of people are involved solely in AR or VR, the rest are involved with at least one other development area. Of the 9% of people involved with AR or VR almost half (46%) are involved with both AR and VR. This shows that there is a significant overlap in the skills needed to work in these sectors.
Most people who are involved in AR or VR are hobbyists, and not just in AR & VR. These people are more likely to be hobbyists in every other sector than people not involved in AR or VR. They are technology enthusiasts who like to experiment outside of their professional duties and are currently experimenting with AR & VR, potentially with a view to incorporating AR.
When it comes to AR, Unity Mobile AR, AR Core and AR Kit lead the pack of software tools for people creating AR products, but all of these tools are favoured more by developers than by non-developers. This suggests that there is space in the AR software market for a tool which allows non-developers to more easily realise their creative vision.
AR & VR practitioners are primarily focused on creating entertainment and services products. However 77% of AR/VR developers are building products in the services category (such as business logistics products).
The most popular category for AR and VR practitioners is games & toys, with 52% of developers and 44% of non-developers working on products in this category. The picture is somewhat different for other entertainment products (such as moves and animation), with 65% of non-developers working on apps in this category and only 47% of developers operating here. This indicates that developers are using their coding experience to experiment and create games in AR and VR, whilst non-developers are inspired by other use cases.
Emerging technologies for software developers in 2020
DevOps and Fog/Edge computing had the largest year-on-year increase in adoption and engagement. Devs are most engaged with DevOps with 59% of developers interested in, learning about or working on it. This is unsurprising as the discipline has gained significant traction in the last year as companies continue adopting continuous integration and continuous delivery into their development processes.
The research found a significant difference in many areas of technology where interest and engagement were higher than actual adoption. This is particular apparent in technologies where the barrier to entry is high and commercial relevance is still many years away. For example, computer vision is currently being used by 13% of engaged developers, with a further 25% learning about it. Robotics is being actively used by 8% of engaged developers and only 5% of engaged developers are working on Self-Driving Cars and just 4% on Quantum Computing.
The research also notes that a relatively high proportion (35%) of engaged developers are either learning about or working on Cryptocurrencies, however, the fact that only 41% of developers are engaged with it suggests that crypto-fatigue is beginning to set in while interest in blockchain development remains.
You can read the orginal version of this article at Codemotion.com, where you will find more related contents. https://www.codemotion.com/magazine/dev-hub/backend-dev/what-is-the-state-of-the-developer-in-2020/