Sitting around with “a lot of time on my hand,” Dutch computer scientist Guido van Rossum decided to take on a fun little side project over Christmas break in 1989: building a new programming language. The one he used in projects at work was overcomplicated and clunky, but he thought he could use some of its better features to create something more forgiving, flexible, and easier to read.
Van Rossen developed his language mostly in his free time over the course of the next year (with the help of some colleagues’ feedback), eventually deciding to name it “Python” after the British comedy series Monty Python’s Flying Circus, whose published scripts he was reading at the time of its implementation. In the years since, it’s basically become the Holy Grail of general-purpose programming languages.
“I certainly didn’t set out to create a language that was intended for mass consumption,” van Russum told The Economist in 2018. Yet according to SlashData’s most recent State of the Developer Nation report, Python is one of the most popular and fastest-growing programming languages out there with 9 million active developers worldwide, having added 2.2 million net users in the past year alone. (It’s now second only to JavaScript, which boasts 12 million active developers.) Moreover, the almost 65,000 developers polled for Stack Overflow’s 2020 Developer Survey named Python their third most loved programming language and the one they wanted to learn most.
If you’re interested in pursuing a career in software development (or simply want to future-proof your current gig), this is definitely the bandwagon to hop on.
What’s so great about Python?
Python’s popularity can be credited to a bunch of different factors:
Its syntax is extremely simple and neat, which make it easy to read, easy to write, and very easy to learn. If you’re just dipping your toes into the world of coding, it’s an excellent jumping-off point for other programming languages.
It has an active community and detailed online documentation, so there are tons of resources for users to explore and build upon.
It has an extensive standard library. A programming language’s standard library is a collection of ready-made, commonly used functions and script modules, which you can use to simplify the coding process and avoid writing everything manually.
It’s productive. Compared to other programming languages like C, C++. and Java, Python can get the same task done in fewer lines of code. Similarly, it’s great for whipping up prototypes in the early stages of a project’s development.
It’s open-source, which means it’s entirely free to download, modify, and distribute.
It’s cross-platform. Python code works the same on macOS, Windows, and Linux.
It plays well with others. Python code is both “extensible” and “embeddable,” meaning you can write some of it in a different language and put it in another language’s source code, respectively.
It’s versatile. From tech to IT, web design, social media, finance, insurance, healthcare, retail, banking, and even aerospace, Python is a general-purpose programming language whose real-world applicability is seemingly limitless.
It’s scalable. Python’s simplicity makes it a go-to for personal projects, but it’s also powerful enough for the likes of Netflix, Spotify, Facebook, Instagram, Google, Dropbox, Reddit, and NASA.
It’s adaptable. What’s especially interesting about Python is that despite being three decades old, it’s stuck around *and* continued to grow at a remarkable rate alongside new technologies. (SlashData’s report notes that it’s a favorite among machine learning developers, data scientists, and Internet of Things engineers.) Per Associate Prof. Daniel Guetta of Columbia Business School, “Python today is what Excel was 20 years ago.”
Why learn Python?
Simply put, it’s where the (good) jobs are at. According to a 2020 survey of over 116,000 software engineers by the tech hiring platform HackerRank, nearly half of hiring managers worldwide look for Python programming skills in their potential employees. (It came in second only to JavaScript in that poll.) Furthermore, a recent analysis of the jobs site Indeed by the software development company Daxx found that the average U.S.-based Python developer makes $110,840 a year, making it the second best-paid programming language behind Ruby.
SEE ALSO: 7 of the best online learning platforms to advance your career (or side hustle)
More broadly, any sort of programming knowledge will give you a leg up in the job market these days. The U.S. Bureau of Labor Statistics estimates that the employment of software developers will grow 22% from 2019 to 2029, which is “much faster than the average for all occupations.”
What kind of jobs can you get knowing Python?
Conducted by the software vendor JetBrains in partnership with the Python Software Foundation (a nonprofit that holds the language’s trademark, manages its open-source licensing, and funds its development), the most recent official Python Developers Survey found that its users work across the fields of science, education/training, accounting/finance/insurance, and medicine/health, though the vast majority are in IT/software development. More than two-thirds are employed full-time by a company or organization, as opposed to just 6% who are self-employed and 5% who are freelancers.
“Python today is what Excel was 20 years ago.”
Notably, the vast majority of Python developers polled for that study have five or fewer years of experience with the language, and 29% have under a year of professional coding experience overall. In other words, it doesn’t take much to break into the industry. (To add to that point, Stack Overflow’s report found that Python developers typically have higher salaries with fewer years of experience compared to users of other languages.)
What are the best Python courses?
While large tech companies like Apple and Google typically hire software developers with Bachelor’s degrees or higher, Python’s gentle learning curve makes self-taught online classes and bootcamps a smart choice for novice or casual programmers. After sorting through dozens of expert reviews and hundreds of comments on the subreddit r/LearnPython (an excellent resource for Python newbies), we’ve concluded that the best Python classes tick all or most of the following boxes:
They’re not too expensive. Some of the best Python classes are cheap or even free. (If you’re spending thousands of dollars, you’re doing it wrong.)
They offer lifetime access to class materials so you can refer back to and build upon what you’ve previously learned.
They’re self-paced.
They’re not subscription-based so you’re not penalized for learning slowly.
They’re updated regularly with the latest version of Python. New releases come out every 12 months; the latest is Python version 3.9. (Avoid courses on Python 2 — that version’s dead as of Jan. 1, 2020. RIP.)
They offer opportunities for feedback and staff support. Coding with Python in professional settings is often a very collaborative experience. (Fifty-three percent of Python Developers Survey participants said they worked on a team.)
They give real-world context to Python concepts so you can see the potential of those lines of code on your computer screen.
Their instructors are engaging. Coding can sometimes be dull and tedious, so it helps to have a teacher who not only understands the language but makes it fun to learn, too. (Most Python courses on the online learning marketplace Udemy are great picks for this reason.)
With those criteria in mind, here’s a rundown of the Python courses we recommend taking.
Can you get certified in Python?
While most learning platforms will give you a certificate of completion for finishing a Python course, and companies like Microsoft offer Python certification exams, credentials don’t really matter in the world of programming (as opposed to, say, the finance industry). People on r/LearnPython often compare the career of a programmer to that of a photographer in that your work should speak for itself, so channel your energy into building a nice portfolio of projects on GitHub instead of chasing fancy diplomas. (And for what it’s worth, the Python Software Foundation doesn’t offer, recognize, or recommend any certifications.)