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 heck, we’ve made ’em 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:

In our opinion, the worst way to learn to code is to try to learn too many things at once. You’ll start learning one thing, then get distracted on learning another, then another and another, until you have just a bunch of fragmented knowledge and nothing meaningful to show. At the end of this blog we give a guide to what you should do instead.

Other things you should NOT to 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’s also what makes it so fun. Learn to love the challenge. This is important because as software engineers, all we do is tackle difficult 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 trying to learn to speak two or three new languages at once. That makes a difficult situation almost insurmountable.

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 thereafter.

via GIPHY

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

Where is the best place to start in this vast and 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 own 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, then 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 aesthetic or engineering functionality? Are you more creative or analytical? If you’re not sure 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, 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 another 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’ve got the skills you need to build your own products, or qualify for hundreds of thousands of jobs worldwide.

Resources for getting started

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

To dive into the details on 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, get in touch with us by scheduling a call with our mentorship team.

We hope these ideas and resources are helpful for you!