How a Chicago restaurant worker learned Python in 5 months (real story + roadmap)
This is a composite story. It's built from real patterns I see repeatedly in the Chicago Python market — restaurant workers, retail managers, nurses, teachers, insurance adjusters — people with zero CS background who make the switch. No single one of them followed exactly this timeline, but the shape of the journey is real. I'll change the name and details but keep the shape honest.
Meet the fictional-but-composite: Ana, line cook in Logan Square
Ana is 29. She's been cooking on the line at a well-reviewed Logan Square restaurant for six years. She loves the food but not the hours, not the pay ceiling, not the standing on concrete floors, not the future she can see if she keeps doing this until 45.
She doesn't have a CS degree. She has a community college certificate in business admin from 2015. She's never written code. She has one advantage: she's really good at reading recipes exactly, which turns out to be a decent proxy for reading documentation exactly.
She sees an r/learnpython thread about someone landing a $75K job with no degree and decides to try it. She has $200/month to spend on this project and 2-3 hours a night after her lunch shift ends.
Here's what happened over the next five months.
Month 1: The abrupt reality of learning to code
Ana starts on a Monday in January. She commits to 90 minutes a day, six days a week, one full day off.
Week 1 she spends on the free interactive lessons on our platform — the first 15 lessons are free with no signup. She finishes lesson 5 the first day, feels like a genius, then bounces off lesson 7 (functions with default arguments) and spends the whole second day re-reading the same lesson. This is normal. Most people quit here.
Week 2 she's back on track but slower. She discovers she learns better when she types every line herself instead of copy-pasting. She discovers her keyboard shortcuts are terrible and installs a text expander. She discovers her wrists hurt after 3 hours and buys a better mouse. Every one of these tiny discoveries compounds.
Week 3 she starts the paid Foundations track ($12/month, cancels her Netflix, no complaints). The AI tutor answers her stupid questions without judgment. She types a program from scratch that reads her restaurant's tips CSV and calculates weekly average tips per person. It has bugs. She fixes them. She feels for the first time like she is doing something real.
Week 4 she has a wobble. Her partner asks whether this is going anywhere. She almost quits. She doesn't. She writes a small Python script that sorts her Downloads folder by file type, and the pure practical usefulness of it re-motivates her. She keeps going.
End of month 1: She's completed maybe 60 of the 174 Foundations lessons. She can write a Python program from scratch that reads a CSV, filters it, and writes a summary. She can Google errors like a person, not a beginner. Her wrists have adjusted.
Month 2: The functions-to-classes valley
Weeks 5-6 are functions and error handling. Ana loves functions — they feel like recipes. She writes small utility functions all day. Her Downloads folder is now scary-clean.
Weeks 7-8 are classes and OOP. Ana hates classes. They feel abstract and pointless. She reads about them, watches a YouTube video, feels dumber than before. She emails her AI tutor an angry question at 2am. The AI tutor patiently walks her through why she'd want a Recipe class for her restaurant inventory. She writes a small inventory-tracking script using classes. Something clicks.
She also has her first real hobby project by end of month 2: a Python script that reads her restaurant's daily sales export, calculates food cost percentage, and emails her a summary. It runs on her laptop nightly via cron. Her chef notices and asks her to run it for the whole restaurant. This is not job-hunt material yet, but it is a real project doing real work.
Month 2 stats: She's completed most of Foundations. She has three real GitHub repos with commits across January and February. She's still working full-time at the restaurant.
Month 3: The first real deployable project
Ana picks the FastAPI backend track. She spends month 3 building an API that manages restaurant inventory — the same problem she solved in month 2, but now as a real web service other people could use.
Weeks 9-10: FastAPI basics, Pydantic models, one endpoint at a time. She struggles with async at first, gives up on understanding it deeply, learns just enough to move on. This is the correct call.
Weeks 11-12: Deployment to Fly.io. Domain, SSL, and a Postgres database. She stares at her first 500 error for four hours before figuring out she forgot a database migration.
End of month 3: She has a deployed API with a public URL. It has three endpoints. Its database has real data (from her restaurant, with permission). She's written a README that explains the architecture in three paragraphs. This is her first job-hunt-worthy project.
She's also spent most of her savings on this project ($30 in Fly.io hosting, $12 for a domain, still cheaper than one dinner out).
Month 4: Second project + the pivot to specialization
Ana thinks about what she wants to actually do. She likes cooking. She likes restaurants. She realizes there's a real industry — restaurant SaaS — that hires Python engineers. Toast, Square (Cash App for Business), Grubhub, ChowNow. Chicago has a real concentration of these.
She decides to specialize in restaurant tech.
Weeks 13-14: She adds authentication to her month-3 API. Learns JWTs. Learns Supabase (easier than rolling her own). Adds tests with pytest.
Weeks 15-16: She builds a second, related project — a simple restaurant menu API that generates prices based on ingredient costs (using her month-3 API as data source). Small but complete.
She also joins the Chicago Python meetup, which meets monthly at various tech company offices. She feels imposter-syndrome-y for the first two meetups but keeps going. At the third one, someone tells her Grubhub is hiring juniors for its restaurant partner tools team.
She spends the second half of month 4 doing focused interview prep — the 104 Interview Prep lessons cover LeetCode-easy patterns, behavioral STAR templates, and mock system design. She practices explaining her projects out loud. Her cook-timing brain turns out to be great for the pacing part of interviews.
Month 5: Applications and the first offer
Ana applies to 42 jobs in Chicago in three weeks. Filters: junior Python + Chicago + on-site or hybrid.
She specifically targets:
- Grubhub (Chicago HQ, hires juniors on restaurant partner team)
- Groupon (Chicago HQ, still real, still hires Python)
- ChowNow (small but Chicago presence, restaurant SaaS)
- Toast Chicago office (restaurant tech, obvious fit)
- Kraft Heinz Digital (unexpected Python employer, food industry tie)
- Boeing Digital Solutions (huge, methodical, junior-friendly)
- McDonald's Digital (their Chicago HQ tech team is real and Python-heavy)
- Enova, Discover Financial, Morningstar (Chicago fintech)
- Uptake, Tempus, Relativity (Chicago growth-stage)
She gets 9 callbacks. Six phone screens. Three onsites. Two offers. She takes the smaller one — a $78K junior Python role at ChowNow because they let her keep restaurant hospitality mentions in her resume without treating it as a red flag.
Total elapsed time from first Python lesson to accepted offer: 22 weeks. Cost: about $80 in platform subscription, $50 in deployment fees, $200 in books and coffee. Total: $330 versus $17K for a bootcamp.
Was she "lucky"? Partly. Chicago has a real restaurant-tech ecosystem that appreciated her domain knowledge, and she pattern-matched into it. But the code was real, the projects were deployed, and the interview prep was genuine. Luck compounds preparation.
The roadmap you can copy
If Ana's story resonates, here's the compressed version to steal:
Weeks 1-4: Free lessons. First 15 on learnpython.academy, no signup. Type every line. Don't quit at week 3.
Weeks 5-8: Foundations track. All the way through. Pay the $12/month if you can, use the free tier if you can't. Build small utility scripts.
Weeks 9-12: First deployed project. Pick FastAPI + Postgres. Solve a problem you actually have. Deploy to Fly.io or Railway. Public URL, public GitHub.
Weeks 13-16: Specialize + second project. Pick an industry that matches something you already know (Ana: restaurants → restaurant tech). Build a second project in that domain. Attend meetups. Talk to real engineers.
Weeks 17-22: Interview prep + apply. 104 Interview Prep lessons plus 40-60 real applications. Two-three offers if you show up seriously.
Chicago-specific hiring tips
- Chicago pays less than SF but more than most Midwest cities. Junior Python: $70K-$95K. Mid: $105K-$135K. Senior: $135K-$180K. Cost of living is real Midwest-friendly, so takehome is decent.
- Chicago tech is real but you have to look. Groupon and Grubhub are still real employers. Boeing, McDonald's, and Kraft Heinz all have serious Chicago tech teams. Uptake, Tempus, Relativity, Enova are growth-stage. Not everyone knows this — use it.
- The Chicago Python meetup is genuinely valuable. Actually meets in person. Actually leads to jobs. Show up.
- Domain expertise beats CS degrees for career switchers. Ana was a line cook; she got hired at restaurant SaaS. If you're a nurse, target healthtech. If you're an accountant, target fintech. Your prior life is an asset, not a liability.
The honest disclaimer
Ana is composite. Real career switchers I know took 4-9 months and had a similar shape. Some took longer. Some had partner support that made the timeline gentler. Some worked full-time the whole way through and it made everything harder but they still got there.
The people who don't finish share a pattern: they quit at week 3 (bounced off functions), week 8 (bounced off classes), or week 14 (bounced off deployment errors). If you can push through all three, you'll finish.
Start with our first lesson. It's free. It takes 10 minutes. If it clicks, keep going. If it doesn't, you've saved yourself five months.
Chicago hires junior Python engineers. You can be one of them.