Categories
Tips

Developers influence technology decisions 

I once had the opportunity to work for a large digital company that was preparing to modernise its infrastructure by choosing a new cloud platform vendor. A small team of six developers was tasked with organising a proof-of-concept (POC) to demonstrate the feasibility of this endeavour. After six weeks of intensive work, some developers began expressing their dissatisfaction with the new platform’s cumbersome interface. Suddenly, a multimillion-dollar commitment hung in the balance, relying on the opinions of a few hands-on experts.

Over a span of three years, ending in Q1 2021, we conducted six surveys to track developers’ engagement with and adoption of various technologies. To assess engagement and adoption, we asked developers if they were working on, learning about, interested in, or uninterested in different emerging technologies. We continuously updated the list as new innovations emerged. Adoption was measured by the proportion of engaged developers actively working on a technology. To provide context, each technology was categorized based on whether its engagement and adoption rates were above or below the median, resulting in four quadrants:

1. High engagement/High adoption: These technologies captivate the imagination of numerous developers and have demonstrated commercial success.

2. High engagement/Low adoption: These technologies generate significant interest among developers but have yet to make a substantial commercial impact.

3. Low engagement/Low adoption: These fringe technologies do not attract much interest from developers, and their commercial value is yet to be proven.

4. Low engagement/High adoption: These technologies might not appeal to many developers, but for those interested, commercial adoption is high.

In our analysis, after excluding DevOps from our emerging technology tracker, robotics, mini apps (apps embedded within another app), and computer vision emerged as the most engaging technologies for developers. Approximately half of the developers expressed that they were working on, learning about, or interested in each of these technologies. While professional developers showed the highest adoption rate for mini apps, robotics piqued the interest of hobbyists and students. However, of the developers engaged with mini apps, nearly a quarter were actively working on the technology, whereas for computer vision, this figure dropped to 15%, and for robotics, it was only 10%. Despite similar levels of engagement, mini apps’ practical applications were widely recognized by developers, as adoption increased by four percentage points over the past year, representing one of the largest increases observed.

64% of developer team leads are influencing decision makers or making recommendations

Developers influence technology decisions

Cryptocurrencies garnered the highest engagement among developers, with almost three in ten engaged developers expressing interest in learning about them. Other blockchain applications closely followed at 26%. However, the academic interest in these technologies has yet to directly translate into adoption, as only 14% and 12% of engaged developers are actively working on projects involving cryptocurrencies and other blockchain applications, respectively. 

More than 40% of these developers are professionally involved in web apps/Software as a Service (SaaS), and a third are engaged in mobile development. Nevertheless, adoption increased for both cryptocurrencies (by 5 percentage points) and other blockchain applications (by 4 percentage points) in the past year, indicating ongoing exploration of practical applications. As demonstrated by companies like Maersk incorporating blockchain technology into their logistics management systems in recent years, broader adoption is inevitable.

Quantum computing and self-driving cars continue to have limited adoption rates but capture the imagination of some developers, with over two in five engaged with these technologies. However, fewer than one in ten of these engaged developers are actively working on each of these technologies. Although engagement decreased over the past year, adoption increased for both quantum computing (by 4 percentage points) and self-driving cars (by 2 percentage points). A similar pattern emerged with brain/body computer interfaces, anew technology added in the most recent survey, where many developers expressed engagement, but due to its cutting-edge nature, very few are actively working on it.

Recently, we added hearables, DNA computing/storage, and haptic feedback to our list of emerging technologies. Engagement with these technologies remains low, similar to fog/edge computing, with a quarter to a third of developers showing interest. Among the engaged developers, approximately one in ten are actively working on these nascent technologies, while two in ten are learning about them. 

For each of the discussed emerging technologies, there are various barriers preventing widespread adoption. Technological hurdles are prominent, as advances required for mainstream implementation of quantum or DNA computing are still several years away. Additionally, social, cultural, and even legislative barriers can impede progress. While developers play a crucial role, they are only one piece of the puzzle.

Categories
Analysis

Why do developers switch jobs?

During the 21st edition of our Developer Nation survey we asked professional developers what – if anything – would make them switch jobs. It turns out many developers know their worth. Just one in ten developers say that nothing would make them leave their current employer. You can also share your input and participate in our more recent survey to answer this and other interesting questions.

It looks like the majority of developers are financially motivated, either in the form of higher compensation and/or an improved benefits package. Half of developers would switch employers for higher compensation and a third would switch jobs for an improved benefits package. Nearly two-thirds selected either option. 

However, this means that just over a third of developers have motivations that extend beyond immediate financial reward. When we remove the two-thirds of developers who said that increased compensation or better benefits would incentivise them to move, career advancement and broadening skills take the top two spots. This shows that developers are hungry to learn and to progress – these are also important factors for developers who could be tempted by financial rewards. 

Money talks for half of developers

Around one in five developers state that a better company culture would be a tempting reason to switch employers. However, while you could negotiate better incentives and more perks and benefits, company culture is harder to influence. There are well documented issues with culture in software development. There have been several high profile cases of discriminatory working environments in the last few years, and many software developers are no strangers to long hours, especially as a project nears completion. 

Remote working 

Software development has historically been a pioneering industry for remote working. The pandemic has likely made this especially salient. Not surprisingly, around a quarter could be tempted to move by a remote position. Just over one in eight would move in order to relocate. 

Eastern European developers are the most concerned with compensation

Are you perhaps based in Eastern Europe? Developers there are the most concerned with increasing their salary. Nearly seven in ten say that this would make them switch employers. The close geographical proximity to richer Western European countries likely makes depressed salaries in this region feel particularly unfair. For these underpaid developers in Eastern Europe, an upgraded benefits package won’t cut the mustard; instead other factors are more important:

  • broadening skills (50%), 
  • taking a more challenging role (32%), or
  • relocation (22%). 

It seems that Eastern European developers are taking a longer-term look at their finances and possibly considering uprooting their lives for an increased chance of success.

Developers in North America seem the happiest at their current jobs

14% of devs in N.America said that nothing would make them switch. As with most regions, higher compensation is the most tempting option; half of developers here selected this. These developers are much less likely than average to select career advancement, broadening skills, or taking on a more challenging role as reasons for moving. By and large, North American developers appear to be satisfied with their professional lives. For those who would be tempted to move, higher compensation is mentioned as a reason by three in five. 

Culture also matters in China

For Chinese developers, compensation is also important. Three in five developers here selected this option, the second-highest of any region. In comparison with their Eastern European counterparts, however, Chinese developers were almost twice as likely to say that a better benefits package would tempt them to move. This said, although financial motivations are important for developers in Greater China, they are some of the most likely to select ‘softer’ benefits such as better company culture, working environments, or shorter commutes. Reports of the Chinese government taking steps to reduce the ‘996’ working culture prevalent in many tech organisations in the country may well make these factors less of an issue in the future.

Developers in Greater China are less likely to say that remote or flexible working would tempt them to switch employers. Such flexibility is more highly valued by developers in Eastern Europe or North America. It’s likely that the pandemic’s effect on working culture has affected different regions in different ways. For instance, developers in North America may well be used to working from home after more than a year of doing so, and with Eastern Europe already an established outsourcing destination, remote work is more likely to be salient for developers here. On the other hand, developers in regions that may have limited opportunities to offer are more likely to see remote working as a door opener to the global labour market. More than one in three developers in the Middle East and Africa and 30% of developers in South America, for example, would switch jobs for a remote role.

Eastern European developers feel underpaid

Experienced developers are the most content in their jobs 

Around one in six of those with 16 or more years of experience say that nothing would make them move. This group is also the most financially-motivated, with over half saying that higher compensation may tempt them to move. As developers gain experience, they know better which roles they want to take. With managerial positions often forming an artificial ceiling, some experienced developers will want to stay closer to the code. 

Here is something important to consider: Career advancement and taking on a more challenging role both peak for developers with three to five years under their belts. A well-timed change at this point in a developer’s career can have a large impact on their future earnings and professional success. At three to five years of experience, many developers are beginning to feel established and comfortable in their skills, so a challenging opportunity can often provide a catalyst for future success.    

There are many reasons why a developer may choose to switch jobs, and whilst it’s impossible to ignore the impact of compensation, other factors play an important role, especially as the role of work in our lives continues to evolve. We are capturing these and other interesting facts that make tech giants shift their strategies in our Developer Nation Surveys. Raise your voice and shape the future.

Compensation becomes more important as developers gain experience
Categories
Community

First Prize Winners of the 22nd Developer Nation Survey

We’ve been busy running our prize draws since the launch of our 22nd survey in December.

Some of the prizes have already reached their destinations:

“It was my first time winning a prize on the Developer Nation, and I received it before Christmas so it feels like a Christmas gift from someone special” – Akash, India.

“I just want to thank you, hopefully it can be used to support our lesson plans to develop applications for small entrepreneurs.”Michael, Indonesia

Here is the full list of the Developer Nation prize winners from weeks 1 to 4, including runner-ups. ?

Prize draw winner

Thanks to our friends at Linode for their generous gift of the $500 credit. We’ll continue to run weekly prize draws between now and the end of January 2022. Once our survey closes, within 30 days we’ll run the draws for premium prizes, cool accessories, exclusive community prizes, and more.

We’ve reached out to all winners directly via email. If you recognise your email address but believe you haven’t been contacted yet, get in touch here.

If you’ve not taken the survey yet, why not hop in for a chance to win a prize (all participants will get a virtual goody bag).

Take the survey!

Here’s one of our community members, Amulya, with his Developer Nation t-shirt and mug. Swag like this could be yours!

Categories
Analysis

Where do game developers run their code?

The 21st edition of the Developer Nation global survey ran from June to August 2021 and reached more than 19,000 developers in 168 countries. Participants come from mobile, desktop, industrial IoT, consumer electronics, embedded, third-party app ecosystems, cloud, web, game, AR/VR, and machine learning as well as data science. We track developer experience across platforms, revenues, apps, languages, tools, APIs, segments, and regions. A while ago we covered how game developers make money. While a lot has happened since then, business models for game development have seen little change. Here we will focus on where game developers are deploying the code for their games and the technologies they’re leveraging to build their applications.

“More that half of game developers are writing code and deploying games for PCs and mobile devices”

The game development sector has long targeted on-device game deployment. More than half of all game developers are writing code and deploying games for the usual suspects: personal computers and mobile devices. The percentage of developers deploying code for PCs saw a slight increase to 58% in the last six months, indicating that gaming on PC hardware is still a thriving market. However, the proportion of developers creating games that run in the cloud saw a slightly larger percentage increase in the last six months, rising to 30%.

Cloud gaming is arguably one of the most foundationally innovative trends in the game development sector. The increased usage and availability of smartphones with high-speed internet connections has paved the way for game developers to deploy their code to a game-configured server instead of a downloadable, platform-specific version. With less game-specific content to download and similar performance to on-device versions, both gamers and companies stand to benefit greatly from cloud gaming.

“59% of professional game developers deploying games to the cloud use a multi/hybrid cloud strategy.”

Cloud developers can either work with a single public, private, or on-premises server, or they can devise a strategy that uses a combination of these server types. Our data shows that about 46% of game developers deploying their code to the cloud are now using a multi/hybrid cloud strategy. Further, we see a significant increase in multi/hybrid cloud deployment to 59% when we filter for professional game developers only. Though a multi/hybrid cloud strategy can be more complex, it’s a popular approach for game developers when tackling one of cloud gaming’s biggest issues: latency

Multi/hybrid cloud solutions are becoming more popular as companies look to reduce dependency on a single vendor and avoid vendor lock-in. There’s also a cost optimisation that’s associated with hybrid solutions, whereby companies can keep a steady amount of compute resources available on a private server, while engaging a public server for variable increases in resource requirements. 

“Backend technology usage in game development has risen by 56% in the last two years.”

Over the last 12 months, backend technologies have seen a massive increase in usage by game developers, making this the third most popular technology in game development, behind only 3D and 2D game engines. Backend technology use by game developers has almost doubled in this timeframe, from 11% to 21%. The growing trend of games being deployed in the cloud has partially fuelled the growth of backend technologies, especially among professional developers. 

Ad network usage has dropped from the fourth most used technology to the ninth most used. 

In the two years leading up to this last survey, ad networks had an average usage of about 27% among professional game developers. Usage has now dropped to 21%, a change that is in line with Apple’s recent update requiring iOS developers to ask users for permission to be tracked by third-party websites and other applications. A survey was conducted before the iOS 14.5 update that showed about 57% of users were either unlikely or extremely unlikely to allow tracking by an application. Restricting access to users’ Identifier for Advertisers (IDFA) reduces the possibility of conversion tracking, meaning less revenue potential for the advertiser and publisher, making the revenue strategy less attractive. 

Ranking of technologies used by game developers 

Usage of backend technologies like game servers and orchestration tools have risen to 50% and 18% respectively among professional game developers. Game server technology is also evolving, with the emergence of dedicated multiplayer products like Agones that are built on the back of Kubernetes. The growth of both backend technologies and cloud gaming are interdependent and are impacting the methods by which professional developers are building games. The future of game development will leverage the advantages of cloud technology more often, requiring game developers with skills and experience in managing data across multiple servers.

Categories
Community Languages

Size of Programming Language Communities in Q3 2021

Following our latest Developer Nation Survey, results are in and our State of the Developer Nation report 21st edition is now available! More than 19,000 developers from around the world participated and shed light on how they learn, the tools they use, how they are involved in emerging technologies, but also what would make them switch employers, among other topics.

As always, programming languages are a beloved subject of debate and one of the first topics we cover. The choice of language matters deeply to developers because they want to keep their skills up to date and marketable. It matters to toolmakers too, because they want to make sure they provide the most useful SDKs.

It can be hard to assess how widely used a programming language is. The indices available from players like Tiobe, Redmonk, Stack Overflow’s yearly survey, or GitHub’s Octoverse are great, but offer mostly relative comparisons between languages, providing no sense of the absolute size of each community. They may also be biased geographically or skewed towards certain fields of software development or open source developers.

The estimates we present here look at active software developers using each programming language; across the globe and across all kinds of programmers. They are based on two pieces of data:

  • First, our independent estimate of the global number of software developers, which we published for the first time in 2017. 

We estimate that, as of Q3 2021, there are 26.8 million active software developers in the world

  • Second, our large-scale, low-bias surveys which reach tens of thousands of developers every six months. In the surveys, we have consistently asked developers about their use of programming languages across ten areas of development, giving us rich and reliable information about who uses each language and in which context.

JavaScript’s popularity has skyrocketed

JavaScript is the most popular programming language community by a wide margin. Nearly 16.5M developers are using it globally. Notably, the JavaScript community has been growing in size consistently for the past several years. 4M developers joined the community in the last year – by far the highest growth in absolute terms across all languages – and upwards of 2.5M developers joined in the past six months alone. Even in software sectors where JavaScript is not among developers’ top choices, like data science or embedded development, about a fourth of developers use it in their projects.

Back in 2020 we suggested that learning Python would probably be a good idea. It still is. Since it surpassed Java in popularity at the beginning of 2020, Python has remained the second most widely adopted language behind JavaScript. Python now counts 11.3M users after adding 2.3M net new developers in the past 12 months. The rise of data science and machine learning (ML) is a clear factor in Python’s popularity. 

More than 70% of ML developers and data scientists report using Python

Java is the cornerstone of the Android app ecosystem as well as one of the most important general-purpose languages. Although it has been around for more than two decades now, its traction among developers keeps steadily growing. Since mid-2018, nearly 2.5M developers have joined the Java community, which now counts 9.6M developers.

Rust is rising fast

The group of major, well-established languages is completed with C/C++ (7.5M), PHP (7.3M), and C# (7.1M). Of these, PHP has grown the fastest in the past six months, with an influx of 1M net new developers between Q1 and Q3 2021. C and C++ are core languages in embedded and IoT projects for both on-device and application-level coding, whereas PHP is still the second most commonly used language in web applications after JavaScript. On the other hand, C# is traditionally popular within the desktop developer community, but it’s also the most broadly used language among AR/VR and game developers, largely due to the widespread adoption of the Unity game engine in these areas.

Rust has formed a very strong community of developers who care about performance, memory safety, and security. As a result, it grew faster than any other language in the last 24 months. Rust has nearly tripled in size from just 0.4M developers in Q3 2019 to 1.1M in Q3 2021. 

Rust is mostly used in embedded software projects but also in AR/VR development, most commonly for implementing the low-level core logic of AR/VR applications.

In previous editions of the State of the Developer Nation report, Kotlin has consistently been identified as a rising star among programming languages. Kotlin’s audience has doubled in size over the last three years – from 1.5M developers in Q2 2018 to nearly 3M in Q3 2021. This trend is largely attributed to Google’s decision to make Kotlin its preferred language for Android development. Kotlin is currently the third most popular language in mobile development, behind JavaScript and Java.

The more niche languages – Go, Ruby, Dart, and Lua – are still much smaller, with up to 2M active software developers each. Go and Ruby are important languages in backend development, but Go has grown slightly faster in the past year, both in absolute and percentage terms. Dart has also seen a significant uptick in its adoption in the last year. This has been fuelled predominantly by the increasing adoption of the Flutter framework in mobile development. Finally, Lua was the second fastest growing language community in the past two years, behind Rust, mainly attracting AR/VR and IoT developers looking for a scripting alternative to low-level languages such as C and C++.

You can read more about programming languages communities in the State of the Developer Nation report 21st edition.

Categories
Community

Supporting developers with our global developer surveys

In Developer Nation we have been supporting developers and organisations who help developers since 2019. The way we do this is through our donation program during our Global Developer Surveys. Every 6 months we donate $1,800-$2,000 to each organisation. So far, we’ve supported the Raspberry Pi Foundation, Black Girls Code, Techfugees, and Women in Big Data (South Africa).

For our 21st Developer Nation survey, we wanted to get developers more involved in the process. What changed this time? 

Developers who participated in our latest survey wave got to choose the organisation they wished to support. Each developer taking the survey raised the donation amount by $0.10. There were 5 different organisations to choose from.

These were:

  • CoderDojo helps enhance and build technological skills in an informal, creative and social environment.
  • Electronic Frontier Foundation is battling for free speech, digital privacy and innovation. EFF is defending civil liberties in the digital world.
  • Free Code Camp is helping people to learn how to code for free. They offer a variety of videos, tutorials, articles and interactive lessons in order to enhance coding skills.
  • Mozilla Foundation works to ensure the internet remains a public resource that is open and accessible to everyone. Their goal is a more human-centered internet.
  • The Nature Conservancy, our most diverse donation program given our audience, protects through its projects millions of acres of land, rivers and marine ecosystems.

Based on the donation choices of the developers participating in our 21st Developer Nation Survey, we can proudly announce our donation to each program, as shown below. We are excited to know that we have such a diverse community that apart from empowering others to enter the developer ecosystem, are also mindful of our natural ecosystem:

  1. Free Code Camp – $748
  2. Mozilla Foundation – $516
  3. The Nature Conservancy – $436
  4. Electronic Frontier Foundation – $196
  5. Coder Dojo – $116

Thanks to those who participated in our Developer Nation survey & helped make this happen!

Special thanks to prize winners and our affiliates – Michael Rabenandrasana and Sanchit Khurana- who have donated their prizes value and payments to the above charities.

We also received some great input and suggestions on other organisations we should support in the future, and invite you to share your ideas too, so we can keep supporting developers and make a difference. We will make sure to add them on our donation list in our upcoming surveys.

Categories
Interviews Tips

How to build a debugging tool and turn it into a business

From a common developer frustration to an award-winning company that has clients like SAP, IBM and Mentor, what does it take to turn a problem into a lucrative business?   I had a chat with Greg Law who is the co-founder and CEO of undo. Greg went from founding his company in a shed to building a business with top enterprise customers. What we all want to know is – how? Read on and get inspired! Could you be the next Greg Law / Undo?

Vanessa: Tell us a bit about Undo.

Greg: Undo is a tool that allows developers to see what their software did and why, at any point in time. The tool (LiveRecorder) allows engineers to record the execution of a program and wind it back to see exactly what it did to identify software defects. You can step line by line in a debugger – forwards or backwards – and see all of the program state too.

Customers use us when they are completely stuck with an issue, and rather than guess what the problem is, they can pinpoint it. There were devs who would spend days, even months trying to figure out the source of a bug, and they try LiveRecorder and it enables them to figure it out in a few minutes.

The tool was originally aimed at the enterprise market, but more recently it has been used by more smaller companies, even those with small teams.

“The pandemic helped change this, there was no more travelling to meet with potential enterprise customers, and thankfully the tool was matured enough that it could be downloaded by people from our website, without the need to support hundreds of support requests.”

It was always part of the grand plan but the pandemic brought it forward.

Vanessa: How did you build your team?

Greg: It’s kind of the classic story. I founded Undo with a good friend of mine, Julian from when we worked at Acorn back in the day. We worked evenings and weekends together, it reminds me of a quote I heard recently, a programmers mantra of “We do these things, not that they are easy, but because we thought they were going to be easy”. We did eventually get to a v1, then bumped into an old friend that Julian and I had worked with at Acorn, he was looking for his next job. He joined us in the shed at the end of my garden, that was in 2013, and he hasbeen with us ever since.

Vanessa: How many are devs on the team?

We have 34 on the team.

Vanessa: Which collaboration tools do your team use to stay on top of the projects?

Greg: Git with GitHub on top of that, in fact in the early days it was just Git.  

We used a todo.txt file and when we had 3 or 4 people that worked really well. It’s quite nice that you mark things in different states in different branches and it all just works. But obviously, it doesn’t scale. We used Phabricator for a while but ended up switching to GitHub.

Google Meet – and all of Google’s G-suite. There were worries about locking into a giant corporation but the convenience of it is too great!

Collaboration is about culture more than tools. We were definitely an “in the office culture” prior to the pandemic, and felt that the facetime, building deep relations and trust were good face to face, and that worked really well. That said, we were already beginning to recruit remotely in some exceptional cases. And of course, that has now changed 18 months ago and we transitioned like everyone else due to the pandemic. 

If the pandemic happened ten, even five years earlier, it would have been alot worse for those in the knowledge industry. Even five years ago video conferencing was expensive so having Google Meet made things a lot easier. The most important thing with remote working is to write stuff down so that you can communicate asynchronously, not just remotely. Google Docs has been very good for that.

Vanessa: What kind of culture do you offer to developers in your company?

Greg: It’s one of those things that is quite hard to define. I cringe so often when I hear people’s answers to this question. It can be cheesy, and buzzwords. Often if a company publishes it’s values, they are actually aspirational values, kind of what they want to be better at, not what they are doing right now. So one of our values is no bullshit. Be honest with each other and ourselves.

That is a key component in building trust, and that’s the biggest one for me. There are the easy kinds of trust, like, do I trust that I can leave my wallet on the desk and it will be there when I get back? Then there are more difficult levels of trust such as:

1) Do I trust your intentions? Do I trust that we are trying to achieve the same thing? 

2) Do I trust your judgment? 

3) Hardest of all – healthy conflict. 

I can say to you: “I feel let down, you didn’t do what you said you were going to do or you didn’t do a good job with that.” I can trust you enough that I can say that, and it’s going to be ok between us. It’s much easier said than done, and though we are fairly multi-cultural sometimes we can be a little bit too English about everything! So we need to be un-English about it, and say what we feel, obviously in a respectable, polite way, to have that trust and transparency.

And that was actually part of why we were quite big in the early days of building the company, not remote first, but having us all together. Not that you can’t build high integrity and high trust remotely, you can, but it is harder.

We were already becoming a remote culture and had a remote office in San Francisco, and we hired people from across the country, like in London.  The first few people you hire will define your culture. As a founder, you have a lot less influence than you thought, culture is a self-defining thing.  With picking the right early hires, we just got really lucky, we had no idea what we were doing. Now we’re in this new world and we hire much more freely regardless of location, and we have the core culture that we can build it on, it actually works really well.

Getting to know you

Vanessa: Have you always wanted to be a developer?

Greg: I wanted to be a train driver! Once I got over that, I got a home computer at the age of ten, my mum sacrificed to get the computer. At first I was just playing games on it (Commodore Plus 4) and she strongly encouraged me to learn and program with it, so I picked up a book to learn, out of guilt really, and from then on I was hooked, all I wanted to do was program. 

Vanessa: Did you go to college and beyond or are you self-taught?

Greg: I took Computer Science at degree and also at A level not many six forms offered that at the time. I realised that it paid well to do something I’m good at. The world developer population is not growing that fast, which is surprising, We need to train more programmers, but we’re always going to have a big undersupply so we need to make that finite pool of programmers as productive as possible.

We need a healthy ecosystem to help people be more productive. Ten years ago, software tools were a brave business to be in. Now it’s one of the hottest places for VC’s to invest in. 

Vanessa: Have you ever been involved in mentorship, either as a mentor or a mentoree?

Greg: We’re all still learning every day, I have mentored. In fact many of our employees are a mentor to me. We’re lucky that there is a healthy ecosystem in Cambridge. It’s amazing really – you can email almost anyone you can think of, even when you’re right at the beginning and they’ll spend a bunch of time with you.

The Future

Greg: Core tooling, slowly they have evolved compilers, IDE’s. Debuggers have not changed much over the years, new tools have come along but the fundamentals have not changed much over the decade

We see waves of tech. There are rapid periods of changes, computer operators were like train operators – if you used a computer for work that’s all you did, and no-one else would be let near them. Then in the 80’s people started using computers as part of their other job, now everyone is using them, and now there are smartphones. As these waves went by, the way we developed changed too – i.e. it goes in waves. Between say 1990 and 2010 the way we develop code was all evolution not revolution. Then suddenly it all changed again, first with agile, then CI/CD, huge amounts of reuse of open source, etc. With these big changes comes an explosion of tooling. It’s really hard to imagine what will continue. I think most of the tools we use today will still be in use in ten years, but they will have been added to. Like how GitHub compliments git, or our stuff does with Jenkins. I’m sceptical on the AI writing code thing – understanding of requirements through context and delivering creative solutions to that – it’s a million miles away from the state of the art. But I do totally see computers helping us to write code – the GitHub Copilot stuff promises to save a bunch of time. But it’s not quite as exciting as it looks because if you think about it, Copilot saves you time typing in the code sure, but what proportion of programming time is actually spent typing the code in? Pretty small. A much larger chunk of time is spent figuring out why that code you typed in this morning doesn’t do what you thought it was going to do! That’s why we started Undo, and I think we’re going to see a lot more around this notion of understanding or auditing exactly what happened.

Collaboration will be key. Asynchronous collaboration. Once you sever the link, you no longer require people to be geographically in the same place, well then you no longer need to be in the same time, either. This has potentially profound implications for how we might work. We have used version control in development for decades which allows people to collaborate remotely and asynchronously; I think these practices have a lot to teach a wider audience in asynchronous collaboration. In kind of the same way that the first word processing applications were actually code editors.

We’re good at writing code, but not at debugging, most devs spend alot of time debugging – remote and asynchronous collaboration through debugging would be great. 

Vanessa: It was great to talk to you Greg!

We love to hear your development stories, get in touch to share yours.

Categories
Community

Developer survey prizes: See who’s won in our 21st Developer Nation survey and Referral Program.

We’re super excited to announce the winners of our 21st Developer Nation prize draw. Thanks to over 20,000 of you who took the time to contribute to the developer ecosystem!

If you’re new to our prize draws: developers who take our surveys earn 100 points for every new survey completed, plus 10 points for providing their feedback about the survey. You can see the list of benefits and rewards here.

Winners of the General Prize Draw

Winners of the State of AR/VR Survey Prize Draw

Winners of the Exclusive Community Premium Prizes (for members with 801+ points

Winners of the Exclusive Community Prize Draw – vouchers and surprise swag (for members with 801+ points)

Winners of the Exclusive Community Prize Draw – vouchers and branded swag (for members with 501+ points)

Winners of the Exclusive Community Prize Draw for branded surprise swag (for members with 301+ points)

Winners of the Extra Prize Draws

Winners of the Early Bird Prize Draws

Winners of our Partner Prize Draws

Partners – Baguette, ifanr and wwwhats-new.

Winners of the Referral Program

Over 5,900 developers have joined our Referral Program and 209 were especially competitive in promoting our survey to their communities. Thanks to everyone who took on the challenge! If you want to test your influencer abilities in our next survey, make sure you join our Referral Program. Without further ado, here are the top 50 winners:

We’ve reached out to all winners directly via email. If you recognise your email address but believe you haven’t been contacted yet, you can contact us here.

Wait, there’s more

The lists above only include prize-draw winners and not runner-ups. If the prize draw winners do not claim their prizes within 10 workings of us contacting them, then runner-ups will be invited to claim them instead. 

Special thanks to our prize sponsors Coding Mindfully, CertNexus, Florin Pop, SitePoint, and The VR/AR Association for donating prizes to the survey! Also thanks to our goody bag sponsors Alertdesk, Gitpod, Kontent, Jack Domleo, Linode, and Manning. Are you a company interested in giving away a prize to developers in our next survey? Get in touch!

If you’re not a winner, don’t despair, our next survey, our 22nd global developer survey will be live later this year. We’re already on the hunt for some amazing prizes, and open to your suggestions. What prizes would you like to win? Drop us an email or send us a Tweet.

To ensure that you are notified when our next survey is live, sign up. Don’t forget to make sure the survey notification option is ticked.

Categories
Analysis

Machine learning developers and their data

The data science (DS), machine learning (ML), and artificial intelligence (AI) field is adapting and expanding. From the ubiquity of data science in driving business insights, to AI’s facial recognition and autonomous vehicles, data is fast becoming the currency of this century.  This post will help you to learn more about this data and the profile of the developers who work with it. 

The findings shared in this post are based on our Developer Economics 20th edition survey, which ran from December 2020 to February 2021 and reached 19,000 developers. 

Before you dive into the data, our new global developer survey is live now. We have a set of questions for machine learning and AI developers. Check it out and take part for a chance to have your say about the most important development trends and win prizes.

It takes all types

The different types of ML/AI/DS data and their applications

We ask developers in ML, AI, and DS what types of data they work with. We distinguish between unstructured data — images, video, text, and audio — and structured tabular data. The latter group includes tabular data that they may simulate themselves. 

With 68% of ML/AI/DS developers using unstructured text data, it is the most common type of data these developers work with; however, developers frequently work with multiple types of data. Audio is the most frequently combined data type: 75-76% of those that use audio data also use images, video, or text. 

“Unstructured text is the most popular data type, even more popular than tabular data”

Given the most popular applications of audio data are text-to-speech generation (47%) and speech recognition (46%), the overlaps with video and text data are clear. Image data, like audio, overlaps heavily with video data: 78% of those using video data also use image data. The reverse dependence isn’t as strong: only 52% of those using image data are also video data users. The top two applications of both these data types are the same: image classification and facial recognition. These are two key application fields driving the next generation of intelligent devices: improving augmented reality in games and underpinning self-driving cars, in home robotics, home security surveillance, and medical imaging technology. 

The types of data ML/AI/DS developers work with

69% of  ML/AI/DS developers using tabular data also use unstructured text data

With 59% usage, tabular data is the second most popular type of data. 92% of the tabular data ML/DS/AI developers use is observed, while the other 8% is simulated. The two most common use-cases for this data is workforce planning — 39% of developers who use simulation do this —  and resource allocation, also at 39%.

Structured tabular data is least likely to be combined with other types of data. Although uncommon to combine this type of data with audio or video data, 69% do combine tabular data with unstructured text data. The top application of both tabular data and unstructured text is the analysis and prediction of customer behaviour. This is the sort of analysis often done on the data nuggets we leave behind when searching on retail websites — these are key inputs to algorithms for natural language and recommender systems.

Keeping it strictly professional?

The professional status of ML/AI/DS developers

The professional / hobbyist / student mix in the ML/AI/DS ecosystem

ML/AI/DS developers engage in their fields at different levels. Some are professionals, others students or hobbyists, and some are a combination of the above. The majority (53%) of all ML/DS/AI developers are professionals — although they might not be so exclusively. 

Of all the data types, audio data has the highest proportion of professional ML/DS/AI developers. 64% of ML/AI/DS developers who use this type of data classified themselves as a professional; and the majority (50%) of these professionals are applying audio data to text-to-speech generation. The high proportion of professionals in this field might be a byproduct of co-influencing variables: audio data is the data type most frequently combined with other types, and professionals are more likely to engage with many different types of data. 

Data types popular with students include image, tabular, and text data. Between 18-19% of developers who work with these types of data are students. There are many well-known datasets of these types of data freely available. With this data in hand, students also favour certain research areas. 

Image classification, for example, is popular with developers who are exclusively students: 72% of those students who use image data use it for this application, in contrast to just 68% of exclusive professionals that do. In applying unstructured text data, 38% of exclusive students are working in Natural Language Processing (NLP), while 32% of exclusive professionals are. As these students mature to professionals, they will enter industry with these specialised skills and we expect to see an increase in the practical applications of these fields, e.g. chatbots for NLP. 

“65% of students and 54% of professionals rely on one or two types of data”

Besides differences in application areas, students, hobbyists, and professionals engage with varying types of data. 65% of those who are exclusively students use one or two types of data, while 61% of exclusively hobbyists and only 54% of exclusively professionals use one or two types. Developers who are exclusively professionals are the most likely to be relying on many different types of data: 23% use four or five types of data. In contrast, 19% of exclusively hobbyists and 15% of exclusively students use four to five types. Level of experience, application, and availability of datasets all play a role in which types of data an ML/AI/DS developer uses. The size of these datasets is the topic of the next section.

Is all data ‘big’?

The size of ML/AI/DS developers’ structured and unstructured training data

The hype around big data has left many with the impression that all developers in ML/AI/DS work with extremely large datasets. We asked ML/AI/DS developers how large their structured and unstructured training datasets are. The size of structured tabular data is measured in rows, while the size of unstructured data — video, audio, text — is measured in disc size. Our research shows that very large datasets aren’t perhaps as ubiquitous as one might expect. 

“14% of ML/AI/DS developers use structured training datasets with less than 1,000 rows of data, while the same proportion of developers use data with more than 500,000 rows” 

The most common size band is 1K – 20K rows of data, with 25% of ML/AI/DS developers using structured training datasets of this size. This differs by application type. For example, 22% of those working in simulation typically work with 20K – 50K rows of data; while 21% of those working with optimisation tools work with 50K – 100K rows of data. 

Dataset size also varies by professional status. Only 11% of exclusively professional developers use structured training datasets with up to 20K rows, while 43% of exclusively hobbyists and 54% of exclusively students use these small datasets. This may have to do with access to these datasets — many companies generate large quantities of data as a byproduct or direct result of their business processes, while students and hobbyists have access to smaller, open-source datasets or those collected via their learning institutions. 

A further consideration is, who has access to the infrastructure capable of processing large datasets? For example, those who are exclusively students might not be able to afford the hardware to process large volumes of data. 

Non-tabular data is a useful measure for comparisons within categories: for example, 18% of image datasets are between 50MB-500MB, while only 8% are more than 1TB in size. The measure doesn’t, however, allow for cross-type comparisons, since different types of data take up different amounts of space. For example, 50MB of video data takes up a considerably shorter length of time than 50MB of audio data. 

The size of unstructured training data ML/AI/DS developers work with

The categorisation of the different data sizes was designed to take into account the steps in required processing power. For most ML/AI/DS developers, we expect that a 1-25GB dataset could be handled with powerful, but not specialised, hardware. Depending on the language and modelling method used, 25GB on disc relates to the approximate upper bound in memory size that this type of hardware could support. 

We see that 26% of ML/AI/DS developers using text data and 41% using video data will require specialised hardware to manage their training. The high level of specialized hardware manifests as a barrier-to-entry: data analysis on these large datasets is beyond an achievable scope without the backing of deep pockets supplying cloud-based technology support or infrastructure purchases.

Want to know more? This blog post explores 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.

Categories
Analysis

The lasting effects of COVID-19 on how developers work and learn

The COVID-19 pandemic has fundamentally changed the way people work and learn across industries, and developers are no exception to that. Although in the grand scheme of things, our data indicates that many developers have been weathering well the repercussions of an unprecedented crisis, there is much more to tell. 

The findings shared in this post are based on our Developer Economics 20th edition survey, which ran from December 2020 to February 2021 and reached 19,000 developers. Previously we reviewed how developers’ needs were changing due to COVID-19. Now we’ve taken a deep dive into our latest survey data to find which developer groups and regional communities were affected the most by the pandemic and in what ways. 

Before you dive into the data, our new global developer survey is live now. We have updated it with questions relevant for developers in 2021 – check it out and take part for a chance to leave your mark on the upcoming trends and win prizes.

How the COVID-19 pandemic affected the way developers work or study

In our survey, we asked developers to assess the impact of the COVID-19 pandemic on the way they work or learn. In perhaps the most salient category, 7% of developers said that they had lost their job in the aftermath of the pandemic and 9% had dropped out of their studies. Notwithstanding the severity of becoming unemployed in times of crisis, the IT sector is still seen as one of the least impacted sectors in terms of hiring during the global pandemic, with an almost unwavering demand for professionals in software and hardware segments.

How the COVID-19 pandemic affected the way developers work or study

Which developers were impacted the most?

Arguably, not every developer has been affected by their company’s decision to enforce remote working to the same extent. For example, does a working parent who juggles the daily demands of commutes and childcare embrace the opportunity of working remotely as a means of having a better work-life balance? On the other hand, if asked, how many pre-pandemic graduates would have, at the time of their study, agreed to go fully remote and potentially miss out on exploring the rich social life that a university offers to young people? Let’s take a closer look at some of our distinct developer groups to understand which factors have been having the greatest impact on ways of working and learning. 

When looking at how the pandemic affected developers of different experience levels, we find that the more experienced developers were also more affected in the way they work. For instance, 40% of developers with less than one year of work experience say they were unaffected in their ways of working, compared to 35% of developers with six or more years of experience. While the gap is not particularly large, junior developers appear to have switched to remote working to a lesser extent. This may be, in part, due to younger people and new hires wanting to go to the office, get to know their colleagues, and connect with their peers.

Developers working for large organisations were the most likely to go fully-remote during the pandemic

Next, we evaluated COVID-19’s impact with respect to company size. We find that developers working for larger companies were clearly more affected in their ways of working by the pandemic. While 42% of developers in small companies between two and 50 employees say they were not affected, the number plummets to less than 30% for developers in companies of over 50 employees. Large enterprises with more than 5,000 employees have been battling the repercussions of the pandemic at the frontlines; 51% of developers here went fully remote compared to just 29% of developers in companies with between two and 50 employees.

Developers in small companies were less affected by the pandemic.

Note that, except for small companies, switching to fully-remote working was the most likely outcome in our survey. There are good reasons for this: large business organisations are naturally more risk-averse and commonly need large contiguous office spaces that have to be fully closed for all of their employees to effectively contain the spread of the virus. On the other hand, many small companies had more remote-friendly organisational structures to begin with. In particular, start-ups have been known to promote a remote-first culture due to the apparent benefits of lower seed capital and broader options to recruit and pool talents together.

Twice as many developers in Western Europe compared to East Asia went fully remote.

Switching to remote working has been more common in Western regions.

Perhaps it comes as no surprise when looking at different regions to find a substantial gap between the East and the West. Our data shows that the Western regions, such as Western Europe and the Americas, have more readily facilitated remote working for their employees. For instance, 41% of Western European developers went fully remote, as opposed to only 20% in East Asia. This could be due to a combination of different factors. For example, pundits argue that many Asian countries score low for having the technological infrastructure deemed necessary to adapt to remote working conditions, such as having poor home-office equipment or internet connectivity that is sensitive to traffic surges. Yes, social factors may have partly played a role, as higher average household sizes and smaller apartments in emerging regions pose roadblocks to their own for employees to balance their work and home life.

The pandemic took a heavier toll on young learners.

Lastly, we looked at COVID-19’s impact on learners. 39% of 18- to 24-year olds stated that the way they study has not been affected during the pandemic. On the contrary, among those students aged 25 and over, 50% or more were not affected. Thus, an interesting trend emerges here, that especially younger learners had to adapt by becoming partly or fully remote. Our data offers one possible clue for this; younger learners are more likely enrolled in a formal degree program than older learners, who are more likely to be self-taught and are to be found burning the midnight oil with online courses and boot camps that have traditionally fostered remote ways of studying.