Last Updated | Dec, 26, 2020 By Kingsley Ijomah
To find out how long it will take you to learn Python programming language, we will first come up with some learning roadmap and then work out proven learning strategies that a beginner can get started with immediately.
In this article, I will answer this question from the point of view of how long it will take to learn Python to the level of Junior developer.
With every new skill you acquire first comes sacrifice, it is important to know this upfront even before you start on this journey.
The toughest part of learning is finding the time and being consistent with it, so there has to be something you already do that will need to take a back seat while you spend that time on learning to code python.
Topics covered in this post:
- Learning Python RoadMap
- 3 Months to Learn Python
- 6 Months to Learn Python
- You will not learn Python if...
- Final Thoughts
How Long Does It Take To Learn Python
Learning Python RoadMap
Begin with a roadmap and have the discipline to stick with it
To find out how long it will take to learn to code python you first need to have a list of what it is you plan to learn. You cannot learn everything so keep the list manageable, below is the main points to focus on:
Path to becoming a Junior Python Developer:
- Python basics
These are the basics to learn in python and indeed any programming language ( Variable, Data Types, Conditionals, Loops, Functions )
- Built-In Data structures in Python
Data in python come in different formats, it is important to learn these, and commit them to mind ( List, Tuple, Dictionary, Set )
- Basic Algorithms
Learn the power of passing interview tests or figuring out solutions to coding problems with these algorithms ( Linear, Binary Iterative, Binary Recursive, Bubble, Selection, Insertion, Quick Sort. )
- OOP ( Object Oriented Programming )
Python is an Object Oriented Programming language, take time to learn elements of OOP such as ( Classes, Methods, Inheritance, Objects )
- Coding Challenges
Start drilling methods of thinking in python by working your way through python coding challenges, this will help you form a solid background to stand the test of time ( 30+ Python coding challenges )
- Python Projects
Challenges help you build ways of thinking in python, projects gives you the experience of building full working projects such as a calculator, snake game, chess game etc, you need around ( 10+ Python Projects )
Learn introduction to basic SQL queries, ( Create, Select, Where, Update, Delete ) SQL Functions such as ( Avg, Count, Max ), Relational database (Normalization, Inner, Outer Joins etc)
- IDE, Github, Hosting(deployment)
Learn how to use IDE's, commit your code to Github, deploy code to cloud servers
- Python frameworks
Learn about different types of frameworks used by python developers, build a project using one of them, example frameworks ( Django, Pandas, Numpy )
- API in Python
Learn about API's what they are and how to use them, learn tools used to interact with API's ( learn REST API )
Learning to code in an effective way requires 3 main phases, Planning, Learning and Practicals:
Plan ahead of time to be better prepared for when the time comes to learn
Benjamin Franklin once said, "If you fail to plan, you are planning to fail." This is very true in this situation, so you will need to plan your weeks ahead of time.
- Draw up a list of what you are going to learn e.g roadmap above
- Every weekend e.g sun spend time planning topics you will cover that week
- Plan to note down how long to spend on each topic per day, keep the topics manageable
- Plan to block out times you plan to start learning each day activate do not disturb on a mobile phone, to increase focus.
- Plan to track minutes spent per topic e.g every 10 or 20mins reset your timer
Put what you planned into action and stick with the plan
Now that planning was done ahead of time when you start your learning focus only on what you have planned to learn without distractions.
- Time yourself as you learn, I tend to use 10mins increments this helps me focus on the subject better
- Install apps such as "Be Focused" to remind you when 10mins lapses
- Take a break every hour away from the screen, this helps your learning and focus
- The objective in the learning phase is to understand the subject through interrogation
- Reference sources and make note of them to save time in future if required.
Put what you have learnt into practice to complete your learning cycle
Once you are satisfied that you understand the subject, then use practicals/exercises to make concrete what you have just learnt.
- Search for sites where you could practice using exercises
- Save these exercises for future revision.
- Commit them to a repository e.g (GitHub)
3 Months to Learn Python
This is possible for those who are not in full-time occupation and can spare a full-day dedicated to learning to code python, it is not an easy challenge, but it is available to those with time to spare.
- Invest no less than 7 hours per day to learning python
- Dedicate no less than 5 - 6 days a week to learning
- Requires strong will power, but totally possible to someone who desires it.
6 Months to Learn Python
If you have other responsibilities and want to learn Python with limited hours in a day, it is possible to do this within 6 months period, to achieve this you need consistency and a very good time management skills.
- Invest no less than 2.5 hours per day to learning python
- Dedicate no less than 7 days a week to learning
- Requires discipline and rigid time management
You will not learn Python if...
- You don't have a strong WHY for wanting to learn to code
- You only plan to learn to code on weekends, this will not work
- You are reading textbooks without actually writing and running your code
- You rely on a partner or colleague to be free before you start learning to code
- You only learn days when you feel like it, it has to be fixed times each day
- You endlessly research without taking action will prevent you from learning to code
- You think you need to be a maths genius and therefore don't believe you can do it
- You think it is a guy's thing and therefore not for you
Learning to code requires planning, learning and a lot of practice, it is a good question to want to know how long it takes to learn to code, but the first thing to do is to figure out a finite list of what you want to learn, discipline to stick with it till the end.
There is always a question of sacrifice involved, less sleep so you can code more, less Netflix so you can use that time for coding or even less time with friends can free up more time for you, but this is all down to you to implement if learning to code is important.
Your WHY for wanting to learn to code needs to be really strong to justify the sacrifices required, in the end, I can guarantee you that it will all be worth it.
I wish you all the best as you embark on this journey.