Market Researcher at Steelkiwi Inc.
If you’ve decided to adopt Python for your software development, it’s crucial to know whether Python has a good chance to remain important to the industry in the years ahead.
Maybe, you have questions about: Which programming languages are most in demand? Is Python demand in market growing? And does Python have a bright future? To answer all of this, we’ve analyzed data from credible surveys, statistics, and insights such as GitHub, Stack Overflow, Statista, TIOBE, PYPL, and JetBrains.
One of the ways of looking at Python market demand is the list of the top programming languages in 2019 to compare Python to other programming languages.
As for the number of software engineers, third-party vendors, and courses, Python is the third on the list as of August 2019. But has it always been like that? In the graph below, TIOBE analyzes how the positions of the top languages have changed since 2002. Java and C have for a long time been at the top of the TIOBE index, while Python has recently seen immense growth. Since 2007, Python has three times seen the biggest rise in TIOBE index throughout the year. TIOBE experts say that if Python is as fast-growing as it has been lately, it will replace Java and C within the next three or four years.
In the PYPL Index, which analyzes the number of tutorials searched on Google, Python tutorials are the most actively searched for, holding a 28.73% market share. Over the past five years, Python has seen the largest amount of growth, while Java has lost a 6.9% share.
Speaking about fractions of pushes, pull requests, issues, and stars on GitHub, Python is number two among most contributed languages based on the second quarter of 2019. Python ratings increased by almost 1.5% compared to the previous year. What’s more, Python took the third spot in the 2018 most contributed languages across private, open-source, and public GitHub repositories, according to Octoverse.
Community is a good indicator of whether the language is growing. Additionally, communities upgrade functionally, update documentation, troubleshoot problems, share expertise, and help one another.
In 2018, there were seven million Python developers worldwide, as SlashData states. According to Python Developers Survey 2018, 21% of Pythonistas live in the US. Among other popular countries are India, United Kingdom, Germany, China, and France.
Below is an infographic showing the Python developer profile. It’ll help you get a bigger picture of Python community.
Though Java still tops the ranking, Python has seen the biggest increase in jobs. We’ve also noticed that the demand for Python developers is high not only among ordinary enterprises but also among Silicon Valley. As of September 2019, there were 7,228 Python jobs in Silicon Valley.
Also, Python is popular among big companies like Amazon.com (4522 Python jobs), Deloitte (1063), Apple (871), Accenture (620), Google (615), Raytheon (540), Microsoft (503), Northrop Grumman (458), Lockheed Martin (450), Bank of America (405), Capital One (379), J.P. Morgan Chase (371), Verizon (344), Facebook (340), and Tesla (84).
Source: public domain
Who doesn’t know Apple, a tech giant? As of September 2019, they had 871 Python jobs. Look at one of their job postings:
According to the Python Developer Survey 2018, the five most common Python use cases include:
- Data analysis
- Web development
- DevOps, system administration, writing automation scripts
- Machine learning
- Web parsers, scrapers, crawlers
As 2018 Octoverse report indicates, Python is the most popular language for machine learning. Python libraries and frameworks are among the most popular tools for data science. PyTorch and TensorFlow are good examples here. PyTorch is among the fast-growing GitHub projects and TensorFlow is the most contributed project. Actually, scientific libraries and frameworks are one of the reasons why data scientists and machine learning engineers opt for Python. Below is the table of common use cases and solutions that are most suitable for them.
Software engineers opt for Python for data science and machine learning because this language is flexible, simple, and stable. Also, developers can always rely on communities any time they have difficulty coding. And there are many of those.
In 2018, IEEE Spectrum states that Python was the number one choice website development. Indeed, Python is one of the most widely used languages. There are lots of reasons for this:
Flexibility and scalability: With Python, you can build an app that scales. Big companies that handle high traffic such as Instagram, Google, Netflix, and Reddit prove that.
Security: There are built-in tools that allows you to build a well-secure app from the start.
Versatility: Python can be used for any operations or software development scenario. It can also be used for all sorts of projects from MVPs to e-commerce platforms to mHealth apps.
Robustness: Python has everything you need to build a full-featured application. There’s the Python standard library that offers standardized solutions for a wide variety of problems so you don’t need to rewrite widely used commands.
Easy integration: Python plays well with others and can be easily integrated with languages such as Java, Jython, C, and C++.
Additionally, there are many Python web frameworks that are quite popular like Django. Flask, web2py, and CherryPy. In 2019, Django and Flask were even included in the most broadly used web frameworks list.
Real-life projects are another way to check Python demand in market. As of August 2019, there were 188,604 websites built with Python, as BuiltWith shows. It’s worth noting that among those are big names such as Netflix, Google, Instagram, Quora, Dropbox, IBM, Reddit, and Spotify. Now, let’s take a minute to see how exactly some of them use Python.
Spotify ― a world-famous music streaming service ― relies heavily on Python. They use a combination of several languages: Python, Java, C++, and C with Python being the main technology. The primary reason why they opted for Python is speed. Geoff van der Meer ― a former VP of Engineering at Spotify ― said that “speed is a big focus for Spotify. Python fits well into this mindset, as it gets us big wins in speed of development.”
Data analysis. They created Luigi ― a Python package ― to build data processing flows. This package comes with built-in support for Hadoop, a Java framework for data processing. Luigi thus makes interactions with Hadoop easier. Also, they combine Luigi with a couple of machine learning algorithms for the following features:
Backend infrastructure. Spotify backend comprises a number of interrelated services. They connect these backend services by their messaging protocol using ZeroMQ, an asynchronous messaging library. Python powers 80% of these backend services.
What’s more, Spotify plays a big part in Python community. They sponsored different conferences including Euro Python and PyCon. They support local communities such as NYC PyLadies and the Stockholm Python User Group. Also, they’ve contributed to Python by creating 49 open-source projects including spotify-tensorflow, Luigi, Comet, Chartify, and Cartography.
Netflix is one of the biggest examples of Python projects. Python was there when Netflix started and continues to play a big role in developing and improving their app as well as managing their internal processes. They use a combination of the best Python libraries and in-house development.
Observability tools. At Netflix, they believe that understanding users is key to deliver experience tailored to each user. To achieve this, they analyze metrics, logs, and traces.
Detection tools. Since Netflix generate lots of information, it’s critical to comprehend a vast amount of data fast. To turn this data into actionable insights, they visualize it in their dashboards.
Diagnostic tools. Netflix monitors their platform in real-time to find anomalies and evaluates anomalous correlations and contextual events.
Remediation tools. To quickly resolve issues and bring the platform back to a healthy state, they take mitigation measures by way of automated actions and diverse actions (terminating, rebooting, and detaching).
Content delivery network (CDN). To deliver TV shows, movies and documentaries to each Netflix user, they built Open Connect, a CDN.
Demand engineering tools for traffic distribution, capacity operation, regional failovers, and fleet efficiency of their cloud.
Machine learning with Python has a special place at Netflix. They apply different algorithms to improve customer experience and deliver stuff tailored to each and every member. For example, Netflix does their best to understand exactly what they feel like watching and recommends movies with the help of recommendation algorithms. Also, they use artwork personalization algorithms to find out which artwork best relates to each user. Here’s an example. To automate their marketing campaign, they developed marketing algorithms.
But that’s not all. Netflix contributes to Python by making open-source projects. The most popular are Security monkey, Bless, Aardvark, Repokid, and Lemur.
Being the second most engaged social networking platform with around 1 billion monthly active users and over 40 million shared photos, it’s difficult to provide efficient app performance.
Python is what provides Instagram with the ability to handle this and the power to scale while retaining great performance. In one of their technical blog posts, the Instagram team says that “we initially chose to use Python because of its reputation for simplicity and practicality, which aligns well with our philosophy of “do the simple thing first.”
To answer the question “How big is the demand for Python in 2019?”, we’ll say ― huge. Statistics, community, job postings, use cases, and leading companies using Python illustrate this.
For example, because Python is used for new industries such as artificial intelligence, machine learning, data science, and natural language processing, Python won’t disappear in the near future.
The community and the number of Python applications are growing. Plus, Python is frequently requested in job postings. All this means that Python is an in-demand programming language with a bright future.