Python Roadmap to Becoming a 100k/Year Developer

Matteo Possamai
Python in Plain English
5 min readFeb 8, 2022

--

If you want to boost your career in software development, and you want to do this with Python, congratulations, you made a great choice. Despite that, this journey will be sometimes hard, difficult, and challenging. Remember, don’t leave. If you can reach a good amount of experience, your revenue will be over 100k / year. So, let’s dive into how to reach this goal, and build something beautiful.

Python

First, you need to be sure that you want to learn Python as the language to build your career on, as the most effective one. If you are not sure, remember that it is one of the most loved ones, one of the most popular, and also with the bigger community. It has also a lot of libraries that are well developed and maintained. So, any doubts? No? Let’s start.

If you want to make a comparison between Python and two other important languages, like JavaScript and Java, check out these articles:

Basics of the language

The first thing that you have to master, is the basics of Python. What are? They are expressions, types, and variables. When you understood these basic concepts, you can dive into deeper things. Learn about functions, loops, scope, and arrays. This is almost everything you need to master to know the basics of this language.

When you know these things, you know all the easiest concepts, and you can perform basic operations, in your shell editor. You know that Python has a huge standard library, with some dependencies like Numpy that are almost an extension of some basic concepts. For example, NumPy arrays are like a normal list, but with steroids. So, make sure to check out this performant, but a bit more complicated concepts.

The time needed: 2week

Understanding of the usage and sense of Python

This is almost the easiest step. It is a code-free step. You have to figure out the possible use cases of Python, and the libraries that help you succeed in building these things. You have to search all the possibilities, and see where Python is the best, and where is good but not incredibly good. After that, you will know what you will work on during your work journey with Python.

This is a useful moment because you can understand a lot about the language, and also the skills you need to focus more on.

Spoiler: main use cases are data science and ML. During this process, take care of taking notes about projects for something that interests you a lot, even if you are not still able to do that. In the future, you will.

The time needed: 2 / 3 days

Medium Python concepts

Let’s return to code. This is probably the most challenging part of the journey. Once done that, there is nothing you can’t do. In this part, you need to know concepts that are a bit difficult, but necessary to code big codebases.

Here there are the steps you need to follow: start with keywords, functions and arguments. Then, move on with a bit of more complex data structure, like list, tuple, set. Understand the perks of all of them, when to use and why. Do a little research on all the medium concepts that you need, and make sure to learn them.

Well, now you have a great foundation in Python. Time to go on

The time needed: 2 weeks

Libraries

In the learning process of every programming language, making sure to be able to use external libraries is vital. So, start implementing some libraries code, learn about PIP and Conda, to install and manage them.

The suggested libraries that are better to know, also according to Python use cases are Matplotlib, Seaborn, Pandas, Tensorflow (you need also to master ML concepts to use this. Those concepts are not strictly Python arguments).

If you want also to have fun, check out libraries like Pygame, to make fun 2d games, or Tkinter, to develop your first Desktop application. You will enjoy this step for sure

The time needed: 5 days x each library you want to learn

Advanced Python concepts

And now, that you master all the basics and medium concepts, now that you can use libraries properly, let’s move on to the most advanced topics, that will make your code efficient and incredibly powerful. They are OOP and decorators. It could take a bit if you are not familiar with the meaning of OOP. Then, start to learn about sockets, JSON formatting and HTTP. Also if HTTP is not strictly necessary for Python, it is one of the most important protocols out there, so it is a must.

Then, move on to Data Structure implementation. Create and manipulate your own Binary Trees and Linked Lists. At this point, try to understand something about how Python works under the hood. If you can understand a little of that, your programs will be much more efficient in the future, for sure.

This is pretty much it. It may look east, but it isn’t. Make sure to not give up. You will make extraordinary things if you keep on working and learning

The time needed: 3 / 5 weeks

Notes

To better succeed in this journey, at every step you have to create some projects, to be sure that you got the point of what you are learning, and you have also something to show and see, that motivates you to keep pushing. If you don’t have any idea, check out on Youtube some examples of simple projects, and try to do the same, without using the tutorial code. In the end, you can do a comparison.

Conclusion

You are now done with your journey. You can find a job as a Python developer, and makeover 100k /year. It is amazing, isn’t it? You have done a great job, and all the effort has been worth it.

So, this is overall the best journey to take to become a paid Python developer in 2022. Remember, all the steps can variate, based on your previous experiences with other languages and paradigms. So, make your best, and learn everything you need to succeed. Good luck, enjoy the journey

Thanks for reading. Please, subscribe for more

Do you want to learn more about Python: check out these articles:

More content at plainenglish.io. Sign up for our free weekly newsletter. Get exclusive access to writing opportunities and advice in our community Discord.

--

--

Computer science student, technology enthusiast, interested in backend services, software development and Open Source.