Categories
Analysis Tools

How To Differentiate Junior and Senior Developers

Job titles do not merely define the distinction between junior and senior developers but by a multitude of skills, experiences, and responsibilities. According to recent industry data, the demand for skilled developers continues to surge, with an estimated 22% growth expected by 2030

As organizations strive to build innovative digital solutions, recognizing the nuanced differences between these two roles becomes pivotal for effective team collaboration, mentorship, and project success. 

In this article, we delve into the key markers that differentiate junior and senior developers, shedding light on the diverse attributes that contribute to their respective contributions within the dynamic software engineering landscape.

Skillset Comparison

Technical Proficiency

1. Language and Framework Knowledge: 

Junior developers often possess foundational knowledge of programming languages and frameworks, focusing on mastering the basics. For instance, a junior developer might be proficient in a single programming language like Python and a popular web framework like Django.

In contrast, senior developers exhibit expertise in multiple languages and frameworks. They might work with Python, Java, and Ruby, adapting to various project needs.

2. Problem-Solving Abilities:

Junior developers typically tackle well-defined tasks, troubleshooting simpler issues within a confined scope. A junior developer might debug a small code section, causing a minor functionality hiccup. On the other hand, senior developers excel in solving intricate, multifaceted problems. They might devise an innovative algorithm to optimize the performance of a complex system.

3. Code Optimization and Efficiency: 

Junior developers prioritize functional code, often lacking comprehensive optimization skills. For example, a junior developer might write code that works but is less efficient in terms of execution speed. Senior developers, however, focus on crafting efficient and scalable code. They could refactor code to improve performance, enhancing the user experience.

Soft Skills

1. Communication and Collaboration:

Junior developers typically communicate within their immediate team, sharing updates on smaller tasks. For instance, a junior developer might discuss progress on a website’s front-end design with fellow developers. 

Senior developers exhibit advanced communication skills, explaining complex technical concepts to non-technical stakeholders. They might present the technical aspects of a project to company executives or clients.

2. Mentorship and Knowledge Sharing: 

Junior developers are recipients of guidance. They might attend workshops to enhance their skills. Conversely, senior developers actively mentor juniors and contribute to knowledge-sharing initiatives. For example, a senior developer could lead a coding workshop for junior team members, fostering a learning culture.

3. Decision-Making and Autonomy: 

Junior developers typically follow established guidelines and seek approvals for major decisions. A junior developer might need supervisor consent to introduce a new feature. Senior developers possess greater autonomy and decision-making authority. They might make critical architecture choices independently, based on their wealth of experience.

Experience Levels

Junior Developers

1. Entry-Level Positions:

Junior developers typically enter the workforce after completing formal education or coding bootcamps. They assume entry-level roles that allow them to gain practical experience and apply their foundational knowledge.

2. Limited Industry Experience: 

With only a short time in the field, junior developers are still familiarizing themselves with real-world projects, tools, and collaboration dynamics.

3. Learning and Skill Development Focus: 

Junior developers prioritize learning, seeking to broaden their skills and deepen their understanding of programming concepts through hands-on experience and training.

Senior Developers

1. Extensive Industry Experience: 

Senior developers have accumulated years of practical experience in software development. They’ve weathered various projects and challenges, contributing to their profound understanding of the field.

2. Leadership and Project Management Roles: 

Due to their seasoned expertise, senior developers often take on leadership roles, guiding projects from conception to completion. They also contribute their insights to strategic decision-making.

3. Expertise in Specific Domains: 

Over time, senior developers specialize in specific domains such as web development, mobile apps, machine learning, etc., honing their proficiency and becoming go-to resources in their chosen areas.

Responsibilities and Roles

Junior Developers

1. Task-Oriented Assignments:

Junior developers handle specific tasks or components of a project, often under the guidance of senior developers.

2. Learning from Senior Team Members: 

They learn valuable practices, techniques, and problem-solving approaches from experienced colleagues.

3. Seeking Guidance and Code Reviews:

Junior developers actively seek feedback and code reviews to improve their skills and ensure code quality. This practice becomes essential when building scalable and resilient web applications

Senior Developers

1. Designing Complex Systems and Architectures: 

Senior developers architect intricate systems, considering scalability, efficiency, and long-term sustainability.

2. Leading Projects and Making Technical Decisions: 

They take the lead on projects, making vital choices regarding technology selections, design methodologies, and overall system structures.

3. Mentoring Junior Developers: 

Senior developers play a pivotal role in the growth of junior developers by providing mentorship, fostering skill development, and sharing industry insights. This includes imparting knowledge about security practices to nurture a security-conscious culture.

Problem-Solving and Decision-Making

Junior Developers

1. Following Established Patterns and Best Practices: 

Junior developers use established coding patterns and industry best practices to solve problems. For instance, they might implement a common authentication method for a web application.

2. Consulting Seniors for Critical Decisions:

When facing complex or pivotal challenges, junior developers seek guidance from senior team members. This could involve deciding on the most suitable database structure for a project.

Senior Developers

1. Creating Innovative Solutions: 

Senior developers leverage their experience to devise novel solutions that address intricate problems. They might develop a unique algorithm to improve a system’s efficiency.

2. Weighing Trade-offs and Making Autonomous Decisions: 

With an understanding of the broader project context, senior developers make autonomous decisions, considering trade-offs like performance vs. scalability.

Communication and Collaboration

Junior Developers

1. Learning to Communicate Technical Ideas Effectively: 

Junior developers practice conveying technical concepts clearly within their team, striving to articulate their ideas comprehensively.

2. Collaborating Within Smaller Teams: 

They primarily collaborate within their immediate development team, working on specific project components.

Senior Developers

1. Communicating Complex Concepts to Non-Technical Stakeholders: 

Senior developers excel at bridging the gap between technical and non-technical parties. They might explain the benefits of a new feature to business stakeholders.

2. Collaborating Across Departments and Teams: 

Senior developers engage in cross-functional collaboration, aligning technical decisions with the strategic goals of various departments.

Conclusion 

In software development, distinguishing between junior and senior developers is crucial. Junior developers embark on a journey of learning and foundational skill-building, while senior developers bring extensive experience to the table, leading projects and mentoring others. 

Aspiring developers can draw inspiration from these distinctions to shape their career paths. Remember, growth is a continuum. Today’s junior can become tomorrow’s senior through dedication, continuous learning, and hands-on experience. Embrace each stage’s unique roles and contribute to the vibrant tapestry of innovation that drives the tech landscape forward.

Categories
Salaries Tips

How well-paid do developers feel?

Studying wages and compensation can offer insights into the supply and demand of various skill sets in an employment market. Despite recent layoffs across many technology companies, our data indicate that the number of professional developers across the globe continues to rise. A driving factor in the persistent growth of developers worldwide is that modern enterprises recognise the fact that, as technology becomes increasingly intertwined with society, all companies are or will ultimately become technology companies. 

This means that grocery store chains, online commerce platforms, and car manufacturers alike must all compete against one another to attract developers. Compensation is one of the principal means used to vie for said talent. Understanding the compensation landscape for developers can help companies make informed decisions about salary, bonuses, equity, and other benefits they offer to attract and retain skilled developers. Likewise, studying compensation can aid developers in making decisions about their own careers, including negotiating salaries and benefits. 

In this chapter, we present findings from SlashData’s latest Developer Nation survey – the 24th edition – exploring developers’ compensation patterns. We look at differences across regions and note how developers and companies alike, when negotiating compensation, need to take into account differences in costs of living and expenses. Further, we will examine developers’ self-perceptions regarding their salaries and what factors are associated with believing that they are under or overpaid. 

The compensation landscape for professional developers varies greatly across the globe. In our latest survey, we collected information from developers living in more than 160 countries across the globe. As expected, the distribution of reported annual compensation reflects the diversity of respondents and the myriad of personal situations. 

According to our data, 9% of professional developers earn less than $1,000 per year in total compensation – including base salary, bonuses, stock options, and other perks. This group encapsulates many of the developers working part-time, starting off their careers in internships, or working on commission. As expected, reported annual compensation is significantly correlated with overall experience in software development. Hence, as developers gain experience, they are able to command higher compensation. When we control for the differences across the globe, we find that, on average, for every year of experience a developer gains in software development, they earn nearly $4,000 more each year. 

On the upper end of the spectrum, we find that roughly 6% of professional developers earn more than $200,000 per year. According to the World Inequality Database, in almost every country in the world, workers earning above $200K a year belong to the top 1% of earners in that country. This is one indicator that developers’ average compensation is higher than in other sectors of the economy. Below, we break down the average compensation by region to offer a bit more context to the earnings of developers.

Regional differences

North American professional developers report the highest average annual compensation – more than $100,000. The median compensation in the region, however, is closer to $75,000. Meanwhile, on the opposite end of the spectrum, developers working in South Asia report the lowest average compensation of just under $27,000 and the median compensation is around $5,500 per year. As is frequently the case with compensation, those with higher earnings greatly inflate the average, as is evident when we compare the median vs the average annual compensation. 

Anyone who has travelled outside their hometown recognises that the costs of goods and services can vary depending on where you are in the world. Compensation very often reflects these differences in the cost of living. Should developers and companies wish to compare compensation between two locales, considering these differences is crucial. 

As an example, we examine two countries with large developer populations: the United States of America and the People’s Republic of China. The median compensation of developers in the USA is around $75,000 per year. This is five times greater than the median developer compensation in China of $15,000 per year. However, when we account for differences in costs of living using the purchasing power parity index, we see that the average developer in China earning $15,000 per year can afford similar goods and services as a developer in the USA earning $25,000 a year. In practical terms, this means that developers in the USA still generally enjoy a higher wage compared to Chinese developers, but by a lesser margin (3 times more vs 5 times more) than is apparent when we directly compare compensation. 

Perceptions surrounding compensation

On top of asking developers about their current annual compensation, we also asked them about the compensation they think would be fair for their role. Just over half (51%) believe that the compensation they currently receive is fair for their role. Meanwhile, 39% believe they are underpaid, whereas 11% of developers report that their current compensation was more than what they believe is fair for their role. 

To better understand what factors are associated with developers believing they are over or underpaid, we modelled developers’ sentiments about the compensation in their current role. We find that men are significantly more likely to report feeling underpaid in their current role. More specifically, 16% of men report feeling underpaid compared to 11% of women and 14% of developers who identified as non-binary. Conversely, 7% of women feel overpaid compared to 4% of men and 1% of non-binary individuals.

We additionally see that developers with more experience and those working for larger companies are more likely to report feeling underpaid. For each additional year that a developer gains in experience, we estimate that there is approximately a 7% increase in the odds that the developer will report feeling underpaid compared to fairly compensated. This suggests that companies do not financially value experience to the same degree as developers do amongst themselves. 

However, more experience and working for a larger company are both correlated with being compensated higher. This could indicate that more experienced developers working at larger companies have responsibilities that they feel are not commensurate with their compensation. On the other hand, sentiments of being underpaid could also stem from a perception based on a lack of information, being influenced by larger companies’ generally greater profit margins, or unrealistic thinking from the developer. 

Finally, if a developer has an undergraduate degree in software engineering, they are more likely to report feeling underpaid. The odds of a developer with an undergraduate degree in software engineering feeling underpaid vs paid fairly, are 9% greater when compared to all other developers. This effect disappears, however, once developers have a postgraduate degree; as having a postgraduate degree increases the odds of feeling overpaid by 50% compared to not having a postgraduate degree.

This could indicate that companies place a lesser value on undergraduate education than developers perceive they will; possibly leading to the sentiment of feeling underpaid by those who do not yet hold advanced degrees. Other external factors, such as geographical location, also affect how a developer perceives their compensation, likely due to cost of living differences, as discussed in the previous section. 

Compensation is often considered a difficult topic to discuss and research due to the taboo nature of discussing money in many companies and cultures. Our aim with this chapter is to open up the conversation surrounding developer compensation with our analysis.

Do you like data such as the above?

If you’re a professional or hobbyist developer into Web, Mobile, Desktop, Cloud, Industrial IoT, Consumer Electronics, Embedded Software, AR & VR, Apps/extensions for 3rd-party ecosystems, Games, Machine Learning & AI, and Data science, we would like to hear your voice.

Categories
Analysis

Are Low/No-Code tools living up to their disruptive promise?

You may be wondering why software development is a slow and expensive exercise. Its complexity and the need for technical resources may be hard to find or very expensive to hire. Due to this, low/no-code tools have become increasingly popular among developers today. In this article, we explore low/no-code development, the advantages/disadvantages, and try to understand if it is disrupting the software industry today with data-driven facts.

What is low/no-code tools software?

Low/no-code tools are visual software development platforms. Unlike traditional software development, which involves programmers writing lines of code, the low-code/no-code platforms encapsulate all this behind the tool.

As per the State of the Developer Nation 22nd Edition – Q1 2022 report,  46% of professional developers use low/no-code tools for some portion of their development work.

The difference between Low-code and No-code development platforms

Before we proceed further, hope you know the difference between low-code and no-code software.

Low-code platforms require technical knowledge and it helps the developers to code faster. The main benefit is that these platforms have powerful tools that speed up technical software development activities and are built for coders. 

No-code platforms are built for standard business users. There are no options for manually editing code and rather focus on the user experience aspect in creating functionality and abstracting the technical details away from the user. 

Despite some level of automation in low-code platforms, coding is still core to the development process. Openness is a key difference between low-code platforms and no-code ones. As a developer, you can modify existing code or add new ones to change the application. The ability to add code provides flexibility with more use cases and customization possibilities. However, it limits backward compatibility.

Any new version changes to the low-code platform may affect custom code developed and may need a proper review before an upgrade. That means whenever there is a launch of a new version of the low-code platform, customers will need to test if their customized code functionality works well after the upgrade. 

In the case of no-code versions, customers do not have to worry about any functionality or breaking changes due to the platform being a closed system.

Low-code platforms offer easy integration capabilities. Unlike No-code which can lead to users creating programs without proper scrutiny with risks like security concerns, integration, and regulatory challenges besides increasing technical debt.

How do you use low/no-code tools and software?

As a user, you visually select and connect reusable components representing the steps in a process. You then link them to create the desired workflow. The code is very much present behind the steps, which drives the functionality.

Low-code/no-code tools enable non-technical staff at workplaces or anyone to develop business workflow applications. Moreover, low-code/no-code platforms allow easy integration with other business applications. For example, a sales staff could use a low-code/no-code application to develop qualified leads or opportunities into a database. They could then set triggers to send out targeted communications based on the occurrence of specified events.

Advantages and disadvantages of low code/no-code software.

Low-code/no-code platforms have both advantages and disadvantages. Here are some of them.

Lower costs & faster development: Time is money, and you can reduce your costs when you create more applications faster that automate and help improve productivity. You save costs on recruiting additional developers as applications that took a few months can be completed in a few days leading to faster availability of business applications.

Integration feasibility & challenges: Today’s application programming interfaces, or APIs, enable a high level of integration between applications. Integration works seamlessly in many cases. However, when we look at scalability and speed, custom integration is preferred for critical enterprise business applications.

Creating APIs is not easy and requires a better understanding of the IT landscape and related applications. Hence creating significant and sizeable applications will require experienced developers rather than non-technical hands-on low code/no-code software.

Time to market gains: As low code/no-code software replaces conventional hard coding with drag and drop functionality, reusable components, ready-to-use templates, and minimal coding, organizations can deliver applications faster to the market. It, therefore, helps organizations gain a competitive edge and improve productivity.

Performance: The standard view on low code/no-code software is that it focuses on saving time and is effective and successful. However, low code/no-code software platforms are not designed for performance and limit the number of functions one can implement. Moreover, adding new features to an application built using low code/no-code software can get challenging.

Privacy and Security Issues: With low-code/no-code software, there are limitations to configuring data protection and privacy aspects. You do not have access to all the source code, making it challenging to detect any security gaps.

The future of software development

Low-code/no-code software platforms offer many advantages in creating business applications faster. There are some disadvantages to its limitations in coding functions and features. What is the ground situation today with low-code/no-code software platforms?

The State of the Developer Nation 22nd Edition – Q1 2022 report has some interesting insights on the actual usage of low-code/no-code software platforms. Here are some findings:

Who is using low-code/no-code tools?

  • 46% of professional developers use low-code/no-code (LCNC) tools for some portion of their development work.
  • Experienced developers, particularly those with more than ten years of experience, are the least likely to use LCNC tools.
  • Most developers that use LCNC tools do so for less than a quarter of their development work.
  • The Greater China area has the highest LCNC tool adoption rate. 69% of developers in this region report using LCNC tools, compared to the global average of 46%.
  • 19% of developers in North America use LCNC products for more than half of their coding work – almost twice the global average of 10%. This provides strong evidence that these tools can supplant traditional development approaches

Wrapping up

Low-code/No-code tools have great potential and disrupt the traditional software industry but at a slower rate. State of the Developer Nation 22nd Edition – Q1 2022 report shows us fascinating insights.

Experienced developers with ten or more years of experience are less likely to use low-code/no-code tools. It could probably be due to the flexibility that coding offers the experienced developers and their comfort with it. It may also have an angle related to the job security of software developers and the risks of automated LCNC tools taking away significant parts of programming activity. Experienced developers work on complex tasks and the low-code tools are more suited for simple programming tasks, which the experienced hands may find easy to do.

On the other hand, North American developers seem to be progressive in using LCNC products for half of their coding (twice the global average of 10%), showing massive potential for LCNC tools to supplement software development activities. A lot of initiative in using LCNC tools also rests with the software organizations leading initiatives and implementing these solutions. Younger developers may find it easier to automate some parts of coding using LCNC tools and speed up their development activities. 

The adapted LCNC approach each programmer takes to code and develop a feature can come from their learning experience. A younger developer may prefer to use LCNC for about 25% of their development work as they are familiar with using the tools and it is a way of working. An experienced developer may shun the tools as he has always been building applications from scratch by coding and no LCNC tools. 

As technology advances, and pressure to have business solutions quicker build up, organizations will need to use the latest LCNC tools. Developing robust functional and secure software solutions faster to get competitive gains will be a mandate amid the rapid pace of digital transformation. Today LCNC tools are progressing successfully in that direction and programmers irrespective of their experience need to adapt LCNC tools where an opportunity to improve productivity exists.

Categories
Analysis

How Developers Generate Revenues

How businesses and developers as individuals make money from software projects is one of the most important decisions they have to make. Of all the business models and strategies available, companies and freelancers need to pick the ones that best match their market and goals. This post focuses on the popularity of revenue models among professional developers and the companies they work for.

Of all the revenue models we track in our surveys, contracted development / consulting is the most popular model. As of Q1 2022, 31% of professional developers are using this model, 7 percentage points more than the next closest revenue model – selling apps or software. Contracted development can span months or even years, allowing for developers and companies to properly plan out resources during the project. In addition, professional developers and their companies may find the clients they contract for require additional services, thus leading to additional revenue. Contracted development is tried-and-true as it’s been the most popular revenue model for the past five surveys.

Selling apps/software through an app store or their own portal is the second most popular revenue model, with almost a quarter (24%) of professional developers making money in this way. Furthermore, adoption of this model has been stable over two and a half years, despite “Epic” lawsuits against Apple and Google in 2021, which argued that these app stores had excessive fees and restrictive payment collection processes. App stores and portals are popular now, but other technologies, such as progressive web apps (PWAs), could start to impact the popularity of app stores. PWAs can work across multiple platforms, provide a native experience, and can help developers avoid high commission fees from app stores; all of which are big incentives to embrace the power of the web.

Do you wanna get more insights and contribute to our effort to shape the Developer Ecosystem?  Share your views on new technologies, tools or platforms for 2023, get a virtual goody bag and enter amazing prize draws! Start here

7% of professional developers are generating revenue from selling data

Interestingly, less than a tenth (7%) of professional developers are generating revenue by selling data. Data has often been referred to as the new gold and data breaches are heavily covered in news articles as well. If data is so valuable, why are so few professional developers using this model? Regulatory measures, such as the EU’s General Data Protection Regulation (GDPR), could be hampering developers’ ability to sell user data based on the “right to be informed” principle. The California Consumer Privacy Act (CCPA) also has multiple restrictions for selling user data including an earnings cap based on a company’s total revenue. These are just a couple of examples of why selling data is difficult, which impacts its popularity as a revenue model.

Next, we will look at how the industries that developers are active in influence their revenue models. Contracted development is the most popular revenue model across all sectors, further emphasising the effectiveness of this model.

Developers active in the software products and services, data analytics, and financial services verticals tend to have the same revenue strategies. Professional developers in all three of these sectors have the same top-three revenue model choices. In addition to contracted development, app stores and selling services/APIs are the more popular methods for generating revenue in these sectors.

In-app purchases break into the top three among developers in the entertainment and media sector. 28% of professional developers in this vertical are using this method, double the percentage of the general developer population. In-app purchases are strongly associated with the freemium strategy where users are able to use/download applications for free with some features restricted to micro-purchases. This strategy has become quite popular in game development for building a base of users and incrementally generating revenue, as long as the quality of production is high. 

Contracted development is the revenue model of choice across all industry verticals

For professional developers working for companies in the marketing and advertising sectors, the advertising revenue model rises to second place, but it’s unable to unseat contracted development as the most used model. Looking across industries, there’s an apparent lack of usage of advertising as a revenue model among most other developers. On average, advertising is ranked eighth among professional developers outside of the marketing and advertising industry, being used about three times less often. Again, privacy protection may be hindering developers’ ability to use this revenue model effectively.

Finally, we evaluate revenue model usage among developers in different-sized companies. Again, contracted development remains the most popular model across every size of company. This strategy is the status quo for developers, and, with such popularity, it’s presumed to be the expectation by customers seeking professional development.

Developers working for micro-businesses are the most likely to report that they generate revenue from contracted development, with over a third (36%) of developers who work in them using this model. Professional developers in micro- businesses are also using multiple revenue models slightly more often than other developers. This indicates that companies of this size are trying to maximise their earning potential while relying heavily on the industry standard of contracted development. That being said, contracts don’t sell themselves, and micro-businesses have only 2-20 employees, so developers in these companies will likely be a close part of sales conversations.

Usage of the advertising revenue model declines as companies grow in size

Developers at large enterprises have a slightly different profile, as they tend to use the contracted development model less often than developers in other company sizes. We also see less use of the multiple revenue model, indicating that companies of this size have a more focused strategy for generating revenue.

Categories
Analysis Business

The Power of Innovation: Developers at the Forefront of Emerging Technologies

Over the last couple of years the tech industry has experienced several waves of disruptive innovation with the introduction of self-driving cars or Metaverse. While these high-profile technologies steal the headlines, the hidden gems like AI-assisted programming hold the power to reshape the world. 

In the 22nd edition of our Developer Nation Survey, we have shared some valuable insights on how the landscape of emerging technologies is being shaped by one of the key players – developers. Read on and uncover some interesting truths about what the future of emerging technologies might look like!

  1. The adoption of AI-assisted software development is the third-highest of any other emerging technology

It’s immediately apparent that AI-assisted software development captures developers’ interest – the possible impacts on working practices, careers, and remuneration are especially salient to 67% of developers. This interest is not purely hypothetical or academic – 14% of engaged developers are actively working on AI-assisted software development, and adoption of this technology is the third-highest of any emerging technology. We can’t say for sure if developers are building or simply using these technologies, though, given their complexity and novel status, it’s likely that many of these adopters are using AI-assisted development as part of their workflow rather than actively developing the technology itself. 

We are already seeing the effects of low- and no-code tools on the democratisation of software development, and with 46% of developers reporting that they use such tools, they pervade beyond the citizen developer well into the professional realm. AI-assisted development is a logical addition for many developers looking to increase their development velocity, and indeed, we see that developers who do 75% or more of their development work using low- or no-code tools (20%) are four times as likely as those who don’t use them at all (4%) to be currently working on AI-assisted software development.

  1. Computer vision, robotics, and blockchain technologies command high levels of engagement though NFTs seems to be losing popularity

Further down the list, stalwarts such as computer vision, robotics, and blockchain (cryptocurrencies and other applications) command high levels of engagement amongst developers, though NFTs – another crypto-adjacent technology – has much lower engagement, with just 48% of developers working on, interested in, or learning about it. This said, the money-making potential of NFTs has not gone unnoticed by developers – 11% of those engaged report that they are currently working on the technology, making this a potentially profitable niche for those who do get involved. In fact, all three crypto-adjacent technologies have high adoption and learning rates – for each, at least 30% of engaged developers are actively learning about the technologies.

Blockchain technologies, including cryptocurrencies, have experienced the largest increase in engagement in the last 12 months, with interest in crypto currencies increasing by 14% and interest in non-crypto blockchain applications increasing by 15%, but adoption of this technology has stagnated, increasing by a single percentage point in the last 12 months

  1. The growth in adoption rates has stagnated but developers are expanding their interest horizons 

Interestingly, we see that, compared to the previous year, growth in adoption rates has stagnated across the board. Part of this is due to the changing landscape of emerging technologies that we track, but careful examination of the change in engagement rates shows that many more developers are becoming engaged with a wider range of emerging technologies. In fact, the absolute adoption rates (the proportion of all developers working on a technology) have remained largely unchanged in the past year – developers have widened their interests but this has not yet trickled down to their working practices. 

  1. Metaverse is experiencing one of the highest learning rates outside the blockchain/crypto space

The Metaverse is another technology that has recently garnered a lot of interest, bounding into the public eye in October – likely coinciding with Facebook’s name change to Meta. We see that a healthy 53% of developers are engaged with this technology, but adoption is low, at 9% of engaged developers. This is likely because the Metaverse is still being defined.

Becoming a ‘Metaverse developer’ is a perplexing journey as it combines several contributing hardware and software technologies – extended reality (XR), networking, graphics, optics, machine learning, and blockchain, to name a few – many of which have yet to reach maturity, lots of developers will be waiting to see what the future holds. Indeed, 28% of engaged developers say that they are currently learning about the Metaverse, one of the highest learning rates outside the crypto/blockchain space. Many of these developers are likely positioning themselves to make the most of a possibly lucrative new technology. 

Categories
Analysis Community

Spotlight on Developers in China & the Rest of East Asia

What are some of the key differences between developers in East Asia, including the Greater China region, and the rest of the world? In the 22nd edition of our Developer Nation Survey we collected insights from developers and software engineers in East Asia to try to answer this exact question. Here is what we found!

“A fifth of the global developer population is located in either the Greater China region or the rest of East Asia”

We split the Greater China area from the rest of East Asia to provide more regional granularity. In terms of relative size, we find that almost a fifth (18%) of the global developer population is located in either the Greater China region (9%) or the rest of East Asia (9%). Breaking down East Asia into countries, we see that more than half of the developers here are spread across two countries: Indonesia (32%) and Japan (21%). When comparing developers across regions, we can see that just over a third (34%) of developers in the Greater China region have six or more years of experience, which is notably less than developers globally (43%). Furthermore, the Greater China region has a much smaller concentration (4% vs 22% globally) of highly-experienced developers (16+ years). With generally lower levels of experience in the Greater China area, aspiring developers may find starting a career here less competitive than developers in regions with higher levels of experience.

“East Asian developers outside China have similar levels of experience to the rest of the global developer population”

Both groups have a little more than a third (34%) of their developers with 11+ years of software development experience. However, East Asia’s data are largely propped up by Japan. The developer community in Japan tends to be highly experienced, with almost six in ten developers (59%) having 16+ years of experience. No other country has a higher concentration of developers with this level of experience. 

Developers in the region are mostly either self-taught or have an undergraduate degree in computing

The journey to coding mastery lacks a clearly defined path. Developers typically state they’ve used more than two learning methods on average to learn how to code. In general, the self-taught method is the most popular among developers globally, with more than 60% using this method. However, our data shows that the proportion of self-taught developers fluctuates significantly across regions.

In the Greater China area, the most popular method for developers to learn how to code is via an undergraduate degree in computing, with 50% having used this method. This is significantly higher than developers in other regions (41% -42%). We generally see a higher concentration of professional developers in Greater China (83%) than we do in the rest of the world (70%). It could be that the job market in Greater China more often requires a degree in computing or engineering, which would also explain why self-teaching is used less often in this region.

Developers in the rest of East Asia, however, tend to follow the learning trends of developers in other regions. Here, we see the self-taught method is the most popular method (61%), followed by an undergraduate degree in software engineering (41%). Analysing the data at a country level, we see developers in Indonesia are more diverse learners. Developers in this country stated that they used three methods on average when learning to code. Indonesian developers are more likely to learn via self-teaching, online courses, and developer boot camps than any other developers in East Asia. This is quite different from their peers in Japan who are the least likely to use online courses and bootcamps to learn how to code. Instead, developers in Japan are most likely to use the self-taught (63%) and on-the-job training (45%) methods when learning to code.

“Less Stack Overflow, more Segmentfault.com and Teratail.com

Next, we explore how developers interact with the popular online community, Stack Overflow, to understand their engagement levels with programming support. Stack Overflow has become a standard support community for many developers, with more than eight in ten (85%) of the general developer population reporting they’ve used or visited this popular question and answer site.

Our focus on developers in East Asia and the Greater China area shows Stack Overflow’s popularity falls below the global average. Developers in these regions are around three times less likely to visit Stack Overflow than developers in other regions. Developers in the Greater China area are the least engaged, with only 19% having an account, and only 11% having earned at least one badge. Developers in this region have other home-grown Q&A site alternatives, such as segmentfault.com, which could be contributing to the lower adoption of Stack Overflow.
Developers in Japan are skewing the perception of this region. Developers in Japan have even less activity on Stack Overflow than developers in the Greater China area. Here, only a little more than a third (36%) stated they use Stack Overflow. Furthermore, only about 5% have an account. Like developers in the Greater China area, our data does show usage of Stack Overflow increases among Japanese developers who have gained experience in software development, indicating that less experienced developers are using other platforms for support. Like China, Japan has other home-grown options like teratail.com where developers can field programming support from their peers, which may be the place new Japanese programmers visit more often to get answers to their questions.

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
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
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.