I'm 17 and just starting with Linux fundamentals and full-stack web development. I have about eight months, with roughly two to three hours available for coding after school, and I want to build a solid programming foundation before college and eventually start a business. I'm currently studying loops and arrays, but reading long documentation pages often leaves me feeling like I haven't really learned anything. I keep returning to completed lessons, rereading them, and taking notes, but my workflow feels disorganized and slow. I'd rather improve my reading and problem-solving skills through written material instead of relying on video tutorials. What study and project workflow would you recommend for learning JavaScript without getting stuck in tutorial hell?
4 Answers
The best way to learn programming is to program. Find small, practical problems to solve, or recreate a simple feature from software you already use. Start with a very small version, look up specific information when you get stuck, and gradually improve it. You don’t need to master every topic before building; projects will show you which concepts you actually need next.
You avoid tutorial hell by setting goals and using what you learn to build something. Watching or reading lesson after lesson without ever applying it is the real problem—not tutorials themselves. Try to use each new concept in a small project, even if the project feels uncomfortable or takes longer than expected. That struggle is where the learning happens, and projects give the lessons context.
A useful workflow is to combine three activities. First, read and run other people’s code, focusing initially on what it does before worrying about every implementation detail. Second, choose a concrete problem and build a small solution, researching only the pieces needed for the next step. Third, decide what kind of software you want to make—such as web applications—because the platform affects the language, structure, and techniques you’ll need. Keep the projects small enough that you can finish them, then expand them gradually.
Learning programming usually isn’t a straight line. Think of it more like a connected web: sometimes zoom in on one concept, then zoom back out to understand how it fits into a larger program. Don’t stay stuck trying to understand every detail in the documentation. Learn enough to use the idea, practice it, and return later when you have more context.

I’m worried that difficult projects might slow me down because I only have about eight months. I’m not aiming for mastery—I mainly want solid fundamentals before college and enough experience to begin building useful products.