What Do Companies Expect From Python Devs in 2019?
While it depends on what you're using Python for, there is a useful base set of skills you should have. Read on to learn more!
Join the DZone community and get the full member experience.Join For Free
Python is everywhere.
According to Stack Overflow’s 2019 Developer Survey, it is the second most loved programming language in the world.
Over the past four years, Python has constantly been the third most popular language among GitHub contributors.
Even our team at CV Compiler uses Python as a core language for our resume-processing engine.
Our love for Python made us go even further — with the use of NLTK and spaCy, we have created our own text analytics tool (without it, you woudn't be reading this data-proven list of skills a modern Pythonista should have).
Actually, here is the result of our efforts — the comprehensive set of skills you as a Python dev need to stay marketable in 2019.
What Skills Do I Need to Succeed as a Python Dev in 2019?
Jointly with our team, we took 300 job specs for Python developers, scrapped from Stack Overflow, AngelList, LinkedIn, and some fast-growing tech companies worldwide. From all these descriptions, we extracted the skills which were mentioned the most frequently, and here they are (the numbers refer to the number of mentions).
Among the other frequently-mentioned skills not highlighted in this chart were Unit Testing (32), Continuous Deployment (30), MongoDB (30), and OOP (30). If talking about the Machine Learning skills, the most commonly-mentioned ones were Pandas (29), NumPy (24), SciPy (15), and Scikit-Learn (11).
Surely, the necessity of these skills depends on how you use Python. If you’re a Machine Learning Engineer, you don’t need to know Django perfectly, and so on.
Please note: This research shows the overall tendencies in the employment market, not the preferences of Python developers themselves. This rating may differ from the list of technologies most devs prefer to use in their work. For some Python insights, turn to the Python Developers Survey by the Python Software Foundation, or Octoverse by GitHub.
What Are the Experts’ Opinions About Current Python Trends?
"Nowadays, it’s absolutely standard for developers to be familiar with Git, GitHub, and Travis for CI. Testing, preferably with PyTest and (judicious) use of unittest.mock, is also vital for a well-run project. Container and virtualization technologies, from Docker to LXC to AWS to Azure to Kubernetes and OpenStack, are very “normal” for both development and deployment. Being able to create build artifacts, then deploy a staging version of your infrastructure, then run tests against it, then deploy to production and if necessary rollback to a previous version, should all be push-button operations.
Django is still as popular as ever and a useful skill to have. Flask and SQLAlchemy are just as potent a combination, but not quite as highly in demand. As for Data Science, it is a rising star of the Python world. Pandas, NumPy and SciPy are all tools that are highly in demand, along with Jupyter Notebooks. Database knowledge is also essential here."
"This research shows pretty clearly the direction where the development world is evolving. AWS, Docker, Cloud, and Kubernetes are pretty new, but they have already become a part of the programmers’ everyday routine. It doesn’t mean that you as a Python dev need to know all the nuances of these technologies, but you will be facing them on a daily basis.
Machine Learning requires Python in 9 cases out of 10, but it’s a completely different field. If you’re a Python dev, you don’t need ML skills. If you choose Machine Learning or AI, you will definitely need Python.
The word "microservices" is very close to Go, REST, and API on the graph. However, this tiny word silently changes the whole market. I recommend starting to invest time in understanding what it brings to the surface."
"For Python devs in general, I don’t think there is one thing they need to learn/know to excel. Data science, DevOps, Web Development, and Automation are totally different fields but all fall under “Python devs.” However, I get asked about Data Science tools more than I used to from my clients. Mostly it’s Pandas, followed by Jupyter Notebooks."
"I have done a few interviews over the past year or two and there are definitely a lot of employers that want AWS or cloud experience. In addition to that, I see a lot of growth in Data Science/Machine Learning. And much like this research is already showing, if you can do Web Development, that would be good as well."
To Polish My Skills, What Resources Should I Use?
To help you out, I’ve gathered some resources respected by both our team and experienced devs from Python communities worldwide.
Python-Related Resources (Web Development Included):
- RealPython is a comprehensive set of Python tutorials (they also have an inspiring YouTube channel, created by Dan Bader).
- Python Weekly — a curated weekly newsletter featuring articles, releases, and jobs.
- This website is full of Python resources for experienced devs, engineers, and scientists (created by Kenneth Reitz).
- Sentdex YouTube channel has huge playlists about Django, ML, Python and Finance, and so on (put together by Harrison Kinsley).
- In his blog, Miguel Grinberg offers about 80 articles dedicated to Flask.
Data Science, Machine Learning, and AI:
- Technical notes on implementing Data Science and AI. The topics covered also include AWS and Linux (made by Chris Albon).
- While Keras is one of the most popular deep learning libraries for Python, it also has a useful thematical blog.
- A set of Scikit-learn tutorials for those who want to master scientific Python.
- Computer Vision and Deep Learning resource guide, by Adrian Rosebrock.
Who Should I Follow Online to Keep My Finger on the Pulse?
Here is a list of Pythonistas I gladly follow myself on Twitter:
- @kennethreitz — creator of Pipenv and Requests.
- @dabeaz — author of Python Cookbook.
- @raymondh — Python core developer.
- @1st1 — Python core developer, founder of EdgeDB.
- @adrianholovaty — co-creator of Django.
- @jacobian — co-creator of Django.
- @pydanny — co-author of the ‘Two Scoops of Django’ book, open source programmer.
- @ixek — Cloud Developer Advocate at Microsoft.
- @karpathy — director of AI at Tesla.
- @AndrewYNG — co-founder of Coursera.
Practice makes perfect, so, create a list of skills you want to learn or improve, and start your way to new heights. I hope this material will help you in boosting your IT career!
This article was prepared jointly with the team at CV Compiler, an ML-powered resume enhancement tool for tech professionals, (Python devs in particular). If you need a flawless resume, tap here and check your resume score for free.
Published at DZone with permission of Andrew Stetsenko. See the original article here.
Opinions expressed by DZone contributors are their own.