The honest 12-month Python roadmap. Five phases, 200-400 hours of focused practice total, from your first ![Open planner notebook with a pen, ready for a structured 12-month learning plan]()
How to pick: which track has the most jobs in your target region (check LinkedIn or Indeed), and which type of problem you find more interesting. If you don't know, pick data science — it has the highest growth and most overlap with AI roles. Per the Stack Overflow Developer Survey 2024, Python is most-used alongside SQL, JavaScript, and HTML/CSS, which gives you a hint about what to pair it with later.
One pattern to know: more than 4 hours per day of new-skill learning rarely works for adult beginners. Spaced practice research finds that several shorter sessions outperform one long block, with the largest gains for cognitively demanding material like coding (Springer Educational Psychology Review, 2021). Two 90-minute sessions with a break in between beat one 4-hour grind.
If you follow the CodeGym levels in sequence, you cover the roadmap above by default — no need to assemble your own track from disparate sources. The AI validator gives instant feedback on each task (typically under a few seconds), and the WebIDE means you can practice from any browser without installing tools, which matters for sticking with the daily-hour habit on busy days.
print("Hello") to your first dev job. Every phase has a skip-list — what NOT to learn yet, which matters as much as what to learn. For the broader picture of what Python is and how to start, see our learn Python for beginners guide.Key Takeaways
- Junior-level Python competence takes 200-400 focused practice hours, distributed across 5 phases over 12 months at 1-2 hours per day (observed across CodeGym's Python cohort, 2015-2026).
- Phase 1-2 covers core syntax and small projects. Phase 3 is where specialization starts (web, data science, or automation). Phase 5 is interview prep and job search.
- The biggest predictor of finishing is daily consistency, not daily hours. Spaced practice produces stronger retention than weekend cramming per Springer Educational Psychology Review, 2021.
- VS Code is the most-used editor among professional Python developers per the JetBrains State of Developer Ecosystem 2024, with PyCharm second. Both are free.
- 3-5 finished portfolio projects with clean READMEs and visible commit history is the realistic baseline for entry-level Python applications.
5
phases
over 12 months
over 12 months
250-400
total practice hours
to junior-ready
to junior-ready
1-2 h
per day
(realistic floor)
(realistic floor)
3-5
portfolio projects
before applying
before applying

What Does the 12-Month Python Roadmap Look Like?
Five phases, each building on the previous one. Months 1-2 are pure syntax and tiny scripts. Months 3-4 add intermediate language features and your first real project. Months 5-6 pick a specialization track. Months 7-9 add professional tools (Git, testing, code review). Months 10-12 are interview prep and job applications. The visual below maps the full sequence.1
Foundations · Months 1-2
Syntax, variables, control flow, functions, lists, dicts, file I/O. Write 5-8 tiny scripts. ~30-60 practice hours.
2
Intermediate Python · Months 3-4
OOP, modules, virtual envs, error handling, REST APIs with
requests. First portfolio project. ~50-80 practice hours.3
Specialization · Months 5-6
Pick one track: web (Flask/FastAPI), data science (pandas/scikit-learn), or automation (scripting/cron). Real project in chosen track. ~50-80 practice hours.
4
Professional Tools · Months 7-9
Git/GitHub workflow, pytest testing, reading and contributing to others' code, second public portfolio project. ~70-100 practice hours.
5
Job-Readiness · Months 10-12
Interview prep (algorithms, data structures), system design basics, polish portfolio, apply to 10-20 roles per week. ~50-80 practice hours.
Phase 1: What Foundations Cover Months 1-2?
The non-negotiables. By the end of month 2, you should be able to read a 50-line Python script and write a 30-line script without looking up syntax. The official python.org tutorial covers exactly this scope. What to learn: variables, the six core data types (int, float, str, bool, list, dict),if/else/elif, for and while loops, function definitions with def, error reading bottom-up, and basic file I/O with with open(...). The full code-block walk-through is in our Python syntax tutorial.
What to build: 5-8 tiny scripts. Tip calculator, hangman, to-do CLI, password generator, FizzBuzz. Each one fits in 2-4 hours. The pattern is: small scope, finish, push to GitHub, move on.
Skip-list for Phase 1: Django, Flask, FastAPI, pandas, NumPy, machine learning libraries, OOP, decorators, async. These all come later. The temptation is real because the framework tutorials look cool. Resist it — Phase 1 is foundation, not framework.
Phase 2 — Intermediate Python (Months 3-4)
The bridge phase. You go from "can write 30 lines" to "can structure a 200-line program with reusable parts." This phase has the highest drop-off rate across CodeGym's Python cohort because the transition from procedural scripts to structured code is genuinely harder than learning new syntax. What to learn: object-oriented programming (classes, methods, inheritance — the basics, not Java-style design patterns), modules and imports,virtualenv or venv for isolated environments, error handling with try / except, and making HTTP requests with the requests library.
What to build: one portfolio-worthy project. Pick something you'd actually use. A weather CLI that talks to a free API, a personal expense tracker, a small Telegram bot, a Pomodoro timer with notifications. Aim for 100-300 lines of code, a clean README, and 5+ commits in the GitHub history.
Skip-list for Phase 2: Django, FastAPI, pandas, machine learning. Wait until you've finished one full project end to end first.Phase 3: Which Specialization Should You Pick in Months 5-6?
This is the fork. Python is broad enough that "Python developer" doesn't mean one thing. Three tracks cover 90% of job paths.| Track | What you learn | What you build |
|---|---|---|
| Web | Flask first (easier), then FastAPI (modern) or Django (full-featured) | A small web app: blog, todo list with auth, simple API service |
| Data science | pandas, NumPy, matplotlib, Jupyter notebooks, scikit-learn basics | A data analysis or simple ML model on a public dataset |
| Automation | Scripting OS tasks, scheduling with cron or APScheduler, web scraping | End-to-end automation that saves you (or someone) real time |
Phase 4 — Professional Tools (Months 7-9)
What separates "I can write Python" from "I can work on a team that writes Python." Three professional habits. Git/GitHub for version control. Tests with pytest for code that keeps working. Reading other people's code on GitHub for habits and patterns. Per the JetBrains State of Developer Ecosystem 2024, professional developers use VS Code or PyCharm Community (both free) — install one and learn its keyboard shortcuts. What to build: a second public portfolio project, more ambitious than the first. Aim for 500+ lines of code, a tests directory with 5-10 pytest functions, a README with screenshots, and 20+ commits with descriptive messages. This is the project that goes at the top of your resume. Skip-list for Phase 4: system design at scale, distributed systems, Kubernetes, microservices. Those come at the senior level, not the junior application phase.Phase 5: How Do You Become Job-Ready in Months 10-12?
The application phase. Three parallel workstreams: interview prep, portfolio polish, and the actual job search. Interview prep: 30-50 algorithm and data-structure problems at easy-to-medium level. Focus on the patterns most asked in junior Python interviews: string manipulation, list manipulation, dict lookups, recursion basics, simple complexity analysis. The full breakdown is in our Python interview prep on your roadmap spoke. Portfolio polish: rewrite the READMEs on your 3-5 best projects. Add a one-line description, a "What it does" section, a "How to run" section with copy-paste commands, and at least one screenshot or GIF. Recruiters spend 30-60 seconds per project — make those seconds count. Job search: apply to 10-20 roles per week. Mix big-company graduate programs (longer process, prestigious), smaller startups (faster process, less pay), and freelance/contract gigs (easiest to land, builds confidence). Track applications in a spreadsheet. Most junior dev hires happen after 30-100 applications.How Many Hours Per Day Should You Practice?
The honest math. Junior-level competence takes 200-400 total focused hours of practice. Divide by your daily availability and you get a real calendar.| Daily practice | Calendar to junior-ready | Realism |
|---|---|---|
| 30 minutes | 18-24 months | Sustainable; slowest |
| 1 hour | 9-13 months | Realistic for working adults |
| 2 hours | 5-7 months | Strong pace; requires discipline |
| 4 hours (full-time) | 3-5 months | Bootcamp pace; cognitive cap |
How Do You Adjust This Roadmap for Your Situation?
Three common situations adjust the roadmap up or down. You already code in another language. Cut Phase 1 in half. Most syntax transfers from JavaScript, Java, or Ruby. Spend the saved time on Phase 3 specialization, which is where your competitive edge lives. Realistic total: 6-9 months instead of 12. You have only 5 hours per week. Extend the calendar to 18-24 months, not the content. The skip-lists matter more than ever — every minute you spend on Django before you know functions is a minute stolen from the foundations. See how long learning Python takes for the full slow-paced math. You're full-time learning (bootcamp pace). Compress to 4-6 months. Pair the roadmap with structured task-based practice (e.g., the CodeGym Python track on the free tier) so you stay accountable to daily progress. Stack Phase 1-2 into the same month if your prior experience allows. You only want Python for one specific task. Skip Phases 4-5. Cover Phase 1, half of Phase 2, and one focused tutorial for your target task. Marketers who automate one weekly report do not need the full junior-developer track.Why Do Most Self-Learners Fail at the Roadmap?
Three predictable traps, each at a predictable point. The tutorial-loop trap (Month 2-3). You finish a tutorial, hit a real problem, freeze, and reach for the next tutorial. The fix is writing 20 minutes of code daily without any guide, even when stuck. Confusion is the signal you're learning, not the signal to switch tutorials. The framework-too-soon trap (Month 3-4). You learn basics and immediately jump to Django before understanding decorators or whatself means. Frameworks add 10+ concepts on top of the language. Spend the extra month on intermediate Python first. Full breakdown in Python mistakes to avoid on your path.
The perfection trap (Month 5-6). You start a portfolio project, refactor it eight times, never finish it. Ship the ugly working version, then iterate. Recruiters look at finished v1 projects, not perfect v8 architectures.How Does CodeGym's Curriculum Map to These Phases?
The CodeGym Python Course is structured into six modules across 62 gamified levels, totaling 800+ practical tasks with AI-validated instant feedback. Each module slots into a phase of this roadmap, which means you can use CodeGym's existing structure as your daily-practice spine without having to design your own curriculum.| Roadmap phase | CodeGym module | What you'll work on |
|---|---|---|
| Phase 1-2 (Foundations + Intermediate) | Python Core | Variables, types, loops, functions, lists, dicts, strings, classes, decorators, Git/GitHub |
| Phase 2-3 (Intermediate + Specialization) | Python Advanced | Errors, debugging, modules, file I/O, JSON, networking, sockets, async |
| Phase 3 (Specialization — data track) | Data Processing | Excel automation, HTML/CSS, BeautifulSoup, web scraping, dynamic content |
| Phase 3 (Specialization — automation track) | Automation | Selenium, scheduling, Matplotlib, Plotly, PDF/image/video processing |
| Phase 4 (Professional Tools) | Algorithms & Data Structures | Tkinter GUI, search, hashing, recursion, sorting, trees, graphs, dynamic programming, complexity |
| Phase 5 (Job-Readiness) | Python Pro | IT Industry and You, Modern Development |
Pair the Roadmap With CodeGym's Python Track
62 levels, 800+ practical tasks, 63 tests, AI validator on every exercise. The course module structure mirrors the 5 roadmap phases above. First level free; full curriculum on the pricing page. Open the free Python track →How Do You Track Your Roadmap Progress?
Five concrete checkpoints, one per phase. If you can answer "yes" to each one at the right month, you're on track.- End of Month 2: Can you write a 30-line Python script that takes input, processes it, and saves to a file, without looking up syntax?
- End of Month 4: Do you have one portfolio project (100+ lines) pushed to GitHub with a README and 5+ commits?
- End of Month 6: Have you finished a second project in your chosen specialization (web, data, or automation)?
- End of Month 9: Do you have a Git workflow, a project with pytest tests, and 20+ commit messages that actually describe what changed?
- End of Month 12: Have you applied to at least 50 roles and gotten at least 3-5 interview invitations?
Frequently Asked Questions About the Python Roadmap
Can I follow this Python roadmap part-time?
Yes. The 12-month timeline assumes 1-2 hours of practice per day. At 30 minutes per day, expect 18-24 months for the same outcomes. At 4 hours per day full-time, expect 4-6 months. The roadmap structure stays the same; only the calendar stretches or compresses.Do I need a CS degree to follow this Python roadmap?
No. The roadmap is built for self-learners without a CS degree. Per the Stack Overflow Developer Survey 2024, 49% of professional developers learned to code primarily through self-study or workplace training. A polished portfolio of 3-5 finished projects matters more than a diploma for entry-level Python roles.What is the fastest realistic version of this roadmap?
Four to six months at 4 hours per day of focused practice, with strong prior coding experience in any language. Without prior coding experience, three months is unrealistic — you can absorb the syntax but not the project-building reps that recruiters look for. Six months full-time is the realistic floor.When should I start applying for Python jobs?
After Phase 4 (Month 9), once you have 3-5 finished portfolio projects with clean READMEs and visible commit history. Apply to 10-20 roles per week starting Month 10. Job search takes 1-3 months on average, which aligns with completing Phase 5 by Month 12.The Bottom Line: The Roadmap Doesn't Change, the Calendar Does
Five phases, 200-400 hours, 3-5 finished projects, 50+ applications. That's the structure of every successful self-taught Python career, scaled up or down by how many hours per day you can sustain. Pick the daily commitment you can actually sustain, write the goal somewhere visible, and start Phase 1 today. The bigger context — what Python is, why it pays, what to build — lives in our complete guide to learn Python for beginners.Learn more about our mission and terms of service. Published article was last reviewed on 2026-05-13.
GO TO FULL VERSION