As a data scientist, my work is contingent on knowing and using Python. What I like about Python, and why I rely on it so much, is that it’s simple to read and understand, and it’s versatile. From cleaning, querying, and analyzing data, to developing models and visualizing results, I conduct all these activities using Python.
I also teach data science in Python. My students learn Python to build machine learning models but I’m always excited to hear of the other ways they’ve leveraged the programming language. One of my students told me they used it to web-scrape online basketball statistics just so they could analyze the data to win an argument with friends. Another student decided to expand on her knowledge of Python by learning Django, a popular framework, which she uses to build web apps for small businesses.
Before taking the plunge into data science, we all had fundamental questions (and concerns) about learning Python. If this sounds like you, don’t worry. Before I started learning Python, I spent several months convincing myself to start. Now that I’ve learned, my only regret was not starting sooner.
If you’re interested in learning Python, I want to share my biggest reasons for why you should. Two of these reasons are inherent to Python; one of them is a benefit of Python that I experienced first-hand, and some of the examples I discuss come from things I have researched. My goal is to give you enough information to help make an educated decision about learning Python, and I really hope that you choose to learn.
1. Python is easy to learn.
Long before I learned Python, I struggled to learn another object-oriented programming language in high school: Java. From that experience, I realized that there’s a difference between learning to program, and learning a programming language. I felt like I was learning to program, but what made Java difficult to learn was how verbose it was: the syntax was difficult for me to memorize, and it requires a lot of code to be able to do anything.
Comparatively, Python was much easier to learn and is much simpler to code. Python is known as a readable programming language; its syntax was designed to be interpretable and concise, and has inspired many other coding languages. This bodes well for first-timers and those who are new to programming. And, since it typically requires fewer lines of code to perform the same operation in Python than in other languages, it’s much faster to write and complete scripts. In the long run, this saves developers time, which can then be used to further improve their Python.
One observation I’ve made of Python is that it’s always improving. There have been noticeably more updates to the language in the last 5-10 years than in prior decades, and the updates have often been significant. For example, later versions of Python 3 typically benchmark faster completion times on common tasks than when carried out in Python 2. Every release in Python 3 has come with more built-in functions, meaning “base” Python is becoming more and more capable and versatile.
Learning is not an individual process; often you will end up learning a lot from “peers.” According to various sources, Python has one of the largest and most active online communities of learners and practitioners. It’s the most popular programming language to learn; it’s one of the most popular programming languages for current developers; and among data scientists, it’s the second most common language known and used. All of this translates into thousands of online posts, articles (like this one!), and resources to help you learn.
Speaking of online learning, Python is also tremendously convenient to learn. To learn the fundamentals of Python, there are a lot of learning tools out there — books, online tutorials, videos, bootcamps — I’ve tried them all. They each have their merits but ultimately having options makes it easier to learn. Once you start learning, the resources don’t stop. There are dozens of really good tutorials, code visualizers, infographics, podcasts, and even apps. With all of these resources at your disposal, there’s really no reason why you can’t learn!
2. Python is versatile.
Python’s popularity is also tied to its usability and versatility. According to O’Reilly, the technology and business training company, the most common use cases for python are data science, data analysis, and software engineering. Other use cases for Python include statistical computing, data visualization, web development, machine learning, deep learning, artificial intelligence, web scraping, data engineering, game and mobile app development, process automation, and IoT.
To get into any of these use cases would require another post. Regardless, you might be wondering what allows Python to be such a versatile programming language? A lot of it has to do with the various frameworks and libraries that have been built for Python.
Libraries are collections of functions and methods (reusable and executable code) with specific intents; and frameworks more or less are collections of libraries. If you ask any Python developer, they can name at least a half-dozen libraries they use. For example, I often use NumPy, Pandas, and Scikit-learn — the holy trinity for data scientists — to perform math and scientific operations, manipulate and analyze data, and build and train models, respectively. Many Python-based web developers will name Django as one of their preferred frameworks for building web applications.
While it’s true that libraries are written for most programming languages and not just Python, Python’s usability, readability, and popularity encourage the development of more libraries, which in turn makes Python even more popular and user-friendly for existing developers and newcomers. When you learn Python, you won’t just be learning base Python, you’ll be learning to use at least a library or two.
3. Python developers are in demand.
Many people learn to program to enhance their current capability; others to change their careers. I started off as one of the former but became the latter. Before data science, I built digital ad campaigns and a lot of my work was automatable. My only problem was that I didn’t know how to code. Although I eventually learned how, in the process of learning Python for my work, I was presented with different job opportunities where I could use Python, and learned about different companies who were looking for people experienced in Python. And so I made a switch.
There are a lot of Python-related roles in prominent industries. According to ActiveState, the industries with the most need for Python are insurance, retail banking, aerospace, finance, business services, hardware, healthcare, consulting services, info-tech (think: Google), and software development. From my own experience, I would add media, marketing, and advertising to that list.
Why so many? As these industries modernized, companies within them have been collecting and using data at an increasing rate. Their data needs have become more varied and sophisticated, and in turn, their need for people capable of managing, analyzing, and operationalizing data has increased. In the future, there will be very few roles that won’t be engaged in data, which is why learning Python now is more important than ever — it’s one way to bullet-proof your career and your job prospects.
A lot of top tech companies value Python programmers. For instance, to say that Google “uses” Python is an understatement. Among Google engineers, It’s a commonly used language for development and research, and Google’s even released their own Python style guide. Google engineers have developed several libraries for the benefit of the Python community including Tensorflow, a popular open-source machine learning library. YouTube uses Python to administer video, access data, and in various other ways. Python’s creator Guido van Rossum, a Dutch programmer, was hired by Google to improve their QA protocols. And most importantly, the organization continues to recruit and hire more people skilled in Python. Other notable tech companies who frequently hire for Python talent include Dropbox, Quora, Mozilla, Hewlett-Packard, Qualcomm, IBM, and Cisco.
Lastly, with demand often comes reward. Companies looking to hire people skilled in Python often pay top dollar or the promise of increased salary potential.
In summary, there are lots of reasons to learn Python. It’s easy to learn, there are many ways to learn it, and once you do, there’s a lot you can do with it. From my experience, Python programming is a rewarding skill that can benefit you in your current role, and will certainly benefit you in future ones. Even if Python doesn’t end up being the last programming language you learn, it should certainly be your first.