Why I Did This (And Why I Almost Didn't)
Everyone in my class seemed to be learning to code. My cousins who went abroad kept talking about Python, machine learning, software engineering salaries. I told myself I'd start "next week" for three months straight. Then I made a bet with my friend — 30 days, every day, no skipping. The loser pays for lunch.
This post is everything that happened. No filter, no motivation-poster nonsense. Just what a complete beginner honestly experiences when they commit to learning code for a month.
Week 1 — Confusion, Then a Spark
The first week was genuinely hard. Not hard the way lifting weights is hard — hard the way a foreign language is hard, when even basic sentences don't make sense yet.
Week 2 — The Wall Everyone Hits
Week two is where most people quit. I almost did too. The topics got harder — functions, loops, lists — and suddenly my "I sort of get this" feeling from week one evaporated completely.
What saved me in week two was switching from watching tutorials to actually building things. Even broken, half-working things. When you watch a tutorial, your brain thinks it understands. When you try to do it yourself from memory and your screen is full of red errors, you find out what you actually know.
What I Built in Week 2:
- A to-do list that runs in the terminal — add, remove, see all tasks
- A basic quiz program that asks 5 questions and shows your score
- A simple calculator — took 30 minutes after struggling for 2 days on loops
Week 3 — Finally Thinking Like a Programmer
Something genuinely changed in week three. I started to think differently. When I had a problem to solve, instead of immediately Googling, I'd pause and think: "What are the steps? Can I break this into smaller pieces?"
That is what coding actually teaches you. It's not Python syntax. It's structured problem solving — breaking complex things into small, manageable steps. This skill transfers to everything: university assignments, business problems, even organising your day.
Week 4 — From Student to Builder
By week four I stopped thinking of myself as someone who is "learning to code" and started thinking of myself as someone who codes — just not very well yet. It's a small mindset shift but it matters enormously.
I added file handling to my finance tracker so it saves your data. I touched on some basic OOP concepts. I started reading other people's code and understanding maybe 60% of it. That felt incredible.
What I Can Actually Build After 30 Days
Let me be brutally honest about this. After 30 days, I can build:
- ✅ Terminal-based programs that take user input and produce output
- ✅ Programs that read and write files (CSV, text)
- ✅ Simple data structures: lists, dictionaries, sets
- ✅ Functions that take parameters and return values
- ✅ Basic loops and conditional logic
- ❌ Websites (that needs HTML/CSS/JavaScript — different path)
- ❌ Mobile apps
- ❌ Machine learning models (need much more Python first)
After 30 days you are NOT job-ready as a developer. Anyone who says you can be in 30 days is selling you something. But you are genuinely starting. You have the foundation. The first month of running doesn't make you a marathon runner — it makes you someone who runs.
3 Mistakes I Made (Learn From Them)
1. Tutorial Hell — Watching Instead of Building
I spent the first 4 days almost entirely watching YouTube tutorials. It felt productive. It wasn't. The moment I closed the video and tried to reproduce what I'd watched, I had nothing. Rule I now follow: for every 30 minutes of video, spend 60 minutes building something using what you just saw.
2. Switching Languages Mid-Way
On Day 12, after a frustrating session, I convinced myself JavaScript might be easier. I spent a full day looking at JavaScript beginner content before my friend talked sense into me. Don't switch. The grass is not greener. The confusion is the learning.
3. Not Using AI Tools Early Enough
I spent hours stuck on errors that ChatGPT or an AI tutor could have explained in seconds. Once I started using AI tools as a coding mentor — asking it to explain errors, not to write code for me — my progress doubled. There's a right way and a wrong way to use AI for learning.
Resources I Actually Used
No affiliate links. Just what worked:
- Python.org official tutorial — dry but accurate and free
- freeCodeCamp YouTube channel — long-form, thorough explanations
- BitWithBite — gamified learning kept me consistent when motivation was low
- CS50P (Harvard's Python course) — completely free, genuinely excellent
- r/learnpython on Reddit — when I was stuck and needed human answers
Day 31 — What Happens Next
The bet is won. Lunch is paid for. But more importantly, I'm not stopping. The 30-day challenge gave me one thing more valuable than any specific skill: I proved to myself that I can learn hard technical things. That belief is worth more than any tutorial.
My plan for the next 60 days: finish basic Python, start web development with HTML and CSS, then JavaScript. Then maybe Django to connect them. I have a goal — to build a working web app by the end of the year. One month in, I believe it's possible. That was not the case 31 days ago.