Best Python Careers: New Research Reveals Top Fields
Since Python is a very accessible language, many developers learn it as a first language. If you’re new to programming and Python, you may be working to gain confidence in the language. At the same time, you’re ramping up on basic programming skills. While finding your footing, you may also be wondering if you made the right choice in a first language.
Python features in many fantastic careers, including Data Analyst, Data Scientist, AWS Cloud Consultant / Developer, Data Engineer, DevOps Engineer, Back End/Full Stack Developer, and Test Automation Engineer. It’s not a good choice if you’re looking to do front-end or mobile development.
Introduction
This article discusses top Python careers and some suggested learning paths for each one. If you search your favorite job listings site for Python, you’ll be hard-pressed to find a job description that reads: “Required: core Python only.” You’re going to see a mix of educational requirements and required skills. Python careers vary significantly on several vital measurements. Do they require a degree, or can you be largely self-taught? If they don’t require a degree, what are some recommended approaches: portfolio, certification, or boot camp? Are they suitable for entry-level developers, or is the barrier to entry very high? What should you learn in addition to Python to prepare yourself for such a career? What skills and tools should you know?
We begin with a summary table of some different careers where Python figures prominently. For each one, we try to give an idea of:
How important Python is (as opposed to other languages)
Whether a degree is needed
Possible training paths you might take.
Other languages or tools you should consider learning
The barrier to entry. (Jobs with a low barrier to entry are those you might consider if you are having trouble getting hired “with no experience”.)
In later sections, we elaborate on each career in a bit more depth and give you some background as to why we laid out the table the way we did. We combine more than one value from the table in this discussion, where it makes sense to discuss more than one career simultaneously.
About The Data
The table below contains the results of my original research, especially regarding the “Use of Python” column. The source for this and much of the discussion that follows is based on a snapshot of nationwide job data. In other words, our answer to “What is Python Used For” is based on original research. However, for some of the other columns in the table, the values here are partly based on research, and partly on my experience of over 30 years in the software industry. Especially for the values in the “Degree Needed” or “Barrier to Entry” columns, you should take these as generalizations, not as hard and fast rules.
To give you an idea of my perspective, in my case, Python was not my first language, but that doesn’t mean it isn’t a great first choice. My own background as it fits into this table is primarily using Python as an AWS Consultant, but as a Python blogger and hobbyist, I’ve spent considerable time in other areas of the language, including test frameworks, web tools like Django and Flask, Python microservices, etc. Here’s the important point about job planning, however: everyone’s experience is different. I know folks who landed their first job relatively quickly, but for many of us, it took between two to four years of study and being told “no” before we finally broke through.
A final caveat about search terms is in order. This data is a snapshot not only in time but also for specific search terms. Of necessity I was selective, choosing “AWS” but not Google Cloud or Azure, for example. For the most glaring case where this skewed the results, however, I made a correction when I noticed it (“Back-End Developer” vs “Microservices”).
A Summary of Python Career Options
Search Term or Job Title |
Total Jobs |
Percent Using Python |
Degree needed? |
Possible Training Paths |
Other Languages / Tools to Learn |
Barrier to Entry |
---|---|---|---|---|---|---|
Data Analyst |
15,772 |
31% |
No |
Self-teach, Bootcamp |
Pandas, SQL, Excel, Spark |
Low |
Data Scientist |
10,606 |
79% |
Likely yes |
Graduate degree program, Kaggle competitions |
See Data Analyst, Machine Learning: TensorFlow, Keras, Scikit-Learn, Pytorch |
High |
AWS Cloud (All Roles) |
17,997 |
46% |
No |
Certifications, Portfolio |
Git, CloudFormation, Terraform, |
Medium |
Data Engineer |
15,596 |
72% |
No |
Certifications, Portfolio |
See Cloud Consultant. Also SQL, AWS Step Functions, Airflow, Redshift, various ETL tools. PySpark |
Medium |
DevOps Engineer |
11,034 |
54% |
No |
System Administrator Job, Portfolio |
Linux and/or Windows system administration, networking, Jenkins, Other CI/CD, Shell scripting, Git, Ansible/Chef/Puppet, Terraform |
Low |
Back-End Developer |
974 |
26% |
No |
Portfolio, Bootcamp |
Some JavaScript, Docker, Kubernetes, SQL, NoSQL, Other Backend Languages (C#, Java, etc). Django/Flask/FastAPI |
Medium |
Microservices (All Roles) |
37381 |
36% |
No |
Portfolio, Bootcamp |
See Back-End Developer |
|
Full-Stack Developer |
8,968 |
34% |
No |
Portfolio, Bootcamp |
JavaScript and frameworks e.g. React, SQL. Django/Flask/Etc. |
Medium |
Test Automation |
||||||
(All Roles) |
20,304 |
38% |
No |
Manual tester job, portfolio |
PyTest/unittest, Robot Framework, Request Library, Selenium, Jira, Git |
Low |
Technical Support |
||||||
(All Roles) |
120,925 |
5% |
No |
Experience using a product, portfolio |
Targeted experience with a company’s product |
Low |
The Careers
Data Analyst / Data Scientist
In 2012, The Harvard Business Review called Data Scientist “The Sexiest Job of the 21st Century.” Whether or not you agree with that salacious assessment, I do think that it’s fair to say that Python owes a major thank you to the Data Science and Machine Learning communities for its current popularity. Although R and SAS were long-time favorites of statisticians, Python has made significant inroads into the field thanks to great libraries like Numpy, Pandas, Pytorch, Tensorflow, and many others. Unlike in R and SAS, practitioners enjoy a language that is much more general-purpose.
Of the two, Data Scientist roles generally demand a higher level of education and special training than Data Analysts. However, as we can see from the table, Python is definitely more central to the Data Scientist role, which may involve significantly more work in Pandas and machine learning libraries. Data Analysts may sometimes get by with many other tools including Excel, SQL, and specialty query tools like those for SAP, or Tableau. Many of the Data Analysts I’ve worked with tended to be domain experts in the business where they were employed, and often “came up through the ranks”, as it were. That said, I do know some Data Analysts who were hired after attending a data science boot camp, since the analyst role is more of an entry-level one.
The total number of job listings mentioning Python for Data Analyst and Data Scientist worked out to be 4,894 vs 10,606, respectively. However, if you’re looking to break into the field, Data Analyst may be a better “target role”, since 4,894 is still a healthy number, and after all, at the end of the day, how many jobs do you need?
Generally speaking, in data science and the broader scientific community, Python is very important as a flexible front end to high-performance algorithms written in C, C++, or Fortran. Because of this, if you’re interested in advanced work in this area, you might also consider working in other languages. See our article, Learning C++ and Python for a discussion of one approach to this.
Data Engineer
TL;DR: This is my pick for the best Python entry-level career for 2022. Read on to learn why:
The most surprising result of the study was that the job title with the highest number of jobs mentioning Python in the job listing was this one, Data Engineer, with 11,252 Python jobs on offer. I had expected Python to be well represented for this role as a percentage of total job listings – that turned out to be true. Here again, it came in second, at 72%, just behind 79% for Data Scientists. So the percentage wasn’t a surprise, it was the total number of jobs on offer that was.
Some 55% of these jobs mention AWS, where Python is extremely well represented due to its suitability for AWS Lambda functions. Other Python technologies that are well represented include PySpark (13% of the jobs) and Apache Airflow (17% of the jobs). Collectively, all these tools are used to clean and massage data in preparation for serving it in a Data Warehouse or the like. Actually, come to think of it, given the heuristic that 80% of data analysis is data cleaning and preparation, perhaps the number of jobs for Data Engineers is not so surprising after all.
In my opinion, if you’re new to the industry and need to target a specific entry-level Python career role, this would be an absolutely outstanding choice. This not only has the highest number of total jobs for a single job role, but I think it’s a field that many practitioners have overlooked. So for getting your foot in the door, so to speak, this has the right combination ratio of the number of opportunities to the amount of competition.
AWS Cloud (Various Titles)
I know from first-hand experience that Python is well represented on AWS, and the data confirms it. One caveat about the total number of jobs here is that there is likely significant overlap between this category and other the other categories in the list, simply because the other categories are functional titles, whereas here we’ve picked a popular vendor. For example, I’ve already mentioned the overlap of AWS with the Data Engineer role. There’s also considerable overlap with DevOps Engineer, too, where AWS is even more strongly correlated than Python. 54% of DevOps Engineer roles mention Python, while for AWS, that number jumps to 68%.
Still, I thought this approach would offer some insights that paying too-close attention to roles alone might miss. Also, I chose this approach because I have firsthand experience in it, inasmuch as my current “day job” role is Senior (AWS) Cloud Consultant. In my work, I know that Python is the language of choice for AWS Lambda functions in most shops.
The other great thing about AWS is that the availability of relatively low-cost industry certifications may give newcomers to the tech world an edge over other junior candidates, especially if they know their way around Python already.
Web Developer: Front End Developer, Full Stack Developer, Microservices (All Roles)
In the field of Web Development, I found that most of the jobs listed were either for “Web Developer” or “Full-Stack Developer”. There was also a pretty strong showing for “Front-End Developer”, but I didn’t run the numbers for Python there since – let’s face it – front-end development belongs to JavaScript, CSS, and HTML.
I was a bit surprised that there were so few Back-End Developer jobs since for a long time that’s what I considered myself to be, if only in self-defense against JavaScript, CSS, and HTML. This turned out to be an artifact of what I was searching for. It turns out that nowadays, few folks want a “Back-End Developer”, lest we be confused with dinosaurs writing monolithic applications (oh the humanity)! No sir, not us, we’re developing microservices. So there you go, be careful of that one. Even if you don’t code a line of Python, if you read this far you got a free resume tip. You’re welcome.
Among Full Stack Developers and “Microservices” (Developers, Engineers, etc.) the correlation with Python is much lower at 34% and 36% than it is for Data Engineer or Data Scientist, for example. Seen another way, however, this share is not bad considering how much competition there is on the back end: Node.js, Java Spring and Spring Boot, .NET, PHP, Rails, etc. Moreover, though “Microservices” is not really a title, so this may be an artifact of search, the total number of jobs mentioning both this and Python was higher even than for Data Engineer, at 13,325 vs 11,252.
Test Automation (All Roles)
Test Automation is another general category where many Python jobs are available, with 7,700 jobs mentioning Python of 20,304 jobs in total. The absolute numbers are a bit tricky to pin down in this case, as this term might reasonably appear on some developer roles as a requirement or “nice to have”.
However, I do know from experience in the case of jobs for which this is the primary responsibility, this is an excellent entry-level target for folks looking to break into a technical role. One of the best developers I know began his career in Quality Assurance (QA), and among QA Engineers, Test Automation positions are difficult to fill. The reason for this is not hard to find. QA Engineers are often adept at inventing and running manual test cases, and on your team, they’re likely to be the folks with the most general product knowledge. However, this does not mean that they’re attracted to development as a role, and automating a test in a non-brittle way is likely to take them considerably more time than running it by hand.
This means that of all QA engineers, few may be attracted to Test Automation as a career. Once in this career, however, Test Automation Engineers are often keenly aware that the software development skills they possess in this role can lead them to careers with higher prestige and salaries as Software Engineer. (By the way, I’m not arguing that that’s the way it should be, I’m just trying to describe things as they are).
With those forces making qualified individuals for the profession scarce, test automation is an excellent target for an entry-level Python role. Moreover, test automation is also a great skill to have when applying for developer roles, too! So many junior developers ignore testing but showing that you’ve taken care to unit test your code shows you’re serious about the profession.
Technical Support (All Roles)
In the field of technical support, the fact that Python appears in only a small number of cases should come as no surprise. As a career, technical support can run the gamut of everything from helping folks with a new phone, to call center support for a washing machine, to helping developers use software tools. If you don’t yet have a career in programming, including technical support on this list might make no sense at all.
In early 1993, I would have agreed with you. I had been working on learning C and C++ for two and a half years or so at that point, and more than anything I wanted to get a job as a software engineer. Technical support was the furthest thing from my mind. One day, however, an old friend from school and I got in touch, and I learned he was working at a company called Borland – which made IDEs for C++ and Pascal, among other software tools. He offered to refer me there for a job as a technical support engineer, helping Software Engineers who were using those tools, both on the phone and by providing sample applications to document our software libraries. By the end of that year, I had moved my family out to Santa Cruz, California, an easy drive to Borland’s headquarters. A year and a half later, I was offered a position as a Senior Software Engineer, but I still date my career as a programmer to 1993. (By the way, for both roles I got a substantial raise from where I was before I took the role
So yes, Python appears in only some 5% of tech support roles, but with over 120,000 jobs overall, that still works out to be over 6,500 jobs. You could pick up a few more if you widened your search to include “Integration Engineer” and “Solutions Engineer”, which are related, entry-level-friendly roles, up 59% for the first one and 57% for the second. If you’re at that stage in your career where recruiters and HR reps don’t want to talk to you, I was, too, and Technical Support Engineer was the thing that opened the door for me.
Do Statistics Tell the Whole Story About Python Careers?
For most of us, our career is a large part of our identity – and even if you feel that a job is little more than a paycheck, it’s still how we spend a lot of our time.
In general, statistics about the number of available jobs can’t tell the whole story when it comes to careers that use Python. In the first place, there’s the fact that some positions are harder to break into than others. However, other roles like Test Automation Engineer and Technical Support Engineer are more beginner-friendly.
Beyond being beginner-friendly or not, a related issue is how much training will be needed to enter the role. If a Ph.D. in statistics is required – as it sometimes is in the case of Data Scientist roles – you may spend several years digging out of the hole of your student loans, so the high salaries need to be balanced against that consideration.
Perhaps the biggest consideration that should make you think twice about the statistics is how you feel about the role. When you get up and show up at eight or nine AM five days a week, the career that you really care about makes all the difference in the world. You won’t be thinking about the statistics when you’re breezing through a day doing what you love, and if you’re dreading going in, it won’t matter how many jobs there are in your field. Statistics can guide your decision, but make sure your heart gets the final vote.