A Beginner's Guide to Python
Is Python the “best” first coding language? What can you build and what types of jobs can you get with Python skills? Meggie Mahnken, Senior Director of Education at Hackbright Academy, sat down with Course Report, a top online resource for intensive bootcamp programs, to explain the origins of Python, how Python is used by real developers, and why we teach Python at Hackbright Academy. Here’s our beginner’s guide to Python programming – plus some free resources to get started.
What is Python?
- Python is a backend programming language that's great for beginners.
- Python is similar in many ways to Ruby, but is less verbose than other programming languages – a little less wordy.
- Python is approachable. Even if you haven’t taken a CS class, you can still write a useful tool in Python. It’s high-level, so you don’t have to deal with the lower-level aspects of programming, such as memory management.
- Python can be used for scripting, web scraping, and creating data sets. It’s popular in the scientific community for scientific computing; there are libraries that make it easy to share academic code projects in Python.
- Python is a web programming language, so it interfaces with the internet. It knows how to receive and send web requests and talk to databases.
- Python is said to be “loosely typed.” This category of programming languages doesn’t require you to state the type of value a function returns when you define the function or the type of variable before you create it.
- The Python community is welcoming, well-maintained, and well-documented. That’s important for a beginner!
What are the origins of Python?
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 – not to be confused with JavaScript – 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 forces you to stay in the house. Even though JavaScript has come a long way, it could be said that JavaScript is the parent who actively encourages 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, which is great when practicing the basics of programming.
Why is Python a great first coding language for beginners?
- Python syntax is very similar to English, so it’s intuitive, which helps you understand what’s going on. You don't have to look up what symbols mean when you use Python. Here’s an example:
- Python is so readable that even if a company’s entire code base isn’t written in Python, developers tend to want to write code in Python. Hackbright mentors and alumnae tell me that even if they can’t always write in Python, they try to write smaller projects, internal tools, and automation scripts in Python.
- Python will be a marketable skill if you join any software engineering team because you’ll know how to create something that is well-maintained and well-received by your team.
- Python programmers are among the most highly paid, which is encouraging, especially if you’re considering starting a career in software engineering.
Which frameworks wills I use with Python?
- Django and Flask are the most popular web frameworks with Python.
- Jupyter Notebooks are popular among scientists, folks studying machine learning with Python, and people on the more academic side of computing in general. They let you share runnable snippets of code alongside explanations of what the code is doing.
How do real developers use Python in their jobs?
When I ask alumnae or mentors what they use Python for in their jobs, this is what I hear:
- They write Python because that’s the back end language their company uses. That’s fairly common, but we do see a lot of graduates using Java, Ruby, and PHP, and others.
- When companies don’t use Python for their main back end language, they might instead use Python to build scripts for deployment or other dev ops tasks, managing automation processes, cleaning up data, or migrating data from one place to another.
- Python is readable and fairly declarative, so it tends to be good for those one-off management tasks. Python is also a bit like super-glue – it’s good at connecting various different libraries, data sources, etc. as one cohesive tool or program.
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 on Python.
Websites which use Python in some aspect:
- YouTube
- Dropbox
- Spotify
- Netflix
- Quora
What are the disadvantages of Python?
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.
What are alternatives to Python?
- The most common alternative to Python is Ruby. Ruby is similar in syntax to Python, so much so that it can be hard to learn Ruby and Python one right after another. It's almost like learning Spanish and Portuguese at the same time.
- The other primary alternative in the web arena is Full-Stack JavaScript. Python and JavaScript are not too similar, but they can be used for similar purposes.
Why does Hackbright Academy teach Python instead of Ruby and Full-Stack JavaScript?
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:
- Runtime analysis
- Linked lists
- Recursion
- How to understand, analyze, and create algorithms
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.
What kind of jobs can you get with Python?
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 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.
How can I start learning Python?
Online Learning Python Tutorials
Codecademy (free or paid): A good place to learn what programming is about and what it feels like. However, I think people need to go a little farther than Codecademy and hit some of the harder problems to know if they really like programming.
Programming for Everybody: Getting started with Python by the University of Michigan on Coursera (free or paid): Great for folks who want consistent, comprehensive coverage of a topic. Actually, I originally got started in Python by taking a Coursera course.
Python Tutorial Books
Think Python: How to think like a computer scientist (free): For people who like books or self-paced learning.
Classes
The Hackbright Prep Course gives you a great introduction to coding before committing to the Immersive Software Engineering Program. You’ll go through fundamental principles like four loops, control flow, conditionals, data types. Hackbright Prep works particularly well for in-person learners, who need that face to face interaction to really understand a topic.
Interested in learning more? Check out our upcoming Part-Time Prep Course in San Francisco and our immersive Software Engineering Program. Hackbright Academy offers a deferred tuition program to select, eligible students.
This post was originally published on Course Report. Find more bootcamp news and read Hackbright Academy reviews.
Recent Posts
- February 04, 2021 Change Your Career at a Software Engineering Bootcamp
- January 29, 2021 What Can I Do with Python? Tips and Tricks
- January 26, 2021 3 Ways a Coding Bootcamp Can Help You Become a Software Engineer
- January 22, 2021 Is a Python Bootcamp Worth It?
- January 15, 2021 Software Engineers Get Real About Imposter Syndrome
CATEGORIES
- News (161)
- Hackbright Academy (123)
- Hackbright News (106)
- Profiles of Woman Engineers (105)
- Alum (98)
- Engineering Advice (68)
- tech (54)
- career change (53)
- Resources (49)
- TGIF (49)
- link roundup (49)
- reading (49)
- recap (49)
- roundup (49)
- weekly (49)
- women in tech (43)
- Becoming A Software Engineer (36)
- Software Engineer (36)
- female software engineers (36)
- diversity in tech (35)
- change the ratio (32)
- learn to code (31)
- Career Services (30)
- Admissions Office (28)
- women who code (28)
- #ilooklikeanengineer (27)
- Student Blogs (25)
- Hackbright Field Trips (24)
- female engineers (24)
- Python (23)
- coding (23)
- Hackbright Mentors (22)
- Thought Piece (21)
- Video (21)
- partner (20)
- diversity (18)
- Recruiting & Hiring (16)
- alumna (14)
- Software Engineers (13)
- hackbright (13)
- tech inclusion (13)
- hired (11)
- how to become a software engineer (11)
- Graduation (10)
- changetheratio (10)
- Tech Talk (9)
- software developer (9)
- Imposter Syndrome (8)
- hiring (8)
- Course Report (7)
- Facebook (7)
- GitHub (7)
- Hackbright Alumnae Showcase (7)
- Mentorship (7)
- Scholarship (7)
- women engineers (7)
- coding bootcamp (6)
- Hackbright mentor (5)
- Liz Howard (5)
- Programming Languages (5)
- Scholarships (5)
- mentor (5)
- recruiting (5)
- Admissions (4)
- Eventbrite (4)
- Full-Stack (4)
- Graduates (4)
- Hackathon (4)
- Heroku (4)
- Melanie Warrick (4)
- Mentors (4)
- Nicole Zuckerman (4)
- Resume (4)
- Silicon Chef (4)
- developer (4)
- holidays (4)
- instructor (4)
- women in computer science (4)
- Ada Lovelace Day (3)
- Chris Palmer (3)
- Code of Conduct (3)
- GoDaddy (3)
- Google (3)
- Halloween (3)
- Interview Tips (3)
- Jasmine Tsai (3)
- Job Search (3)
- Kathryn King (3)
- Mica Swyers (3)
- Negotiation (3)
- Pat Poels (3)
- STEM (3)
- Shilpa Dalmia (3)
- code (3)
- coding school (3)
- computer programming (3)
- day in the life (3)
- day-to-day (3)
- engineering (3)
- girls in tech (3)
- holidaze (3)
- international women's day (3)
- learning (3)
- part-time (3)
- prep (3)
- “Kelley Robinson” (3)
- ActivityHero (2)
- Aimee Morgan (2)
- Alyson La (2)
- Angie Chang (2)
- Arduino (2)
- Change.org (2)
- Elissa Murphy (2)
- Financing Options (2)
- Girls Who Code (2)
- Gowri Grewal (2)
- Gulnara Mirzakarimova (2)
- Hackathons (2)
- Inspiration (2)
- Joyce Park (2)
- Julia Grace (2)
- Julia Hartz (2)
- Kate Heddleston (2)
- Katherine Fellows (2)
- Katherine Hennes (2)
- Lisa Lee (2)
- Liz Crawford (2)
- Machine Learning (2)
- Marissa Mayer (2)
- Meagan Gamache (2)
- Megan Speir (2)
- Michelle Glauser (2)
- Michelle Sun (2)
- Natalie Downe (2)
- New Relic (2)
- Niniane Wang (2)
- Padmasree Warrior (2)
- Poornima Vijayashanker (2)
- Programming (2)
- Rebecca Bruggman (2)
- Security Engineering (2)
- Selina Tobaccowala (2)
- SheCodes (2)
- Siena Aguayo (2)
- SurveyMonkey (2)
- Tindie (2)
- Uber (2)
- Uncategorized (2)
- Web Apps (2)
- Zendesk (2)
- Zoe Kay (2)
- almnae (2)
- back-end (2)
- bootcamp (2)
- career transition (2)
- careers (2)
- coding blonde (2)
- computer programmer (2)
- ebook (2)
- engineer (2)
- financial aid (2)
- gender (2)
- gender gap (2)
- gift guide (2)
- hackbright prep (2)
- jobs after bootcamp (2)
- payment plans (2)
- podcast (2)
- product management (2)
- projects (2)
- python 101 (2)
- python programmers (2)
- reddit (2)
- social impact (2)
- students (2)
- techhire (2)
- technical product management (2)
- white house (2)
- women (2)
- women in STEM (2)
- #HackentinesDay (1)
- #hackdisrupt (1)
- #learntocode (1)
- 2017 (1)
- A Day In The Life Of A Hackbright Student (1)
- Academia.edu (1)
- Ada Lovelace (1)
- Adora Cheung (1)
- Affectiva (1)
- Alison Gianotto (1)
- Allison Deal (1)
- Ambassadors (1)
- Ambassadors Program (1)
- Anna Billstrom (1)
- AppJamming (1)
- Ashley Lorden (1)
- Automate Everything (1)
- Bay Area Girl Geek Dinners (1)
- BeMyApp Factory Hack (1)
- Belinda Runkle (1)
- Bessie Chu (1)
- Big O Notation (1)
- Bills.com (1)
- Birchbox (1)
- Black Girls Code (1)
- Blameless Work Culture (1)
- Brittany Martin (1)
- Browser Extension (1)
- Buffer (1)
- B’Elanna Torres (1)
- CODE Documentary (1)
- CODE2040 (1)
- CTO (1)
- CTOs (1)
- Cara Marie Bonar (1)
- Career Day (1)
- Cathy Edwards (1)
- Charmy Chhichhia (1)
- Chegg (1)
- Chomp (1)
- Christian Fernandez (1)
- Christina Liu (1)
- Christina Pan (1)
- Christine Yen (1)
- Cisco (1)
- Clare Corthell (1)
- Code.org (1)
- CodeGirl (1)
- CodeShannon (1)
- Computer Security (1)
- Conferences (1)
- Costumes (1)
- Couchsurfing (1)
- Cynthia Dueltgen (1)
- Danica McKellar (1)
- Data (1)
- Data Science (1)
- Dave-To-Girl (1)
- Dave-To-Girl Ratio (1)
- DevBeat 2013 (1)
- Dominic Dagradi (1)
- Electric Imp (1)
- Email Signature (1)
- Emily Gasca (1)
- Engineering Culture (1)
- Erica Kwan (1)
- Erin Parker (1)
- Farnaz Ronaghi (1)
- Female CTOs (1)
- Femgineer (1)
- Future of Food Hackathon (1)
- Gayle Laakmann McDowell (1)
- Gemma Barlow (1)
- Go Against The Flow (1)
- Google I/O 2014 (1)
- Grace Hopper (1)
- Grace Hopper Celebration (1)
- Hacbright Academy (1)
- Hack Your Life (1)
- Hack(bright) for Good (1)
- Hackbright Girl Geek Dinner (1)
- Hackbright engineering fellow (1)
- Hardware (1)
- Harvey Mudd College (1)
- Homejoy (1)
- Hour of Code (1)
- Huffington Post (1)
- Hypatia (1)
- Indiegogo (1)
- Industry Insight (1)
- Ingrid Avendaño (1)
- Jason Huggins (1)
- JavaScript (1)
- Jibe (1)
- Job Seeker (1)
- Jocelyn Goldfein (1)
- Joel Franusic (1)
- Kat Hagan (1)
- Kate Matsudaira (1)
- Katherine Wu (1)
- Katie Miller (1)
- Kaylee (1)
- Kelsey Yocum (1)
- Kimber Lockhart (1)
- Ksenia Burlachenko (1)
- LAUNCH Hackathon (1)
- Lauren Antonoff (1)
- Leap Motion (1)
- Lindsay Cade (1)
- LinkedIn (1)
- LinkedIn Profile (1)
- Lise Meitner (1)
- Lookout Mobile Security (1)
- Louise Fox (1)
- Maia Bittner (1)
- Margaret Le (1)
- Margaret Leibovic (1)
- Maria Klawe (1)
- Mariane Abou-Jaoudé (1)
- Marie Curie (1)
- Marissa Marquez (1)
- Martha Kelly (1)
- Math (1)
- Matt Haines (1)
- Mattermark (1)
- Meebo (1)
- Megan Anctil (1)
- Meggie Mahnken (1)
- Mercedes Coyle (1)
- Minted (1)
- Moms in Tech (1)
- Morgan Griggs (1)
- Mozilla (1)
- Music Information Retrieval (1)
- NCC Group (1)
- NESTA (1)
- Natasha Litt (1)
- Nidhi Kulkarni (1)
- Night Classes (1)
- Nishita Agarwal (1)
- Noah Kindler (1)
- Node (1)
- Node.js (1)
- Noise (1)
- O’Reilly (1)
- PandaWhale (1)
- Parse (1)
- Part-time classes (1)
- Perforce (1)
- PickAxe Mobile (1)
- Pinterest (1)
- Platform API (1)
- Popforms (1)
- Powers of Two (1)
- Presidential Innovation Fellow (1)
- Programming Interviews Exposed (1)
- PyCon 2014 (1)
- Quirky Eggs (1)
- Raji Arasu (1)
- Rana el Kaliouby (1)
- Raspberry Pi (1)
- Rebecca Parsons (1)
- RocksBox (1)
- Rosalind Franklin (1)
- Rosette Diaz (1)
- Ruby (1)
- Ruby on Rails (1)
- Sandra Lerner (1)
- Sandy Jen (1)
- Sarah Allen (1)
- Sarah Mei (1)
- Science and Technology (1)
- Security Engineer (1)
- Selenium (1)
- Shannon Burns (1)
- She Started It (1)
- Shiv Kumar (1)
- Smithsonian (1)
- Software Testing (1)
- Spitfire Athlete (1)
- Square (1)
- Stephanie Shupe (1)
- Steve Tjoa (1)
- StubHub (1)
- Student (1)
- Tech Gives Back (1)
- Testing (1)
- The Developers (1)
- ThoughtWorks (1)
- Tom Croucher (1)
- Toxicity (1)
- Tracy Chou (1)
- Twilio (1)
- TwilioQuest (1)
- Twitter (1)
- Velocity Conference 2014 (1)
- Vida Ha (1)
- Warren Colbert (1)
- Washington DC (1)
- Web Developer (1)
- Wendy Saccuzzo (1)
- Women TechMakers (1)
- Work Culture (1)
- Zainab Ghadiyali (1)
- Zed Shaw (1)
- ada (1)
- all-women (1)
- alumna spotlight (1)
- alumnae (1)
- alumni (1)
- app (1)
- be brave get paid (1)
- bias (1)
- black leaders (1)
- blog (1)
- bloomberg (1)
- career strategist (1)
- catalyst (1)
- checkr (1)
- codecademy (1)
- coderpad (1)
- coding interviews (1)
- collaborative coding (1)
- conference (1)
- corporate (1)
- costume (1)
- documentaries (1)
- edie windsor (1)
- education (1)
- efective communication (1)
- employer sponsorship (1)
- engineers (1)
- entrepreneur (1)
- fall2014 (1)
- fellowship (1)
- female founders (1)
- field trip (1)
- finance (1)
- fintech (1)
- firebase (1)
- front-end (1)
- genentech (1)
- getting started (1)
- girl power (1)
- git (1)
- giving back (1)
- gynopedia (1)
- hack bright (1)
- hacker (1)
- hacksmart2018 (1)
- implicit bias (1)
- infographic (1)
- information security (1)
- infosec (1)
- integration (1)
- internship (1)
- interviews (1)
- intro to programming (1)
- jobhunting (1)
- kids code (1)
- leadership (1)
- lesbians who tech (1)
- lwt (1)
- notifica (1)
- onboarding (1)
- online python 101 (1)
- pair programming (1)
- phenomenal woman (1)
- pre-bootcamp (1)
- programmers (1)
- python web framework (1)
- run the world (1)
- salary (1)
- salary negotiation (1)
- san francisco (1)
- security consulting (1)
- self-documenting code (1)
- sf (1)
- sheroes (1)
- software engineering fellowship (1)
- south bay (1)
- starting your own business (1)
- startup (1)
- streak (1)
- superheroes (1)
- tech tips (1)
- technical interview (1)
- technologies (1)
- transition (1)
- tuition (1)
- unconscious bias (1)
- volunteering (1)
- work-life balance (1)
- wwc (1)
- zach haehn (1)
- zapier (1)
- “Versal” (1)