Every few months someone asks me what language they should learn first. My answer has been the same for two years now — Python. Not because it's perfect, but because it's the one language where you can go from "I've never written a line of code" to "I built something real" faster than anything else out there.
This is the roadmap I'd hand someone starting today. Four weeks. No paid courses. No bootcamp. Just you, a laptop, and consistent daily practice.
Why Python specifically?
The honest answer is that Python is everywhere in 2026 in a way that's hard to overstate. AI and ML are almost entirely built on it. Backend web development, data analysis, automation — Python shows up in all of it. When companies need someone to glue systems together or build something quickly, Python is what they reach for.
The other reason beginners do well with it is the syntax. It reads close to plain English, which means you spend less time fighting the language and more time actually learning to think like a programmer. Compare a basic conditional in Python versus Java and you'll see what I mean immediately.
From a career standpoint, entry-level Python roles have grown significantly. Salaries range from around $55K for data analyst positions up to $100K+ for ML engineer roles, depending on specialisation. More importantly, the skill compounds — once you're solid in Python, picking up frameworks like Django, FastAPI, or LangChain is much faster.
What you actually need to start
A computer. An internet connection. VS Code, which is free. That's genuinely it.
You don't need a math background. You don't need a CS degree — a large percentage of working Python developers are self-taught. You don't need an expensive course. The free resources available in 2026 are better than what people were paying for five years ago.
The one thing you do need is consistency. Thirty minutes a day beats a four-hour session on weekends. The brain retains programming concepts better with daily repetition.
Setting up your environment
Step 1 — Install Python
Go to python.org/downloads and download Python 3.12. When the installer runs, there's one checkbox you must not miss: "Add Python to PATH". If you skip it, Python won't be accessible from your terminal and you'll spend an hour confused. Check it, install, done.
Verify it worked by opening your terminal and running:
python --version
You should see Python 3.12.x. If you do, you're good to go.
Step 2 — Install VS Code
Download from code.visualstudio.com. After installing, open it, go to the Extensions panel on the left sidebar, search for "Python", and install the official Microsoft extension. This gives you syntax highlighting, autocomplete, and the ability to run files directly from the editor.
Step 3 — Your first program
Create a new file, save it as hello.py, and write:
print("Hello, Python!")
Run it with the play button. That's it. You're a programmer now.
Week 1 and 2 — The fundamentals
These are the concepts that form the foundation of everything else. Don't rush past them.
Variables and data types
name = "Ragavi" # String — text
age = 25 # Integer — whole number
height = 5.6 # Float — decimal
is_student = True # Boolean — True or False
print(f"{name} is {age} years old")
Conditionals
age = 18
if age >= 18:
print("You can vote")
else:
print("Not yet")
One thing that catches beginners: Python uses indentation to define code blocks. Four spaces. This isn't optional — get it wrong and your code breaks.
Loops
for i in range(5):
print(f"Number: {i}")
count = 5
while count > 0:
print(f"Countdown: {count}")
count -= 1
Lists
fruits = ["apple", "banana", "orange"]
print(fruits[0]) # apple
print(fruits[-1]) # orange — negative index counts from the end
fruits.append("mango")
print(len(fruits)) # 4
Functions
Once you understand the basics, functions are how you stop repeating yourself:
def greet(name):
print(f"Hello, {name}!")
greet("Ragavi")
greet("Alex")
def add(a, b):
return a + b
result = add(10, 5)
print(result) # 15
Week 3 — Build actual projects
Reading about programming and writing programs are completely different things. The only way concepts stick is by building something. Here are four projects that cover the fundamentals without being trivial.
Project 1: Calculator
def calculator():
num1 = float(input("First number: "))
op = input("Operation (+, -, *, /): ")
num2 = float(input("Second number: "))
if op == "+":
print(f"Result: {num1 + num2}")
elif op == "-":
print(f"Result: {num1 - num2}")
elif op == "*":
print(f"Result: {num1 * num2}")
elif op == "/":
if num2 != 0:
print(f"Result: {num1 / num2}")
else:
print("Can't divide by zero")
calculator()
Project 2: To-do list
tasks = []
def add_task():
task = input("Task: ")
tasks.append({"title": task, "done": False})
print(f"Added: {task}")
def view_tasks():
if not tasks:
print("No tasks yet")
return
for i, task in enumerate(tasks, 1):
status = "done" if task["done"] else "pending"
print(f"{i}. [{status}] {task['title']}")
def main():
while True:
print("\n1. View 2. Add 3. Exit")
choice = input("Choose: ")
if choice == "1":
view_tasks()
elif choice == "2":
add_task()
elif choice == "3":
break
main()
Project 3: Number guessing game
import random
secret = random.randint(1, 100)
attempts = 0
print("Guess a number between 1 and 100")
while True:
guess = int(input("Your guess: "))
attempts += 1
if guess == secret:
print(f"Correct! You got it in {attempts} tries")
break
elif guess < secret:
print("Too low")
else:
print("Too high")
Project 4: Quiz game
quiz = [
{"q": "Capital of France?", "a": "Paris"},
{"q": "What is 2 + 2?", "a": "4"},
{"q": "Who created Python?", "a": "Guido van Rossum"}
]
score = 0
for item in quiz:
answer = input(item["q"] + " ")
if answer.lower() == item["a"].lower():
print("Correct")
score += 1
else:
print(f"Wrong. Answer: {item['a']}")
print(f"\nScore: {score}/{len(quiz)}")
Week 3-4 — Error handling and useful modules
Real programs break. Learning to handle errors gracefully is what separates beginner code from code you can actually ship.
try:
age = int(input("Enter your age: "))
print(f"You are {age} years old")
except ValueError:
print("That's not a valid number")
A few standard library modules worth knowing early:
# File handling
with open("notes.txt", "w") as f:
f.write("Hello from Python")
with open("notes.txt", "r") as f:
print(f.read())
# Random
import random
print(random.randint(1, 6))
print(random.choice(["red", "blue", "green"]))
# DateTime
from datetime import datetime
now = datetime.now()
print(f"Today: {now.strftime('%B %d, %Y')}")
Week 4 — Libraries and portfolio
In the final week, start touching the ecosystem that makes Python powerful for real work.
- NumPy — array operations, the foundation of data science
- Pandas — working with tabular data and CSVs
- Requests — making API calls, pulling data from the web
More importantly: set up GitHub and push everything you've built. Employers look at GitHub. Two or three working projects, even simple ones, are worth more than a certificate from any course.
The learning roadmap at a glance
| Week | Focus | What you build |
|---|---|---|
| 1 | Variables, conditionals, loops, lists | Calculator, grade checker |
| 2 | Functions, dictionaries, string methods | Contact book, text analyzer |
| 3 | Error handling, file I/O, projects | To-do list, quiz game |
| 4 | NumPy, Pandas, APIs, GitHub | Weather app, portfolio |
Resources worth your time
For learning: Real Python is the best written resource. For video, Corey Schafer's Python series on YouTube is thorough and clear. For practice, HackerRank has good Python challenges that start easy and scale up.
Don't buy a course until you've exhausted the free material. You probably never will.
Mistakes that slow people down
Tutorial hell is the big one — watching video after video without actually writing code. You can watch someone swim all day and still drown the first time you get in the water. Close the tutorial and build something.
Not reading error messages is the other common one. That red text in your terminal is telling you exactly what went wrong and on which line. Read it before you Google anything.
Trying to learn everything before building is how people quit. Learn what you need for the next thing you're building. The rest follows naturally.
Where to go after 4 weeks
Once you've finished this roadmap, pick a direction:
- Web development — Learn Django or FastAPI
- Data science — Go deeper into Pandas, then pick up Scikit-learn
- AI/ML — Start with the OpenAI API, then look into LangChain and RAG systems
- Automation — Learn Selenium, write scripts that save you time
The fundamentals you've built carry you into all of these. Python is a good first language precisely because the second thing is always easier.
Written by Ragavi S — tech writer and founder of Tech Journalism. Questions or feedback? Leave a comment below.
Top comments (0)