Author: Karsten Silz
Oct 29, 2021 7 min read

Permalink: https://betterprojectsfaster.com/guide/java-full-stack-index-popularity/

Java Full-Stack Index: Popularity

Summary

  • Picking a popular technology makes our developer life easier: Easier to learn, easier to build, debug & deploy, easier to hire, and easier to convince team mates & bosses.
  • I look at technology popularity as a funnel from interest to learning, to application and finally to skill.
  • Quantity decreases in the funnel - we’re interested in many technologies, but few end up on our resumes.
  • Time increases in the funnel - it takes many months, often years, for technology to move from “interest” to “skill”.
  • We’re interested in the trend of the ratio between competing technologies.
  • We use Google searches to measure interest, Udemy course buyers to measure learning, Stack Overflow questions to measure learning & application, and mentions in Indeed job ads to measure skills.

Why Popularity?

Picking a popular technology makes our developer life easier in four ways:

  1. It’s easier to learn because there are more courses, articles, books, and videos available.
  2. It makes it easier to build, deploy and debug because we have more tools with better support.
  3. It makes it easier to hire developers because more of them know the technology.
  4. It’s easier to convince your team mates and your boss to go for technology X when everybody says “X is winning”.

As Java developers, our goal is to build enterprise applications on PCs and mobile devices - forms, data grids, reports. Many technologies can help us there. So “just” picking the most popular one is indeed a possible option for us!


How To Measure Popularity?

Technology Adoption Funnel

So popularity is a good way to pick technologies. How do we measure popularity though?

I propose to look at technology popularity as a funnel:

Technology popularity funnel
Technology popularity funnel

We move through this funnel from top to bottom:

  • First we are interested in a technology.
  • Then we learn it.
  • Next we apply it in one or more projects.
  • Finally we claim it as a skill and put it on our resume.

Now there’s a reason why I showed this as a funnel: The quantity decreases from the top to the bottom. We are interested in many technologies, but only few end up on our resume. Something also increases from top to bottom: time. From when we’re first look at a technology to when we put it in our resume, many months or even years have passed.

To sum up:

  • We look at technology adoption as a funnel from interest to learning, to application and finally to skill.
  • Quantity decreases in the funnel - we’re interested in many technologies at the top of the funnel, but few end up on our resumes at the bottom of the funnel.
  • Time increases in the funnel - it takes many months, often years, for technology to pass from the top of the funnel to the bottom of it.
Technology popularity funnel with dimensions
Technology popularity funnel with dimensions

Now you may say: “Wait a minute! Funnel, top to bottom, quantity, time - haven’t I heard that before?!”

Yes, you have! It’s called a purchase funnel (or sales funnel or marketing funnel). Here’s one that follows the so-called AIDA model:

AIDA purchase funnel
AIDA purchase funnel

Technology Adoption Funnel Data Sources

So we’ve got a technology adoption funnel with four stages. Great! So how do we know how many developers are in each stage? I propose to use four different, freely available, global data sources to measure that:

Data sources for technology popularity funnel
Data sources for technology popularity funnel
  • Interest: Google search trends tell us how often people search for a technology - and how this interest developed over time.
  • Learn: With 44 million students and more than 183,000 courses (as of June 2021), Udemy is one of the biggest online training suppliers. And they say how many people bought courses for a certain technology!
  • Learn & apply: Developers ask questions at Stack Overflow. And Stack Overflow Trends tells us how many.
  • Skill: We don’t look at resumes, but at who that resume is for: Organizations hiring developers. We query the self-proclaimed #1 job site in the world - Indeed. They are active in 63 countries that represent 92% of the world-wide GDP.

Now you may say: “There’s more ways to learn than just Udemy courses. A lot of people learn on YouTube. Some may even read books! And there’s also more job sites than Indeed!”

That is correct - but those numbers don’t matter to us.

  • We’re not interested in capturing the exact number of how many developers learn Kotlin right now or how many have Spring Boot in their resume. We do care about the ratio between competing technologies - how many learn Kotlin vs. how many learn Scala, or how many have MySQL in their resume vs. how many have MongoDB there.
  • And we don’t care about the ratio between competing technologies right now, but about its trend: It takes years to master a technology, so we want to pick something that’s needed in the future. Extrapolating existing trends a year or two into the future helps us betting on a winning horse.

That’s why the 44 million students at Udemy are a representative sample size for how many developers learn a technology. But how do I know that, say, Scala developers don’t prefer to learn from books (they’d be underrepresented on Udemy), or that Kotlin developers don’t prefer to learn visually (they’d be overrepresented on Udemy)?

I don’t, really. But then nobody does. So I think from all the bad options of measuring popularity out there, the ones I picked are among the least bad. And I’m happy to replace them if you’ve got better options!

To sum up:

  • We’re interested in the trend of the ratio between competing technologies.
  • We use Google searches to measure interest, Udemy course buyers to measure learning, Stack Overflow questions to measure learning & application, and mentions in Indeed job ads to measure skills.

Indeed Job Ad Caveats

The “mentions in Indeed job ads” require its own section. So here we go:

  • The Indeed search is a full-text search in both the header and the body for the technology name, such as “Kotlin”. In most countries, the result must also include at least one of multiple ways to say “developer”. The links are in the Excel file.
  • A job with the title Java Developer could still have Kotlin in the body. Such a job advertisement is counted both as a result for Java and Kotlin.
  • Searching for React also shows results for React Native. I subtracted the number of React Native from the React results.
  • The word “react” often appears in job advertisements. In countries where I didn’t have the translations for the various forms of “developer” (such as China or Russia), I manually adjusted down the number of jobs found down.
  • Flutter Entertainment is the world’s largest online betting company. Although I’m looking for developer positions, this may inflate the number of jobs found for Flutter a bit.
  • Vue has multiple meanings in French and Spanish. So in French speaking countries, like France, Canada, Spain, Luxembourg, and Switzerland, I searched for Vue.js instead. This may deflate the number of jobs found for Vue a bit.
  • Sometimes technologies are misspelled. For instance, “Spring Boot” is written in one word. That’s why I search for both variants.

New technologies, like Google’s cross-platform UI toolkit Flutter, are at a special disadvantage on Indeed. Often, you find the following in job ads there: “Experience with a cross-platform framework like Xamarin or React Native required”. Now Flutter is a cross-platform framework. But if you just have “Flutter” in your resume, you still may not get the job:

  • First of all, most big companies today use Applicant Tracking Systems (ATS). These systems scan your resume automatically for keywords. So if “Flutter” isn’t an approved keyword, you’re out.
  • The next stage is the agency or HR department. They typically have no clue about programming. And how could they? They hire people in all sorts of professions. So if they don’t know about “Flutter”, you’re out again. It’s not all sunshine and roses, you know!
  • Hopefully, the developers at the end of the process do know Flutter.

comments powered by Disqus