DEV Community

Cover image for 20 Tips For Learning to Code in 2020
Jessica Shepherd
Jessica Shepherd

Posted on

20 Tips For Learning to Code in 2020

Learning to code has been one of the most rewarding things I have ever done, but also one of the most difficult. Since a lot of people have some extra free time nowadays (thanks, quarantine), I thought I would share 20 of my tips for learning to code in 2020.

1. Start with free

Learning to code is something very unique - likely not comparable to anything you've ever done before. You are basically retraining your brain, which can be rewarding but also very frustrating. Start with a few free resources to make sure you even like coding before you jump in and spend thousands on a bootcamp!

Some free resources I recommend are freeCodeCamp, Codecademy, and The Odin Project.

2. Don't do it alone

The online tech community is amazing. Places like Twitter, Reddit, and even Instagram have loads of people sharing their work and learning experiences. Use hashtags such as #CodeNewbie and #100DaysOfCode to connect with so many amazing people also learning to code!

3. Really commit to it (#100DaysOfCode)

Learning to code is a marathon, not a sprint. It will be more beneficial for you to spend 30 minutes a day coding vs spending 3 hours every other week. I love the #100DaysOfCode challenge because it really forces you to make time for coding to the point where it becomes a habit. The more frequently you code, the better you'll get. Plus, the #100DaysOfCode community is amazing, and you'll be able to connect with a lot of really great people.

4. Don't forget about books

In today's digital age, it can be easy to forget about books when you think about learning to code. But there are so many classic books for learning programming. They're classic for a reason. Plus, it can be nice to take your eyes off a screen once in a while.

Some great books: The Pragmatic Programmer, HTML and CSS: Design and Build Websites, and Eloquent JavaScript.

5. Take in multiple versions of the same material

That being said, don't pigeonhole yourself into any one type of content. There are books, videos, articles, and so many other ways of learning this material. I know some people recommend figuring out your learning style and consuming that type of content, but I think it is best to take in the same material in several different formats. It will help to have multiple different voices for explaining concepts, and it will ensure you have really retained the material by hearing it more than once!

6. Wait for the Udemy sale

Udemy is one of my absolute favorite resources for learning to code. The courses on there are great quality, and the instructors will regularly update their courses and respond to student issues. That being said, wait for the sale! Udemy's typical prices are $100 or more per course, but they regularly (several times a month) have sales that bring them down to around $10.

7. Build your own projects!

As a newbie, you undoubtedly have heard time and time again that you should be building your own projects to really understand what you're learning. This is repeated so much because it's 100% true. For more information, look into passive vs active learning. Passive learning is what you're doing when you are watching tutorials (yes, even if you're coding along). You want to start solving problems for yourself and get into an active learning state to make your time spent studying so much more productive.

8. Build upon tutorial projects

Building projects is easy advice to give from the outside, but it can be so daunting to start a new project from scratch as a newbie! One great solution here is to take the tutorial projects you've coded along with, and add on to them! Think of new features that might make the app better, and get to building.

9. Find or create a roadmap to structure your learning

Honestly one of my favorite parts of attending a coding bootcamp was that it gave my learning some serious structure. In hindsight, I realize that I could have provided this same structure for myself had I just created myself a roadmap. Think about what kind of job you want. Look at what others are learning. Do some Google searching. Watch some Youtube videos. Pick a few things to really dive deep on, put them in a logical order, and break each learning section down in to manageable steps. For an example here, my bootcamp was very JavaScript focused. We started by learning HTML/CSS/JS basics, moved on to React, and then finished up with Node. Sprinkle some computer science fundamentals in there as well to really make yourself job-ready!

10. Join a local meetup

If you live somewhere that hosts local meetups, PLEASE ATTEND! Take this from someone who lives in the middle of nowhere and can't take advantage of them anymore. In most major cities, there are dozens of meetups to choose from. They are usually based on a specific topic, so you are able to choose one that sparks your interest. Not only will you learn some cool things from their speakers, but you will also make friends and possibly even meet hiring managers!

11. Prioritize the fundamentals before trying the latest trend

It is so easy to feel pressure in the tech community to always be learning/using the newest and coolest technology. But before you allow yourself to be swept up in the trends, do yourself a favor and make sure you really understand programming fundamentals. With this understanding, it becomes so much easier to pick up new frameworks or libraries on the fly. Do not skip this step! It may not be the flashiest thing to post about on Twitter, but I promise it will serve you so much in the long run.

12. Don't feel like a failure for Googling

I used to really let myself feel all of the impostor syndrome because I would have to Google things from time to time. Please, do not let this get you down! Even the most senior developers constantly talk about how much they still have to Google (in fact, I've heard it said that the difference between senior and junior devs is that senior devs are just better at Googling things)! There are so many little details - there's no way for one human brain to retain everything at all times.

13. Take breaks

You will feel frustrated. You will feel burnt out. You're learning to code! That's an amazing thing! But it's also a very challenging thing. It is totally fine if you're finding yourself not wanting to turn your computer on at all for a few days. Let your brain rest. It will make you better in the long run. This applies to both large-scale burnout and small issues you may be having as well. If you've been stuck on the same problem for an hour, take a break from the computer and come back to the problem later. I find that difficult problems become so much easier to solve after walking my dog.

14. Learn to read code

One of the most underrated skills that you'll need as a professional developer is the ability to read other people's code. Start practicing this early on! Not only will you benefit from it once you're on the job, but you will also learn some practical skills as well by seeing how other people approach problems using code.

15. Ask for help

Sometimes you just won't be able to figure something out. I have definitely fallen into the trap of abandoning a project because I get stuck on a problem and then get distracted with something else. But if you can resist, I urge you to try and seek help before jumping ship! There's no better feeling than sticking with an issue until you eventually solve it. So before you abandon your project for a new one, try to reach out to someone and ask for help. You can post on Twitter, post on StackOverflow (you know they actually allow you to post questions there, not just read answers!!), see who may offer office hours, or look online for paid mentoring programs! You'll learn so much more by working through problems with another person than you would by starting a new weather app from scratch, I promise.

16. Plan before starting a new project

One of the biggest mistakes I made early in my learning-to-code journey was not planning enough before starting a project. To be fair, sometimes I still find myself falling into this trap. We are programmers. We love to code, and want to immediately jump in and get coding. Next thing you know, the project has gotten away from you and you don't know where to go next. Avoid this trap by having a really solid plan in place before you start coding. Figure out every feature you want your application to have, how it functions, and how it relates to the bigger picture. The better (and more detailed) your plan is, the easier your project will come together.

17. Read the docs!

Yes, I know. They can be boring. Some are much better than others. But so many issues would be avoided if you just took the time to read through the docs before starting on a new technology. It's so tempting to jump on Youtube and start following along with a tutorial immediately, but doing so can lead to gaps in your knowledge later on. I promise it's always worth the time to read over the docs!

18. Take notes

I have about 100 notebooks for programming at this point. Well, at least three. It has been proven that you're more likely to retain something if you write it down. When I first started at my bootcamp, I took notes obsessively like I was back in college. This might work for some, but I found that technique wasn't the best way for me to use my time. Now, as I am learning something, I write down things that I think I will want to refer back to: syntax, common names or phrases, etc. I also keep a running list of things that I need to research more as I am learning. Even if you're not a pen-and-paper type of person, download Evernote or open a Google Doc and get to typing. Give it a try and see if it helps you retain things more.

19. Don't forget to have fun

When you're so bogged down with bugs and never-ending lists of things that you feel like you "should" learn, it's so easy to let yourself feel overwhelmed and bummed out. Try your best in these situations to change your perspective and realize how much fun this really is. You can create something! Out of nothing! On the internet! Where you can share your hard work with family and friends and they'll probably be super impressed by it! Don't let the minor day-to-day frustrations of coding let you forget why you started coding in the first place - because it's so FUN!

20. Do not give up

If there's one takeaway you get from this article, please let it be this. Do. Not. Give. Up. You will be frustrated. You will feel dumb. You might think you're not cut out for this. I experienced all of those emotions and more while learning to code. Please please please do not experience those same emotions and let it make you give up. You are literally teaching your brain to work in ways that it never has before. That does not happen overnight, nor is it an easy thing to do. If you stick with it, you WILL be successful. The biggest difference between successful people and unsuccessful people is that successful people just don't give up. That's why they are so successful. Do not give up on this goal of yours and I promise it won't give up on you.

Top comments (17)

Collapse
 
k2t0f12d profile image
Bryan Baldwin

Whatever you are using, set up a flow between

  • your editor
  • the results (visual, console, browser or whatever it is you are building)
  • the debugger (preferably with breakpoints and stepping, but don't be ashamed to printf)

Get away from IDE's asap. They teach you bad habits, such as

  • browsing through symbol drop downs instead of reading the code
  • inserting code you didn't ask for/want
  • breaking your pace with constant irrelevant interruptions for formatting and suggestions
  • bad behavior, crashing, confusing over-complicated interfaces
Collapse
 
jessicajades profile image
Jessica Shepherd

Great additions!! Getting comfortable with the tools you'll be using can help so much.

Collapse
 
joeklemmer profile image
Joe Klemmer • Edited

As one who learned programming before Google/StackExchange/etc. I would add that these resources should be the second, or even third, option to figuring something out. There's nothing intrinsically bad about searching for answers, but cut'n'paste won't help you truly understand what's happening.

1) Hit the books (RTFM really is a valid answer)
2) Ask for help/guidance
3) Google

That's probably a better path (unless your s**t is broken in production. Then it's whatever is the fastest).

Collapse
 
tkudlinski profile image
Tomasz Kudlinski

Great article!

Collapse
 
jessicajades profile image
Jessica Shepherd

Thank you!

Collapse
 
musaabdullahi45 profile image
Abdullah

Thanks for this. Great article

Collapse
 
jessicajades profile image
Jessica Shepherd

You're very welcome!

Collapse
 
fviccia profile image
FV

That's a great article! Thanks!

Collapse
 
jessicajades profile image
Jessica Shepherd

Thanks for reading!

Collapse
 
codeclassifiers profile image
codeclassifiers

Nice Article

Collapse
 
jessicajades profile image
Jessica Shepherd

Thanks :)

Collapse
 
valor profile image
Mike Stover

Very helpful!

Collapse
 
jessicajades profile image
Jessica Shepherd

I'm glad it helped!

Collapse
 
hamo225 profile image
Tarek Hamaoui

Well said!

Collapse
 
jessicajades profile image
Jessica Shepherd

Thanks!

Collapse
 
dmvjpg profile image
dmvjpg

Valuable insights, especially on the roadmap. Thank you!

Collapse
 
_sweatwork profile image
Danish Parvez

All is great and helpful! Only one suggestion I would like to make, for doing notes or maybe everyting is Notion. Give it a try. It can be a thing for everything!