Python has been making rapid gains in the data science and analytics community, as we’ve found in our SAS, R, or Python surveys over the past few years.
To dive into the reasons for this growth, we spoke with two senior data scientists at Metis, a data science and analytics training company, to get their thoughts on topics like the advantages Python offers, why it’s now the tool of choice for so many, what related resources they’d recommend for both professionals and companies, and much more.
Whether you’re thinking about transitioning your skills (or the skills of your team) to Python, or you’re looking to improve your already existing skills, you’ll get something out of these insights from Mike Galvin, Executive Director of Corporate Training, and Kevin Birnbaum, Senior Data Scientist.
Our annual tools survey has shown Python increasing in popularity. Does this line up with trends you’re seeing in the market?
MIKE: Absolutely. Python is one of our more popular courses, and we’re seeing an increase in companies requesting Python training and making the shift to using Python.
This interest in Python is from a broader audience. Analysts adding Python to their Excel workflow, data scientists who are upskilling or moving from legacy tools, engineers, product roles, and others.
Speaking of data scientists and analytics professionals specifically, why do you think Python has become the tool of choice?
KEVIN: I would say the main reasons are ease of use and interpretability – and not just for creating your own projects, but also when you’re working with teams. Being able to understand what others have written – and having them be able to understand what you’ve written – provides a huge boost in terms of creating projects within the workplace.
On top of that, I would add that there’s a snowball effect. Since Python is open source, more people are using it, which means that any innovations we see in terms of artificial intelligence or in analytics are generally implemented pretty quickly in Python. New models and new optimization methods are readily available, and if you’re a data scientist or analytics professional looking to implement a state-of-the-art new tool, if you’re working in Python, that’ll be much more available to you.
At my last job, we had a certain software that we were using in order to do forecasting, making it so we were forced to use the framework and models available within the software. I found it a bit frustrating and limiting compared to what was available out there in the world.
Everything that’s available out there in the analytics community is available in Python in a nice, clean library. So we made that transition, which made it so we could implement state-of-the-art technology and models and put them into production at our company. Essentially, we were able to use open source, free, and more advanced technology compared to paying money for something that wasn’t working as well.
MIKE: I agree that there are many reasons, including a low learning curve, fast prototyping, the fact that it’s a proven tool and it’s well maintained. Plus, there’s a large community of people using it already, and it’s very flexible, so it can be used for many different things.
Beyond the individual, why do you think more companies are transitioning to using Python? What advantages does it offer?
MIKE: Cost is one reason, since it’s open source. But the primary answer relates to the previous question and answer. If you think about the reasons why users are choosing this as their preferred tool, it’s because it’s well maintained, with a low learning curve, there’s an established community, it’s flexible, they can do a lot with it, and they can get up and running very quickly. Companies want to take advantage of that.
Ultimately, this leads to companies making their employees happy and more productive. With Python’s low learning curve and flexibility, a broader audience can start using it, which allows for better cross-functional collaboration. It also allows for faster development and innovation.
KEVIN: Agreed. And it’s also about recruiting and retaining top talent. Since there’s a snowball effect, with more and more people using Python, the technology is becoming more advanced and so is the larger community around it. All the top talent implementing these new models in Python – the people who are at the forefront of artificial intelligence and analytics – are using Python. Companies want that top-of-the-line talent, so they need to be working within Python themselves so it’s easier to integrate new talent into their systems.
When they’re evaluating different jobs, it’s easy to imagine how the top talent would want to ensure the company works within Python. Since there are so many jobs out there for people who know Python, why would you learn a new language in order to work at a given company? The fact that everything is being implemented in Python, so you have all these cutting-edge tools and materials already available, makes it so people are able to easily reproduce what’s available within the company and bring those innovations immediately to help the company with revenue or production or whatever it is that they’re working on.
For data science and/or analytics teams that want to transition to Python, what’s the best approach?
MIKE: Of course I’m a little biased. Reach out to Metis and we’ll help you out with Python training! So that’s one answer, but it’s important to start with the question: Why do we want to learn Python? Is it general curiosity? Are there specific obstacles you’re looking to overcome or solutions you’re looking to build? Is it for employee happiness and retention? You can start by getting involved in the large community and familiarizing yourself with the language.
Then, it’s all about coming up with a strategy and making a commitment — allocating time to learn and explore and identify a possible Python project to get involved in.
Many times, companies will try to pilot something utilizing internal experts and free resources. Ultimately, to scale this up, partnering with a vendor like Metis or another company is the best route, as it helps get at the key questions and helps you put together a comprehensive strategy that’ll move you toward reaching your goals.
For professionals who aren’t using Python yet, but are interested in learning more about it, what would you recommend?
KEVIN: I personally started off with non-live online asynchronous materials and would recommend those. Whether it was YouTube videos or something similar – something very basic that allows you to follow along with the code by hand.
Additionally, I’d suggest finding a way to network within the huge Python community that’s out there. What happens a lot is that you get stuck or frustrated, and then you drop off.
To combat that, right off the bat, a free and easy way to get involved is to join a meetup group on Meetup.com. Another thing that’s great (depending how you look at it) is that as soon as you begin doing research about mastering Python, Google will begin to automatically gear your advertisements toward Python-centric opportunities and conferences. The key is not to be intimidated by making that initial leap. No one will be mad if you just sit in on a given event and listen quietly, and eventually you’ll break your way in.
Another way to stay engaged, as Mike mentioned, is to start a project. A small project will allow you to identify and fight through some of the difficulties that arise, rather than only following examples when others show you exactly what to do. Supplementing what you’re learning with your own project will allow you to work through Python and get a deeper understanding of what is available.
Are there strategies or resources you’d recommend to professionals who are already familiar with Python, but are looking to expand their capabilities?
MIKE: Yes. As I mentioned, one of the advantages of Python is the low learning curve, so expanding your knowledge will be even easier if you’re somewhat familiar with Python already. There are a lot of free resources out there that’ll help you advance your skills.
At Metis, for the past three years, we’ve hosted the Demystifying Data Science conference that includes interactive workshops, which you can download for free. There are also many useful YouTube videos and blog posts out there, too, and even just a quick Google search will help you find many of them.
To narrow down your search for resources, I would remind people that Python is flexible, so after you have some level of baseline familiarity with it, it’s good to ask yourself: How do I want to leverage Python? Can I use it in my current role? Do I want to learn it so I can transition to a new role? This will help you figure out the types of things you want to be able to do and what you’re hoping to learn in Python, and then you can go from there.
You should also work with your company on potential training options that go beyond the basics of the language. There are a lot of free resources out there, as mentioned, and also paid resources like the training programs we offer at Metis.
Lastly, the other thing that’s really important is to work with people in your company to figure out a project or a way that you can actually start to get some hands-on experience with Python. What you don’t want to do is just read about the language; you want to actually apply it, so if you can find a way to allocate some of your time or get involved in a project within your company, I think that’s a really important piece to help solidify your retention and learning.
Looking to the future, how do you think these Python trends will continue to develop?
KEVIN: This community is growing so fast, and for companies, even if they don’t offer Python, they’re being pressured to build things within Python, simply because the community is so large. So I see it continuing to grow and taking more pieces of the pie, so to speak.
So many of the innovations in the analytics and data science space are going on in Python, and that’s just going to keep pushing that barrier forward and keep bringing more people in. The more the community grows, the more companies will get on board, so it’s kind of this back and forth that will lead to Python continuing to take a larger piece of the pie. I do predictive analytics, and I would predict that next year you’re going to see this trend continue to go up!
MIKE: I think that open source tools in general will continue to develop and grow in usage, and I agree that we’ll see continued growth within Python. In general, I think you’re going to see a trend in the popularity of tools that allow more general audiences to interact and do more than they could previously. And that’s really important! I think that more and more people and organizations are going to start to have to interact with technology a lot more. They’re going to need to use and take advantage of data more, and tools that can ease that barrier to entry and make it as simple as possible to interact with varying technologies, to automate manual tasks, to interact with the different tools that are being developed, to pull data, to create reports and visualizations, to perform analysis – this is all going to become even more important.
Anything else you’d like to share before we go?
KEVIN: I just want to reiterate that having your own project to work on and having people in the community, such as mentors, to help you get through that project will move you so much faster through the process than just taking an online course. If you can get live training, or even take a live online course where you can at least communicate with the instructor, that’ll help a lot, too, because many times, with the static materials, you just end up following along with the code and you won’t gain as much as you think you’re gaining (which you’ll find out as soon as you jump into doing it yourself).
MIKE: I think we hit on the major things, but if I had to summarize, there are key technical reasons why people want to move to Python, among practitioners. And a lot of it has to do with the availability of the community and the fact that Python is a proven tool. If you look at the laundry list of top tech and non-tech companies that are using it, and if you take a look at their use cases, it’s definitely a proven tool.
The other key thing is that the number of types of people using Python is increasing, and I think that’s something that is often overlooked. It’s not just software engineers using this – it’s the Excel user or a Tableau user who wants to automate tasks or do more complicated analysis. While Python doesn’t necessarily replace their existing tools, it adds to their workflow to make them more powerful at their jobs.
Want to learn more?
Read our previous interview with Mike Galvin for more of his thoughts on upskilling teams and data literacy. Additionally, Kevin Birnbaum recently shared his own Python journey (as well as insights about our most recent survey) in a blog written for Metis.