I'm in high school and recently got my first laptop. I've been interested in becoming a software engineer for a long time, but I have no coding experience and my school doesn't offer programming classes. I'd love to start learning on my own before university. What language, courses, and beginner projects would you recommend?
4 Answers
Learning because you genuinely enjoy it is a great reason to begin. The entry-level job market can be competitive, so focus on building strong fundamentals and a collection of finished projects rather than rushing to become employable. You have plenty of time to explore different areas before choosing a university path.
A free introductory computer science course like CS50 can give you a structured starting point. It covers programming fundamentals as well as the problem-solving mindset behind software development, so you won’t just be memorizing syntax.
Keep making projects, even if they’re simple command-line programs. Every project gives you practice breaking problems into smaller steps, debugging, and researching solutions. A structured beginner curriculum can help, but the most important part is writing code regularly instead of staying in tutorial mode forever.
Start with Python or JavaScript and stick with one language for a while. Python is especially beginner-friendly because the syntax is fairly readable. Don’t only watch tutorials—build small projects, such as a number-guessing game, calculator, or text-based adventure, and gradually make them more complicated. Consistency matters more than studying for huge stretches once in a while.

That’s solid advice. Getting stuck is normal, and looking things up in documentation or tutorials is part of programming—not a sign that you’re doing it wrong.