How to start learning to code: Python or JavaScript, a 3-month plan, tutorial hell

TUREFF• •0
Almost everyone who learns to program goes through the same stages: excitement, a flood of tutorials, a stretch where nothing seems to stick, and then, if they keep building things, a point where it clicks. This guide is about getting to that point faster and with less wasted time.

Pick a first language by what you want to make

The first language matters less than people think, because the core ideas (variables, loops, functions, data structures, debugging) carry over to every other one. Still, choosing by goal keeps you motivated.
  • Python if you are interested in data, automation, scripting, science or AI. The syntax is clean and reads almost like English, and you can do useful things, like renaming a thousand files or tidying a spreadsheet, within weeks.
  • JavaScript if you want to build websites or web apps. It runs in every browser, so you can see your results immediately and share them with a link.
  • Something else only if your goal demands it: Swift for iPhone apps, Kotlin for Android, C# if you mainly want to make games in Unity.
Do not spend weeks deciding. Pick one and commit to it for at least three months.

A three-month plan

  1. Weeks 1 to 4: the basics. Variables, types, conditions, loops, functions, lists and dictionaries (or arrays and objects in JavaScript). Write small programs every day: a tip calculator, a number-guessing game, a to-do list in the terminal.
  2. Weeks 5 to 8: the tools. Learn to use a code editor properly, read error messages, use a debugger, and put your work in Git. Start reading other people's code. For JavaScript, add HTML, CSS and the basics of how a page talks to a server. For Python, learn to read and write files and use a couple of popular libraries.
  3. Weeks 9 to 12: one real project. Build something you actually want, from start to finish. It will be harder than any tutorial, and that is the point.
An hour a day, most days, beats a ten-hour session at the weekend. Programming is learned by repetition.

Free resources, by type

  • Interactive courses that run code in the browser are good for the first few weeks, because there is nothing to install.
  • Structured free curricula from universities and non-profits give you a path to follow and exercises with answers.
  • Official documentation for your language feels dry at first, but learning to read it is a skill every working programmer relies on.
  • Video tutorials are good for seeing how someone thinks through a problem. Pause and type the code yourself rather than watching.
  • Communities and forums for when you are stuck. Asking a good question (what you tried, what you expected, the exact error) is half of solving it.

Escaping tutorial hell

Tutorial hell is when you can follow along with any tutorial but freeze in front of an empty file. It happens because a tutorial makes every decision for you. The way out:
  • After each tutorial, rebuild the project from memory without looking. Then change something: add a feature, change the data, break it on purpose.
  • Limit yourself to one course at a time and finish it.
  • Start your own project before you feel ready. You never will feel ready.
  • When you are stuck, spend twenty minutes trying before you look for an answer. The struggle is where the learning happens.

Project ideas that teach a lot

  • A personal budget tracker that reads a bank export and sorts spending into categories.
  • A small website for a hobby, a club or a friend's business.
  • A bot that checks a website and tells you when something changes.
  • A quiz app for something you are studying, such as Korean vocabulary.

About AI coding assistants

AI tools can explain errors and suggest code, and they are useful for asking "why does this work?". In the first months, though, write the code yourself. If the assistant does the thinking, you end up with working programs you cannot explain or fix. What are you learning, and where did you get stuck? Share your progress or your questions in the comments.

Comments (0)