Three Jobs Where Python is Vital
by Crista Perlton, on Jan 24, 2022 9:19:00 AM
GitLab reports the second most popular coding language in 2021 is Python, growing from 4th place in 2014.
Several large companies in finance, software, and pharmaceuticals are seeking developers fluent in Python. These aren’t just software developer jobs either. Python is used across multiple industries. Consider your own organization; Python is likely used by the DevOps team for networks, finance for the stats on returns, and even marketing as they analyze their KPIs.
Skill level and language fluency is what separates these groups. Unlike C# or Java, strict standards shouldn’t apply to every Python user at your organization. Different standards for different use cases are ideal in a diverse company with such a resourceful tool.
In this article, we’ll outline some major Python users and detail how far-reaching Python is outside of it’s traditional roles.
The Popularity of Python
Any developer can attest that Python is super versatile. It’s great for data processing, statistical analysis, finance, machine learning, deep learning, network automation, artificial intelligence, and so on.
Most articles online say it’s so popular due to its low barrier of entry. Many say it “comes with batteries” thanks to its comprehensive standard libraries.
Features aside, many are likely learning Python simply because of its popularity. It’s been reported Python is one of the first programming languages taught in secondary schools. It’s one of the ‘easiest’ languages to learn and non-developers can pick it up quickly thanks to the standard libraries available.
Python is constantly evolving, so it’s every cohort has different ways of using it and of course each developer has their own way of writing. We’ve all turned to Stack Overflow, YouTube, or our even friends on Discord to work out a problem. It’s easy for someone’s hack to become our own standard.
Every user comes at Python slightly differently. It’s certainly noticeable across the multiple industries Python is used in.
We’ve noticed three common use-cases for Python in the Enterprise. Job types a Python developer could hold or strive towards with the right training.
Data Analysts and Data Scientists
Data Analysts and Data Scientists curate insights from collected data and predict the future based on past patterns found in the data. This job title is found in multiple fields, such as consumer goods, telecomm, health services, and public universities.
A study of 5,500 Data Scientist jobs found the number-one needed skill was Python, followed by Excel and SQL. The same report found “Python is needed for 82% of the data scientists, 70% of data engineers, and 34% of the data analysts.”
Clearly it’s a required skill for any developer interested in a Data-focused job. Those working in data processing or managing a team of data processors, should watch out for some common pain points like:
- Environmental variations, causing scripts to be unpredictable, increasing time to debug and/or poor results setting back projects and progress.
- Scripts being poorly managed, causing problems during turnover. It also burdens other team members to run/manage a script they didn’t original write/understand.
- Malicious third-party libraries which could have vulnerabilities that steal sensitive intellectual property by sending proprietary data to off-site servers.
Multiple large companies like Instagram, Spotify, and Google use Python for their web application development. Instagram has blogged about their use of Python, saying “Instagram Server is a several-million-line Python monolith, and it moves quickly: hundreds of commits each day, deployed to production every few minutes.”
Developers can write in Python either exclusively or as a secondary language when it comes to their application development. They can build and maintain a variety of software: web applications using frameworks like flask, desktop applications with py2exe, API applications, and microservices.
Those new to Python may rely on Django, a popular web framework that is often praised for it’s out-of-the-box capabilities. A 2020 StackOverflow survey found Django to be the 7th most popular framework just ahead of Flask.
Flask is a great Django alternative for those who like to build everything on their own, common in large companies who keep things proprietary. Flask has even been used by large companies like Pinterest and LinkedIn for their projects.
As organizations turn to Python for application development, the start to see a variety of problems emerge, especially:
- "Pull and pray" deployment is simple and easy, but causes problems for apps running across multiple servers and that people really depend on due
- Open-source license compliance and vulnerability management is getting more important and more complex as the number of packages applications use increase
- Package/dependency management is challenging, especially when making packages of reusable code to share across multiple applications
Network Operations / DevOps
DevOps engineers can also develop in Python, either exclusively or as a secondary language. It's cited for its accessibility and flexibility as some of the top reasons to use it in this field.
Python is well known for its automation capabilities, so any network engineer can turn to Python to help automate or help maintain their scripts and schedule jobs. Shell scripts like Python, PowerShell, or Perl are great for automating those incredibly common, repetitive configuration tasks in Ops development.
Python is also preferred in DevOps engineering thanks to it’s high readability. A common pain point in Network Operations is inconsistent or non-exist logging. When teams lack a logging standard, it can be impossible to understand a script after the author has left the organization.
Another issue Network Operation professionals face is managing the differing skill levels within a team. Python developers are as diverse as Python itself. It’s difficult for managers or even other members of one team to know another’s skills and abilities. Should leaders cater work to lower skilled team members, or rely on high-skilled, high-demand members?
It's possible whoever set up an organization’s Network Operations using Python did so out of personal preference. Once it’s set, it’s not worth the resources to go back, so creating standards everyone can follow will help average the teams skills and set the group up for success down the line.
Python in The Enterprise
Despite using the same language, Python is so versatile you can’t treat a Data Analyst like an Application Developer or a Network Operations Engineer. That same 5,500 Data Scientist Jobs survey found after IT, Python was most used in Biotech & Pharmaceuticals, Business Services, Finance, and Health Care.
Not all Python developers will have a “Python Developer” job title, but their skills and language fluency will help every organization grow.
Sign up for our upcoming Python for the Enterprise book to learn more about how to master Python best practices.