Table of contents

At the end of this article, you should have clarity from becoming a python developer to landing your first job.

Roadmap to learn Python programming language

The very first step is to learn python programming language. There are two approaches to learn python.

If you are consistent enough, you can cover the topics in 30-60 days or lesser.

Approach 1 - For beginners

If you are a complete beginner, then you should follow this approach. From the resources links below you can pick any one of free courses and start your python journey.

Approach 2 - Manual way

Follow this approach, if you already know python and want to refresh your python concepts. You can pick these python concepts one by one and start your learning journey.

You can pick these topics one by one like python syntax on day 1 and python datatypes on day 2, at your convenience.

Python beginner projects

Once you have learned the fundamentals of python programming language, build five to ten python projects from any of the resources below.

Python career opportunities

Following the above two sections makes sure you have a sound knowledge of python programming language. Now it's up to you how you manage your time to establish yourself as a python expert.

There is one thing that you should never skip learning is data structures and algorithms. It is not required most of the time but it will improve your thinking & coding skills. I can bet that you will never regret in the long term if you learn this as soon as possible.

Areas in Python

Web Development

In this area, the job is to build websites. The website has two main job roles one is the front end and the other is the backend, python is used on the backend side. Some of the world’s most popular companies like NASA, Google, IBM, Cisco, and Microsoft use python.

If you have good knowledge of both backend and frontend, then you can also apply for full stack developer roles.

Technologies to learn to become a python web developer are: HTML, CSS, Javascript, SQL, Python, Django, Djangorestframework, Flask

Resources for learning web development using python:

Web Scraping

In this area, your job is to scrape web pages from different websites and then parse meaningful information out of it. The main advantage of this field is that you get to learn about the web in depth.

Technologies to learn to become a python web scraping and automation developer are: Javascript, Python, Scrapy, Selenium, Beautiful soup.

Resources for learning web scraping using python:

Machine learning and Deep learning

In this field, machine learning and deep learning algorithms are used to analyze data and predicted information to get insights. For example, youtube video suggestions based on the user video's view pattern.

If you are interested in this field then you can find a position as a machine learning or deep learning engineer or a data scientist. Here your role will be to work with a lot of data covering areas like NLP, computer vision, data science, AI, etc.

Resources for learning are:

Above courses are from Coursera; to get a financial aid, try following the tips in this article.

Python job sites

Once you have learned the fundamentals of python, and one of the areas of Python, you should have enough knowledge of working with Python. Here are a 9 websites from where you can apply for python jobs

Frequently asked questions

Why learning a new programming language is difficult?

Learning something new can be tough if you are a student or a completely new beginner who doesn’t know how to learn something and this is not an individual issue, everyone deals with these things like which concepts to concentrate on, what to learn first, and what to learn after it.

The solution to this is a well-organized roadmap. My goal for this article is to give you such a roadmap that will not only help you to learn python but also how you can earn through it.

How long does it take to learn python?

In general, it takes around two to six months to learn the fundamentals of Python and get a beginner job. Mastering everything in python can take years because there are thousands of libraries, but you can learn enough to write your first short program in a matter of minutes.

How much time to dedicate to learn python

There is a saying that consistency is the key and this is very useful here. The specific time is like 2 hrs each day with a goal in mind. 

One can think of this as understanding python variables in these 2 hours. This way whenever you devote the time, you will actually learn something and can also track your progress.

Can I learn python at once

The most common habits of people are that they try to cover up everything in one go. This way it's very difficult to grasp the concepts deeply and possibly in the long run chances of forgetting concepts are more.

The reason is that you have not practiced the concepts enough that your mind turns them into your habits. It's like initially, you learn to drive a car and focus your mind on gear, clutch, brake, etc but gradually it turns in such a way that you no longer have to use your mind for all these things and you just drive.

So it's, better to practice each day, a specific topic at a specific time each.

What is role of projects and exercises

By learning just about the ingredients of a tea, you can not make a perfect tea in the same way once you have learned the basics, the next thing is to build confidence. For this generally, I find two ways problem solving and making projects.

Problem-solving will help you in analyzing and thinking of a solution way before programming, you can also think of it as a logic building. For this, you can search for problems related to specific topics like solving problems on string and arithmetic operations, loops, regular expressions, etc.

Another thing is making projects, here is where all your problem-solving skills come into use. Start with small projects like a calculator program and move on to more complex projects.

Once you have solved enough problems and made enough projects, one thing I guarantee you is that you can easily land a fresher python developer job.

Role of GitHub and Opensource projects

GitHub is a code hosting platform for version control and collaboration. It lets you and others work together on projects from anywhere.

The point here is that if any project or a piece of code work and you think that it is useful in any way to others either end-users or developers, then you should put your code on GitHub and invite other developers to collaborate on your project. By collaborating I mean others can add new features to your existing code or find and fix the bugs.

This is like you designing your room and you invite others to come up with their ideas too.

Python Freelancing on Upwork

Now it's time to earn through what you have learned so far. You can start freelancing as soon as you have learned the basics.

Essentially, a freelance job is one where a person works for themselves, rather than for a company. While freelancers do take on contract work for companies and organizations, they are ultimately self-employed.

Freelancers are responsible for all sorts of things that traditional employees are not, such as setting their work hours, keeping track of time spent on different projects, billing clients, and paying their own employment and business taxes. Freelancers are not considered “employees” by the companies they work for, but rather “contractors.”

One important thing about freelancing is that it's not suited for everybody because you have to be self-disciplined, unlike full-time jobs where you get a monthly salary. One of the good things about freelancing is that if you are good enough then you can earn more than big giant companies can pay you after hiring you as an employee and at the same time you are solely responsible for the work done.

Out of the various platform for freelancing, one of the best which I personally use is Upwork. I would advise you to create an account there. Initially, it's difficult to get a job because it's possible that for that same job that you are bidding on, there can be many other applicants who have a better Upwork profile than yours. There are a few types of work here divided into fixed-price jobs and hourly jobs.

Initially, I started bidding on small fixed-price jobs priced at $20-$50 and still setting a half rate for that job. This way I increased my chances of getting that job because top Upwork freelancers won't bid on that due to its low price and others bid at the same price at which the job is posted. One thing I am sure of about these types of jobs is I know exactly how to do that work. 

You can follow the same approach and once you start delivering the work and started getting good feedback on your profile you no longer will remain a noob on the platform. After that, you can search for hourly jobs starting with a low rate like $10 per hour, and then your headache to bid on a fixed-price job every time you finish one goes away.

Role of a Personal Website

At last one important thing is to start writing blog articles at some blogging site like medium.com or have a youtube channel where you can post content as per your domain.

I advise you to have your own website as a developer and showcase your skills there. I got one of my first hourly freelance jobs just because of my website and online presence. He judged me on the basis of my articles and the Github repository.

This made him trust me and I got the project. I got to know about this later in a meeting discussion.

Some of the useful python websites

That's all. I hope you should get a clarity about Python by now.