Welcome! This site is currently in beta. Get 10% off everything with promo code BETA10.

Blog Post

The WORST ways to learn to code

8 min to complete · By Kim Desmond

Languages and stacks and databases, oh my! Learning to code can be overwhelming. There are so many things that you CAN do that this guide focuses on what you SHOULDN’T do. We’ve seen new engineers make these mistakes, and truth be told. We made ’em when we were new engineers, too! Keep reading to learn what we’ve seen are the WORST ways to learn to code and what you should do instead.

The WORST way to learn to code:

The worst way to learn to code is to learn too many things simultaneously. You’ll start learning one thing, then get distracted by another, then another, and another, until you have just a bunch of fragmented knowledge and nothing meaningful to show.

It’s easy to get distracted by shiny new objects. At the end of this blog, we give a guide to what you should do instead.

Other things you should NOT do when learning to code:

1. Don’t get down on yourself!

Everyone struggles. Not just in the beginning, but all the time! Software engineering is tough, but that makes it so fun. Learn to love the challenge. This is important because, as software engineers, all we do is tackle complex challenges. And the better you get, the harder the challenges become. It’s a never-ending learning process. Learn to love the challenge, and you will love the job.

2. Don’t study an hour or two here and there.

Study every-damn-day. Even if it’s just 30 minutes, find a way to study every day or almost every day. Just like learning to speak a new language, if you only practice an hour or two here and there, it will take years to learn. On the other hand, if you fully immerse yourself, you’ll be shocked by how much you can learn in just a few months.

3. Don’t try to learn multiple languages at once.

As you already know, learning one language is hard enough. When you add another or several others on top, you’re doing yourself a disservice. For instance, learning to speak a new language is hard enough. Now imagine learning to speak two or three new languages at once. That makes a difficult situation almost impossible.

4. Say no to FOMO.

All the other technologies seem so enticing all the time, right? Are you missing out? No. The best way for you to become a productive software engineer is to focus on the fundamentals. Wax on, wax off. Trust us, it works.

5. Don’t jump too far ahead in the process.

There’s nothing more soul-crushing than thinking you’re starting to get it, then when cloning some repository off GitHub in a language you thought you understood, you just look at the page with a blank stare of confusion.

This happens to everyone, even to seasoned pros! But for beginners, this can kill motivation. When you’re looking at code you don’t understand, don’t worry. You will soon. As frustrating as it may be, we recommend taking your time in mastering the fundamentals to make everything easier after that.

via GIPHY

Now that we know what NOT to do…what to do instead

Where is the best place to start in this vast, deep sea of options and opportunities? The answer is the beginning. More specifically, with why you want to learn to code.

Start with WHY you want to learn to code

Your why could be – to build your products. To get a better / higher paying job. To challenge yourself to learn new things. Why do you want to learn to code? Once you have your why, let’s think about what programming language is best suited to achieve your why.

Then decide: What programming language is best for you?

Are you more into design aesthetics or engineering functionality? Are you more creative or analytical? If you’re unsure which language to learn, shoot us an email, and we can give you some pointers.

Then, once you choose a language/stack, again, you start at the very beginning. Don’t worry about all the millions of shiny objects floating around trying to steal your attention – other languages, modules, libraries, and frameworks…. Stay completely and entirely focused on mastering the fundamentals of one language.

Next: Master the fundamentals of one language

Once you know those fundamentals, it will be easier to learn any other language, and you’ll be laying the necessary groundwork for working on the next bit: databases.

Then: Learn databases, then frameworks

Once you’ve got databases, bring on the frameworks. Once you’ve got these things nailed down, congrats! You have the skills to build your products or qualify for hundreds of thousands of jobs worldwide.

Resources for getting started

If you’re entirely new to coding, check out our speed training video – Coding for Absolute Beginners.

To learn to code online for free, log into our online learning platform to begin learning Java or learning Python online for free.

To dive into the details of what Java and Python are all about, check out our speed training videos on Java Fundamentals and Python Fundamentals.

If you’d like to learn more about the path to learning to code, contact us by reaching out.

We hope these ideas and resources are helpful to you!