The journey to becoming a gainfully-employed software engineer can feel long. The good news is, you can learn smarter not harder. Apply these eight tricks and you’ll be learning to program a lot faster than the average bear.
- There are no shortcuts. Learn the basics first
- Don’t watch YouTube videos
- Learn by doing. Hands-on courses and projects only
- Googling is a skill. Learn to Google better
- Once you’ve Googled the same thing three times, write it down
- Become a member of coding communities
- Contribute to open-source
- When you get seriously stuck, sleep on it
There are so many coding boot camps, crash courses, and YouTube videos making huge promises that they can teach you how to code and land you a job in just a few short weeks.
This is mostly bullshit.
Programming and its sister endeavors computer science and software engineering are complex topics that take a minute to digest. The fastest way to learn to code is to start with the basics. If you try to skip fundamental concepts, when you get to the harder stuff you’ll have serious misunderstandings that will hinder your progress. Since you’ll be forced to go back to the basics anyway, it’s easier to just start there.
There are certainly little shortcuts you can take here or there to get you into an entry-level job faster, but you can’t completely skip the fundamentals. It will come back to bite you.
YouTube is great for learning all sorts of things. It’s free, and there are thousands of content creators who share their coding courses and hot programming tricks free of charge. Unfortunately, what you save in money and cognitive strain, you often lose in time.
Videos are a horrible way to learn to code.
The biggest problem with videos is that they’re not interactive. You can’t engage with the code. Worse still, you can’t even copy and edit the code, you have to pause the video, squint at the screen, and try to type what you see. It’s an extremely inefficient use of your time.
What’s more, you can’t even skip the stuff you already know. It’s really hard to skim through videos. The creator always spends the first minute asking you to like and subscribe, then dives into some introduction that you probably don’t care about, then probably spends 80% of the remaining time covering crap you already knew. If the tutorial was text-based you could easily scroll down to the part you care about.
Here’s the thing though, videos do have a place in your coding education. While you should mostly avoid them for learning how to do stuff, they can be great for learning about stuff.
For example, a video that says it will teach you how to build a pop-up component for a website would better be consumed as a blog post. However, a lecture on how the Go and Rust programming languages differ might be a great video to watch while sipping a morning coffee.
If you want to learn to code, you need to spend a lot of time coding. Seems like a no-brainer right?
Don’t pay for courses that don’t give you hands-on experience. You’re better off just googling a tutorial and walking yourself through it.
Courses that do allow you to write and submit code for feedback are probably the right ones to be taking. In addition to programming courses, do some google searches for small projects that you can do on the side, particularly projects related to the courses you just completed.
Some people are really good at googling stuff, and others aren’t. The good news is that googling is a skill you can learn; mostly through practice. Pay attention to what the search results look like when you run a query, and learn to examine them effectively to know whether you should spend time clicking through to the page. Here are some basic heuristics that can help you know if a result is worth clicking on and skimming through.
- It’s a reputable site that you’ve heard of
- It ends in .org or .edu
- The summary snippet relates closely to your specific problem
- The page is easy to navigate
- The page gets right to the point
- Click-bait title or snippet
- Pop-ups and ads
- Slow loading time
Googling is great, but if you find yourself having to look up the same thing over and over, it’s probably best to commit it to memory. If you know it by heart, you’ll not only save a lot of time in the future, but you’ll be able to recall it in interviews and team meetings.
I’ve found that if there is a concept or topic I really want to commit to memory, it’s best if I write about it. Some people keep notes, personally I just tweet about it or perhaps write a blog post if it requires more space to communicate effectively. Writing things down helps our brains remember them better.
It’s hard to be excited about something if you don’t keep up on the exciting news, memes, and innovations that are happening in the space. I’ve compiled a list of some of my favorite coding communities. Join the ones that interest you and hit me up personally if you want to connect as well.
If you don’t yet have a coding job, it can be hard to learn collaboration skills that you will need out in the real world. 99% of the time, coding isn’t a thing you do alone, you have to learn to work with others on a team project.
The best way I’ve found to get this experience when you’re out on your own is to look for open-source projects on Github and Gitlab that interest you. You can get to know the maintainers, fix open bug issues, and propose and work on new features. If you aren’t working on open-source, you’ll be at a huge disadvantage when it comes time to compete for your first job.
Some of the biggest algorithmic and architectural “breakthroughs” I’ve had have been while I’m falling asleep, or when I get a fresh look at a problem the next day. Sometimes our brains get stuck in a state where it can be hard to see a good solution – we probably just have the wrong things loading in RAM. Letting your brain get a full reboot can be seriously helpful when you hit a serious roadblock.
If you find that you’re still stuck, reach out to those coding communities I talked about before. There’s a really good chance that someone else has had a problem that’s similar if not identical to yours.
If you’re interested in furthering your CS career, take our computer science courses
Subscribe to our newsletter for more programming articles