Should you learn Python? Many people choose their coding bootcamp based on what coding language they want to learn. Python is becoming an increasingly popular teaching language at both coding bootcamps and data science bootcamps, so we asked General Assembly Python Instructor Brandi Butler to explain the top 5 reasons for choosing Python as your first coding language. Find out about the versatility of Python and what sort of salaries Python developers can earn!
Reason 1: Gentle Learning Curve
Definition: Python is consistently cited as one of the easiest to learn programming languages by community groups, educational institutions, and technology news sites. In fact, any list of top languages to learn for beginners will always give a shout out to Python. A big part of the reason for this is its elegance. You can simply express more functionality, more clearly in fewer lines of code than you can in other languages. Additionally, Python typically enforces good code style (the programmer equivalent of legible handwriting) as a side-effect of how it’s written, meaning you don’t have to learn a lot of extra rules to be doing a decent job right from the start.
Why it’s important: Programming is difficult to learn! A big reason students attend coding bootcamps despite the numerous free resources online is that there are so many new concepts to learn. Python is still difficult to learn, but it looks more like real language and simplifies a lot of things that are difficult for beginners compared to other languages. For English speakers, it’s kind of like learning Spanish instead of ancient Greek. It’s one of the many reasons that in the education field, Python is a top pick!
Example: One "gotcha" for people learning to program for the first time is that lists of data start counting at zero, rather than one. In other words, your first item in the list is the zeroth item. This is common across pretty much all programming languages, and beginners often end up making off-by-one errors when trying to access their data. However, Python does a few things to make programmers less error-prone, such as making its ranges exclusive. This means if you ask Python for a range of numbers up to 10, it actually gives you the range including the numbers from 0 through 9, because Python knows what you mean and has your back.
Bonus Tidbit: Python is platform agnostic – this means you can rely on it to work whether you use Windows, Mac, or Linux!
Reason 2: Cross-functional
Definition: Python is referred to as a “general-purpose language," which basically means it can be used to do most anything that a programming language is capable of. This means Python is capable of:
- Creating and hosting a website like the one you’re reading right now: There are web frameworks like Django and Flask for Python to make it even easier.
- Analyzing data to give you new recommendations at your favorite business: Many data science tools are available such as Pandas, NumPy, and SciPy.
- Running scripts to automate a boring task at work: There are packages available to help you process spreadsheets that come in Python’s Standard Library.
- Tracking and analyzing website traffic data: There are Python packages for using with tools like Google Analytics and Splunk.
Basically, Python is the language that does it all.
Why it’s important: Successful communication is critical to everyone’s career, and those in the tech field are no exception. It can be extraordinarily valuable to have software developers, data scientists, and business analysts speaking the same language, which reduces ramp up time on projects and increases collaboration. Especially with the rise of big data and applications of machine learning showing up in everyday life, cross-discipline work is more important than ever before.
Example: Developers love to collaborate together in hackathons – basically a coding marathon. Now, a common language and purpose is enabling other disciplines to get in on the fun!
Bonus Tidbit: It isn’t just the open source community that contributes to Python. Large companies have released Python packages for public use as well, such as Google’s TensorFlow for machine learning or IBM’s Watson SDK.
Reason 3: Works with IoT Devices
Definition: Python isn’t just something for your desktop computer at work, it can work on small-form devices like Raspberry PIs. There is also a MicroPython project which is a super lean version of Python meant to run on embedded devices. This can be anything including toys, appliances, and remote controls.
Why it's important: Python can be a gateway to take technology into our own hands. If you want something, you now have the power to make it happen!
Example: Have you ever wanted to build a remote controlled car? A mini-robot? Do you need an automated monitor to tell you when your beer keg is too low and automatically reorder it? All these things and more have been done with Raspberry PIs.
Bonus Tidbit: Raspberry PIs are inexpensive and you can get beginner-friendly starter kits on the internet!
Reason 4: Long-Standing, Open Community
Definition: Python was first released in 1991 by Guido van Rossem. Programming languages simply don’t have that much staying power and much of what was commonly used in the early 1990s is absent (replaced by newer languages) or at least radically different in the current day. It shows that Python is really something special that it’s been going strong for a quarter of a century and still gaining more and more popularity. A big part of the reason for this is the strong, open-source community surrounding Python. There are many enthusiasts dedicated to spreading the language far and wide.
Why it’s important: Python is developed under an open source license. This means it’s free, even for commercial use. Your startup business can use it freely without worrying about legal issues or having to pay large fees to a corporation who maintains the language. Community members can also contribute new modules and packages, as well as help maintain the language itself. The crowd-sourcing of this work, and the spirit of sharing information and ideas is what makes the community so strong.
Example: Python is an ever-growing, ever-changing language. It evolves with the needs of its users because it is maintained by those very users. A series of PEPs (Python Enhancement Proposals) is kept on the python.org website so the entire community can participate and refer back to it. This way, it can be more in tune with its user-base.
Bonus Tidbit: A Python meetup is likely to be one of the biggest tech-related meetups in any given area!
Reason 5: Salary
Definition: Most people are aware that software developers (including Python programmers!) can earn a decent amount of money. In fact, across the US, software development pays over twice the median wage (for single earners). In larger cities, especially tech hubs like Silicon Valley, this can be an even greater amount. The highest paid Python programmers tend to work in the fields of Data Science, Web Development, or Machine Learning.
Why it’s important: Few software developers get into programming simply for the money – there are easier ways of going about earning money if that’s the only goal! However, it is important to be able to support yourself while doing what you love, and Python programmers well exceed just putting bread on the table. According to PayScale.com, not only do Python programmers do pretty well in general, they do better than the average software developer. So, having Python skills really boosts your earning potential!
Example: Silicon Valley used to be the place to be if you wanted to work in the tech industry, but more and more other cities are also becoming mini-tech hubs (Seattle, Austin, Denver, LA, New York, Washington DC, just to name a few). Additionally, software development can be a great opportunity for getting remote work, enabling you to be wherever you want to be. Our grandparents probably never dreamed of this kind of flexibility in their day!
Bonus Tidbit: Software developers are highly valued team members at any company, and are often granted perks such as company stock options, generous signing bonuses, and relaxed work environments.
How can I start learning Python?
Protip: With any of the following links, always make sure you’re using Python 3, not Python 2. Version 2 is old and going away soon!
Beginner-Level: (little to no other programming experience)
- GA’s A Beginner’s Guide to Python (data-science focused article)
- GA's PT Python Programming course (1-week and 10-week formats available)
- A Byte of Python (Gitbook, used by several Universities)
- Codecademy (free)
- Python.org’s guide (tutorials for first-time programmers)
- Python.org’s book list (for those that enjoy physical books)
Python-Beginners: (some programming experience, in other languages)
- Python.org’s Tutorials
Learn to Code in 2019
Is learning to code on your New Year’s Resolutions List? Find coding bootcamp course dates for 2019!
Your Holiday Coding Bootcamp Checklist
5 questions to ask yourself over the holidays (if you want to attend coding bootcamp in 2019)
Ultimate Guide to Learning Blockchain
Blockchain is taking over the world, but what is it?