Python Developer Roadmap

Getting started with coding is hard.

Without clear direction, it’s easy to get lost, frustrated and quit.

That’s why we created this Python Developer Roadmap.

It’s a high-level overview of the Python concepts you’ll need to learn.

Now let’s walk through each of the steps…

Setup & Install

This is the very first step. You’re installing Python on to your computer and printing “Hello World”.

For most beginners I recommend the Anaconda Distribution. It includes Python, as well as popular libraries and tools such as Jupyter Notebook.

You’ll learn the basics of command line or terminal (depending on your operating system) and be able to run Python scripts.

Learn what a development environment is and how an integrated development environment (IDE), text editor and notebook each have their pros and cons.

Optionally, you can learn the basics of Git here as well.

Data Structures

Data structures and objects are the “building blocks” of code. They apply to almost every programming language.

In Python, the important ones to know are:

  • Numbers (Integer, Floats)
  • Strings
  • Sets
  • Booleans
  • Lists
  • Tuples
  • Dictionaries

It’s also important to learn the difference between constants and variables and when to use either one.

Control Flow

Control flow allows you to run different parts of your code based on certain conditions.

Learn how the comparison operators work, such as equal, not equal, greater than, less than and learn how to chain them together with or, and.

If statements allow you to run different blocks of code conditionally.

Loops allow you to automate repetitive tasks.

Methods & Functions

Methods and functions are great ways of organizing your code.

Beside organization, they allow you to re-use parts of your code and centralize logic.

These concepts allow for multiple developers to work on a single project.

Milestone Project #1

Now you’re ready to put your skills learned to the test.

You’ve learn some of the basics and have enough knowledge to build a simple game.

I recommend a simple Math quiz or a number guessing game to start.

Object Oriented Programming

Classes, constructors, inheritance, attributes and more.

Object Oriented programming allows us to design complex systems that are easy to understand.

Learn how to design projects with object oriented design patterns.

Modules & Packages

The Python ecosystem is massive.

There are tons of modules and packages in the open source community.

From trading stocks to making an e-commerce website, it probably exists online.

Here you’ll learn how to integrate your code with external packages and how to create and share your own packages.

Error Handling

Errors gonna happen.

If you’re a good developer though, you’ll anticipate them and handle them well.

Some call this “gracefully failing”. Display an error message or execute a different block of code.

Milestone Project #2

Now it’s time to build a meatier project.

Card games are a good option here. War, Blackjack, or Poker are all good picks.

You can also build other simple games like Tic Tac Toe, Connect 4 or Battleship.

Portfolio Projects

Alright, you’ve learned the basics, now what?

Well this is where most people diverge. It’s time to apply your knowledge to something you want to build.

You could build a web scraper, blog, workout tracker, stock trader… anything you want really.

My piece of advice…build something niche.

Don’t just build any kind of workout app… build one that you would enjoy. For example a workout app for climbers, or for new mothers, or for a specific sport.

Make it personal and something you want to use, that way you’ll stick through the tough times of debugging.

Job Hunt

Now that you have a couple portfolio projects under your belt, you’re ready to look for a job.

Build your online presence, your resume and practice for interviews.

Start applying to jobs.

Best of luck!

The Fundamentals Course

This roadmap was based off our Fundamentals course curriculum inside Rising Block membership.

Join us for $1 and accelerate your learning.

Leave a Comment