The hardest part of learning to code is getting started. The biggest obstacle to getting started is getting ahead of yourself and obsessing over all the details behind every decision you’ll have to make. If you’re like me, you’ll think that everything sounds cool.
Building web applications? Awesome!
Machine learning? Sick!
Firmware? You bet!
Yeah, that can definitely sound overwhelming. But here’s the good news: none of that really matters right now. You must resist the urge to get carried away and think too far ahead. If you don’t, you’ll find yourself intimidated and discouraged and, a year from now, you’ll have just as much programming knowledge as you do today.
However, I’m just a stranger on the Internet and this is just a personal recommendation. If you have a particular field or role in mind, look up relevant job posts and see which language(s) they reference. But I’ll say it again: It ultimately does not matter which language you learn first, so don’t spend too much time worrying about it.
The most important thing is that you begin to understand the fundamentals, e.g. variables, types, operators, arrays, conditionals, loops, functions, and objects. Once you understand the core elements of a language, you’ll find it much, much easier to learn another. As you spend time programming, you’ll hone your logical thinking and problem-solving skills; you’ll learn how to tackle challenges, track down bugs, and do research to find answers to your questions; you’ll be able to learn new frameworks, libraries, and languages much more quickly.
When you first start coding, it can be easy to fall into the trap of majoring in the minors and allocating your time to all sorts of endeavors that won’t help you level up your skills. I’ve met people who do everything related to coding that doesn’t involve writing code. They attend every meetup. They share relevant content on LinkedIn daily. They’ve customized their bash prompt with emojis (🔥🔥🔥). They’re subscribed to every subreddit. But they’re never actually creating anything. They have zero green squares on GitHub.
Another common trap is what I call the “infinite tutorial loop.” The aspiring programmer goes from tutorial to tutorial, never breaking out and building something independently. I’ve seen cases where someone has been coding for less than a year and they are, frankly, more skilled and more knowledgeable than someone who has been doing it for five. This isn’t because they’re more intelligent or putting in more time — it’s because they’ve been pushing themselves out of their comfort zone, stretching themselves, and building applications and picking up necessary skills along the way. Meanwhile, the other person has been spending their time going through 75 introductory React courses on Udemy. One has an upward trajectory; the other is stuck in a loop.
If you want to learn how to code, just get started. You aren’t locked into your initial choices, so don’t stress over them. Learn the fundamentals of the language you selected, improve your logic and problem-solving skills, and always stretch yourself. Stay focused on your goals and don’t get pulled too far off course by the comforting siren songs of coding-related-but-ultimately-not-coding activities. Tutorials can be helpful but real growth happens when you build something on your own. Finally, never be afraid to try and turn something that’s in your mind into something tangible. If there’s something you want to create, give it a shot and learn what you need to along the way!
I hope you found this helpful. Feel free to share your thoughts below!