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.

Categories
Community Interviews

Interview: What is it like working on open-source game development?

I had a chance to speak with Liam Arbuckle, the acting CTO of the game/web development studio/collective (100% open-source) called Signal Kinetics. Liam is based in Australia. 

What is it that you’re working on?

Right now, we’re working on a citizen science game engine (sort of like Project Discovery in Eve Online, but integrating other games as well). We’re aiming to increase science discovery/contribution for everyone through gaming by allowing people/players to: 

1. Contribute to real-world scientific problems/experiments  

2. Help train ml/dl datasets/algorithms (sometimes through their actions in-game) 

3. Engage with users, especially those in the scientific community (we’re working on a service called Arcadia which is basically a fork of Buddypress that will implement features similar to services like Steam & Facebook Games) 

So you are targeting citizen scientists? Is there a particular age range you are targeting?

I believe information should be free, when I was younger, scientific journal access was expensive, also, there is a lack of engagement with the science community in Australia. I want to create something that can’t restrict a person from the science community due to their age, gender, spending ability etc.

What inspired you to create your Game Engine?

I attended Science hackathons, science and gaming, made mars rover, most recently I contributed to the Open Source Rover by NASA’s Jet Propulsion Laboratory.

What else are you working on?

We’re also working on our own game (with potential partnerships with Savy Soda, as an example, in the pipeline) and hoping to make our experience with Arcadia modular:

 1. Users can contribute to scientific research through playing any game in the world by installing a custom add-on designed by the Arcadia developers for the game.

 2. Users can have a “bank” (similar to the Pokemon Home system) that shows their games library, achievements and item list/screenshots in the Arcadia web app.

There’s no real large gaming community to play games online. I want to build a community, where gamers can share screenshots, there’s an overlay to watch people playing games, I want to make mini-games too, there’s no real limit. I used to game on a Samsung phone which had a play status, I could stream to Discord. I want to expand this idea to non-Samsung games, add a community with no limits – basically information freedom, with no blockage or limits.   

3. Users can choose which games to play.

What are your immediate goals?

Get industry connections.

What type of connections are you looking for?

I’ve made contact with Melbourne-based game companies so I’m on track with that. I’m looking for grants, an investment to work on the blockchain element, get connected with a marketing team, get a few 1,000 players to start off with, and then connect with more on social media.

Right now I don’t have the money to finance, we’ve had people come online to help with the open-source. I’d ideally like to get some consistent engagement rather than have contributors that do the occasional work.

If it wasn’t for Covid-19  I would have moved out of Australia, there are huge problems with setting up in Australia, no grants, no infrastructure for tech companies.

I want to start contributing to established games and engines to gain experience, connections, contribute and potentially expand my team’s vision.  

Are there any particular games that you have in mind?

Minecraft, l would love to contribute to that, I Love that you can make mods. I think Minecaft is crying out for more integrations, so I would love to get connections with Mojang. I’ll take any company that has a level of open-source ethos.

Continue working on the game, however, this requires money. A lot. And I’m not rich! I’m primarily focusing on a media kit that will later be used as the basis for a Kickstarter campaign.   

When do you plan to run the Kickstarter campaign?

I won’t have the game finished before the campaign starts, I want to put together a media kit, assets, I’m going to an incubator to learn how to market the game, understand which social media do we target, and which niche users. I have been involved with other Kickstarter projects and know I can’t be too broad with who I target at first. I think in  3-4 months we will be ready to launch the Kickstarter campaign.

I’ve got a team of about ~20-30 people (with most being external/outside collaborators, there are around 10 people that run the show and contribute on a consistent basis). These people have varying levels of experience in game development, design, and web app construction (among other things).

Are you actively looking for more contributors? If so, what level of experience are you looking for?

I’ll take anything, I won’t say no to anyone, I find that the science community say no, if we say no, we’re just defeating the purpose of the project.

We would prioritise people who have c#, and website building experience. Once you get your base established, then start with junior developers. We don’t want to be too closed, but also we don’t want to be too open and not get work completed. 

We are also working on a partnership with the Swedish Power Metal band Veonity to contribute with us on officially licensed songs for our games and the Arcadia platform  – recording is due to start in July which is very exciting!


Did you know that 34% of game developers use C#?

Interview with Liam Arbuckle

When did your interest in development start?

I love Star Wars, at 12 I went into robotics, and in 2016-2017 I worked to build a physical R2D2. In year 10 I started a computer science class at school. Unfortunately, computer science investment in schools is poor, but I had a good teacher that encouraged younger students who were not yet at the age to attend a class to learn in their breaks. I learned Python, and in year 11 I started working on GitHub, learned Ruby on Rails, Gem. 

I ended year 11 and decided I wanted to start developing. There are no astrophysics courses near to me. You can build games and tell stories from computer science.

How do you make decisions when it comes to your next self-improvement step? Do you look at data, attend conferences?

I attended the recent Atlassian conference. Also, there are 20 of us that meet at a bar regularly to talk about problems, I have joined a few teams and am developing professional skills. 

I pitched to investors last year and got 10,000 AUD but it doesn’t last very long in a startup.

I like to see people in the physical world, go to Python global conferences, learning what’s the newest feature with the project that I can use to my advantage.

Has it been a benefit to have online conferences due to Covid-19?

I would never have been able to afford travel to conferences until this year when I’ve started making money, the online conferences are more accessible.

Before, if you are not fully embedded in a developer community, there is not much incentive to go to in-person conferences, there is a huge cost to fly overseas for a conference, and no guarantee that project of interest will be discussed, no guarantee people that people will help you there. There are more frequent conferences now, by more teams, not just big companies doing them.

Do you have a mentor? Or are you mentoring someone else?

I’m a mentor at the University Codjo, mentoring 14-15-year-olds with Autism / ADSD. For me, the computer sciences teacher was a mentor at school, but I don’t have anyone mentoring me right now. I wouldn’t need a mentor right now for teaching me, rather someone who can structure how I do things, I’m not the best, I’m not perfect, people with experience have given great advice to me.

Do you have any words of wisdom for others thinking of building their own games or game engines?

1. I echo the words of “information wants to be free” if everyone open sources and has no barriers, that would be my ideal world!

2. If you want to make any media, games are great, they engage people, I lose interest in reading novels,  in games, there is so much you can involve other people with, everyone can make their own stories. There’s engagement.

What’s in your toolbox?

  • Unity for most of my games stuff
  • Starship, customisable prompt for my terminal – makes everything look so much cooler. I love customising my devices.
  • GitHub
  • Keybase for communications, encryption and there are git integrations.
  • Notion 
  • Visual studio code 
  • Jira by Atlassian – more of an industry-standard than what I was using before.
  • MacBook M1 for on-the-go stuff, I duel boot with Linux when testing.

How do you work as a distributed team? What tools do you use?

Keybase is the main tool, git commits can be seen in there and there are cool bots and tools you can use. It was also acquired by Zoom which shows that things will be great for global teams.

We also use Facebook messenger or WhatsApp for casual talk.

Git commits can be sent there, cool bots, and tools you can use. Was acquired by zoom, shows that things will be great for global teams.

What do you need right now?

Right now direct partnership with companies is needed, funding is so important. Everyone in the team is paying out of their own pockets. The best way we can succeed is with funding so the Kickstarter will work, with partnerships, it will give our Kickstarter legitimacy. 

If you’re interested in joining forces with Liam and his team either as a developer committed to open-source, or a partner, you can reach Liam via his GitHub profile.

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

Categories
Tips

7 Tips on How to Win In Our Referral Program

Our referral program counts over 2,800 developers who are quick, smart, and masterfully spreading the survey with their local developer groups and communities. We know that all of you are very keen on winning the top referral prizes like $ 200, $700 or $1,000 USD. But only the top 50 will score rewards. So we recently spoke with one of our top 3 referrers from the previous survey, and he was cool enough to share a few tips on how to climb the leaderboard faster. Read, learn, and apply!

1. Spread your influence. Twitter is cool but in some countries Whatsapp, Telegram, and Discord developer groups are more eager to back you up and take the survey to support you. Test a mix of different apps and sites.

2. Be intentional. It’s ok if you share the survey occasionally to boost your ranking. But if you want to get to the top, it’s worth planning ahead. Try to be active on specific days or times when you know other developers will be scrolling through their phones. 

3. Learn about the people before posting. If you’re posting in a new developer group, forum, or Slack channel, it’s worth getting to know the vibe of the group first. Some are more casual, some are all about learning, some love memes. When you share the survey with them, try to blend in as a native. 

4. Some people love to hear about the survey prizes, some don’t. That’s ok. You can focus on saying that the survey is actually a good learning opportunity to discover new tools and platforms.

5. Use the promo material we have prepared for you. Feeling a bit confused about how to promote the survey? Don’t know what to say? Pick a few tweets, banners or promo texts & grab your custom promo link to share with other developers.

6. Remind people that they need to complete the survey, so as to count towards your referrals. Perhaps some have started the survey and paused. Give them a gentle reminder to go back and finish answering the questions.

7. Mention that the survey is closing on August 4th. It helps when people know that there’s a deadline and they need to act fast.

8. We’re donating $0.10 for every response to a charity that developers can select when they enter the survey. That’s a nice way to motivate people to support you and our survey too!

Hope these quick tips will inspire you and keep you in the game so that you can climb the leaderboard and win our top 50 prizes. Just remember to play fair and square and only promote the survey to real developers and software creators (sorry, you can’t ask your mom or cousin to click randomly!). Read our Referral Terms & conditions to make sure you’re playing by the rules. Good luck!

Categories
Tips

10 books on computer vision and cryptocurrency you should read

In our latest Developer Nation Pulse report we shared data on the top five emerging areas of interest to developers.

Around half of developers say they are working on, learning about, or interested computer vision, according to the insights from our Q1 2021 global survey of over 17,000 developers. Similarly, 45% are interested in cryptocurrencies (e.g. Bitcoin).

Recommended computer vision and cryptocurrency books

However, of the developers engaged with computer vision, only 15% are currently working on the technology. Similarly, only 14% are currently working on cryptocurrencies. One in four developers are currently learning about computer vision, while 29% are learning about cryptocurrencies.

So if you belong to these group, the following book recommendations might be just the thing you’ve been looking. This post was created in partnership with our friends at Packt.

Computer Vision books

Modern Computer Vision with PyTorch

Explore deep learning concepts and implement over 50 real-world image applications.

What reviews say:

“I felt the book is very well structured and compiled. Unless you’re looking for something very very specific, you’d be able to find techniques/implementations for any and all types of problems you are working on. They cover algorithms and implementations of basic neural networks, all the way upto RNNs and reinforcement learning with PyTorch. The breadth covered by this book on the number of techniques and algorithms is really amazing.”

Mastering Computer Vision with TensorFlow 2.x

Build advanced computer vision applications using machine learning and deep learning techniques

What reviews say:

“There are many books out there / but this book stands out – very clear explanation of codes and contents, lots of detailed explanations for object detection, classification, visual search, matching and training in cloud.”

PyTorch Computer Vision Cookbook

Over 70 recipes to master the art of computer vision with deep learning and PyTorch 1.x

“This book is good for beginners to learn about writing deep learning model in PyTorch. Book goes from basic linear model to processing videos in PyTorch and covers variety of use cases e.g. use of GANs, Style transfer project.”

Applied Deep Learning and Computer Vision for Self-Driving Cars

Build autonomous vehicles using deep neural networks and behavior-cloning techniques

What reviews say:

“This book is about how to apply deep learning knowledge to solve self-driving car problems. The technologies mainly focus on computer vision areas. It gives readers lots of code samples, which can help readers to understand the concept in each chapter.”

TensorFlow 2.0 Computer Vision Cookbook

Implement machine learning solutions to overcome various computer vision challenges

What reviews say:

“By far, this is one of the best books to understand how to apply deep learning in the field of computer vision. The concepts have been clearly explained. It covers almost everything from image classification, image segmentation, object detection, etc”

Raspberry Pi Computer Vision Programming, Second Edition

Design and implement computer vision applications with Raspberry Pi, OpenCV, and Python 3

What reviews say:

“This book was very helpful for me because it covers a wide variety of computer vision topics and offers lots of well thought out code examples using Python, opencv, matplotlib, numpy and other computer vision software. I followed his examples on my RPi and found that they helped me get the format and arguments of opencv commands correctly to include little things like commas, parenthesis, brackets, optional arguments and the like.”

Hands-On Image Generation with TensorFlow

A practical guide to generating images and videos using deep learning

What reviews say:

“The book is a great quickstart into representation with neural networks. (I also read it more deeply at times and it is great for that as well. I myself have experience with high-throughput large scale autoencoders with TensorFlow and building Facial Recognition applications. I appreciated this book a lot.)”

Cryptocurrencies books for developers

Practical Artificial Intelligence and Blockchain

A guide to converging blockchain and AI to build smart applications for new economies

What reviews say:

“Addressing such large topics as artificial intelligence and blockchain at best is a very serious endeavor. Whereas blockchain after a decade plus of existence has developed a useful understanding within its marketplace, that is not at all true of artificial intelligence, better just AI. AI is now well beyond 6 decades of existence as a topic and yet remains in an evolving state with much debate and speculation worldwide, especially over ethical and scope issues. So given that the reader of this book may be either one-of or some combination of a professional scientist, a developer or simply someone wanting to learn, then yes, Ganesh Prasad Kumble’s Practical Artificial Intelligence and Blockchain book is both a good and useful read.”

Blockchain Development for Finance Projects

Building next-generation financial applications using Ethereum, Hyperledger Fabric, and Stellar

What reviews say:

“This book is for developers who want to learn blocking technology by building financial applications. Kudos to the author on providing coding examples and following it with explanation. Overall it is a good book on Ethereum development and I would recommend it for anyone who wants to learn Ethereum blockchain by building fintech applications.”

Securing Blockchain Networks like Ethereum and Hyperledger Fabric

Learn advanced security configurations and design principles to safeguard Blockchain networks

What reviews say:

“This book is for blockchain developers, security professionals, and Ethereum and Hyperledger developers who are looking to implement security in blockchain platforms and ensure secure data management using an example-driven approach. Basic knowledge of blockchain concepts will be beneficial.”

Is there a book or expert that you would recommend to others interested in cryptocurrency or computer vision? Do share in the comments.

Our latest developer survey is live. Let us know which emerging technology you’ll be exploring in 2021.