Written By Meggie Mahnken
Edited By Liz Eggleston
Course Report strives to create the most trust-worthy content about coding bootcamps. Read more about Course Report’s Editorial Policy and How We Make Money.
Course Report strives to create the most trust-worthy content about coding bootcamps. Read more about Course Report’s Editorial Policy and How We Make Money.
Is Python the “best” first coding language? What can you build with Python and what types of jobs could you get wih Python skills? Hackbright Academy’s Director of Fellowship, Meggie Mahnken, explains the origins of Python, how Python is used by real developers, and why Hackbright Academy teaches Python. Here’s everything a beginner needs to know about learning Python (plus some great free resources to get started).
In the mid-1980s a dutch fellow named Guido van Rossum was working on an educational project to build a language for new coders called ABC. As a result of working on this project, Van Rossum became interested in language design, and that’s when he started working on Python. He made some unusual decisions, which really set Python apart from the zeitgeist at that time, and continue to make the language special today.
Indentation in Python
One of Van Rossum’s decisions was to make indentation meaningful, which is unusual in programming languages. Critics who thought this would make the language hard to use didn’t receive the idea very well, but this feature is part of the reason why Python is both readable and popular. Good code style and readability is enforced by the way you have to write Python. When I first learned about indentation in Python, it struck me as a reason for the language’s success.
Encouraging responsible coding
A lot of Python’s design is about encouraging developers to make good decisions, so that Python code is more readable. Although indentation is enforced in Python, a lot of other things are not enforced, so you have to be a responsible coder to actually write good Python. Unlike Java, Python doesn’t yell at you if you call a variable or function a particular name, and it doesn’t require you to define a type.
People often describe Java as a really controlling parent, who actively prevents you from playing in the road and forcing you to stay in the house. Even though JavaScript has come a long way, it could be said that JavaScript, is the parent who is actively encouraging you to make bad choices and play in the road. Python is somewhere in the middle: the parent who says you could go play in the road, but should you? They’ll let you do it, but it’s your decision, and you have to deal with the consequences. So Python is somewhat of a, happy medium.
When I ask alumni or mentors what they use Python for in their jobs, this is what I hear:
Most big companies use Python for something. Yelp is a well-known Python shop. The creator of Python works at Dropbox, and much of Dropbox is built in Python.
Websites which use Python in some aspect:
Python is slower than other languages. There is a trade off between how high-level and abstract a programming language, is and how efficient it is in terms of memory usage and space usage. Python is not low-level, so it’s not as fast or efficient as a compiled, lower-level language, like Java or Rust. It’s less common to use Python to build distributed database systems or other systems where speed is incredibly important.
There are also some concerns about scalability, although I know that you can make Python scalable with different implementations of the language, such as PyPy.
At Hackbright, we’ve stuck with Python because it has a design ethic that works really well for new programmers. The ideas central to the language of Python are summarized in an easter egg in the language, which is a poem called The Zen of Python. It says, “simple is better than complex, complex is better than complicated.” That refers not only to the code style guide, but also the high-level design approach that you should take when crafting a crafting complex system.
Teaching Python helps our education staff encourage students to prioritize the pursuit of elegance, rather than trying to write the most clever or complicated program.
It’s also a really nice language for learning core computer science topics. Coding bootcampers need to learn those intermediate/advanced concepts that come in the second or third year of a computer science degree, like:
Python lets students stop thinking about syntax and just focus on problem solving. Hackbright students are excited to learn those computer science fundamentals, and Python doesn't get in their way.
Web Development
At Hackbright Academy, we focus more on back-end web development, so we see most of our grads getting standard web development roles like Software Engineers, Web Developers, and Front-End Web Developers, working in Python or in other languages. The protocols, tasks, and the workflow you learn when you become a web developer will be a good foot in the door for technology jobs. We see a lot of grads going into web development first, then if they do eventually want to work in data science or scientific computing, then they can shift over once they’ve learned all of the core principles.
Data Science
A couple of Hackbright grads have gone into Data Analytics or Data Science. Maybe they worked on a dev team or as a business analyst before attending Hackbright Academy, so they already had some general experience, but they needed to know Python in order to specialize. Python is the language if you want to go into machine learning or data science, and it has an excellent set of libraries for that type of work.
Online Learning
Books
Classes
Find out more and read Hackbright Academy reviews on Course Report. Check out the Hackbright Academy website.
Meggie Mahnken is the Director of Fellowship at Hackbright Academy. As a graduate of Hackbright Academy’s third cohort in 2013, Meggie went on to work as a software developer on Hackbright’s engineering team, then became an instructor in 2016.
7 Tips for Updating Your UX Design Resume for AI Roles!
These are 3 AI tools you want to know before your first tech interview!
A TripleTen career coach answers what to do in the first 90 days after bootcamp graduation!
Learn how to launch a career as a technical writer!
Find out the fundamentals of cloud engineering and how to launch a career in the Cloud!
Follow our tips to help you choose between these two, in-demand tech careers!
Hack Reactor's Zubair Desai shares how bootcampers should (and shouldn't!) use GenAI...
Lighthouse Labs walks us through cybersecurity jobs across 6 different industries!
Why You Should Learn CSS If You’re Not a Software Engineer
A Fullstack Academy instructors shares how AI is used in Data Analytics!
Sign up for our newsletter and receive our free guide to paying for a bootcamp.
Just tell us who you are and what you’re searching for, we’ll handle the rest.
Match Me