Learning to Code on Your Own? 4 Tips for Coding by Yourself

Learning to Code on Your Own? 4 Tips for Coding by Yourself

Learning by yourself isn't easy, but know that you're not alone.

Learning how to code is hard. If I made a penny every time I yelled, "Why won't my code work?!" I'd be rich. Side note, that's something I should look into.

How many of you have:

  • Spent hours fixing a bug just to realize you made a silly typo?
  • Copy-and-pasted error messages into Google?
  • Read docs and became more confused?

Don't lie, I know you said yes to all the above! I've realized this is the norm for developers at any skill level.

Now imagine these frustrations on top of learning to code by yourself. No one to hold your hand or to give structure to your day. No one telling you which courses to take or which videos to watch.

If you're going through the self-taught route, know that you're not alone. I'm on that same path and this article is about what I've learned so far!


Table of Contents

  1. Who I Am...and Who I'm Not
  2. Learning to Code During the Pandemic
  3. 4 Tips for Coding by Yourself
  4. Questions for You

Who I Am...and Who I'm Not

My name is Melvin.

Unlike most people on Hashnode, I don't work in tech. I don't have a degree in computer science nor have I ever attended a coding bootcamp. Honestly, I had no idea what that even was until recently.

The only experience I've had with coding was styling my MySpace page with HTML back when it was popular. Oh, and a C++ course in college which I really enjoyed.

Since 2012 I've been analyzing power outages as an electrical engineer. Whether it's suggesting to trim trees or to bring in a new pole line, I ensure people get reliable power. In other words, I figure out how to keep your lights on!

andrey-metelev-qpAOxji4dAo-unsplash.jpg

Now you're probably wondering how I started coding because that's quite a difference from the tech world!

To be honest, I didn't start until the 2020 pandemic.

Learning to Code During the Pandemic

I was fortunate I could work from home when the world shut down in 2020. It was weird going from face-to-face chats to instant messages.

Names on emails became names without faces. Coffee break conversations turned into me staring out my window.

I'm a social person, so I initially hated this forced change. But don't we all hate adjustments at first?

Changing My Perspective

It took me a few months to appreciate working from home because I couldn't see what I gained until I stopped focusing on what I lost.

I'll say it again -

It took me a few months to appreciate working from home because I couldn't see what I gained until I stopped focusing on what I lost.

That emphasis is needed since it's such a life lesson. How can we focus on the present moment if we're only focused on the past or the future?

I was saving so much money with less wear-and-tear on my car and not eating out for lunch. Everyone will agree that saving money is always a plus.

But more importantly, I couldn't believe how much time I got back from not commuting - over 10 hours a week!

Not to mention the extra energy I had for other interests during my personal time.

Think about it, most people's workdays look like this:

  • Commute an hour to work
  • Spend 8+ hours in the office
  • Commute back home in 1-1.5 hours of rush hour traffic

minkus-5d2QJl88QbI-unsplash.jpg

It's hard not to just relax on the couch when you get home!

Staying Curious

If you know me, you already know that I can't sit idly. I'm someone who needs to keep my mind stimulated.

Don't get me wrong - I enjoy being a couch potato from time to time, but I enjoy learning and trying new things. Staying curious keeps you young.

If you don't believe me, speak to those who are already 65 in their mid-20's. Sadly, I see most people's natural curiosity die once they finish school.

But that's a topic for another post.

With 10 more hours to my week, I surfed Udemy to see if I could put that extra time towards learning something new.

Surfing Through Udemy

The first course I took was for video editing since I was making YouTube videos at the time. I learned how to properly structure content to keep people's attention, which has carried over to my writing.

I eventually stumbled on a full stack web developer course that caught my eye. The course description took me back to typing HTML in MySpace when I was younger.

I thought, "I enjoyed it then, why don't I try it and see if I like it?"

The cool thing about Udemy is that there are always sales. You'll see a course for $100 one day and the next it's down to $15.

The web developer course was over 60 hours of content, but I had nothing to lose since it was on sale for $11.99!

IMG_1766.jpg

It was the best $11.99 I ever spent.

What I've Learned So Far

The instructor, Colt Steele, said the curriculum is what you'd go through in a Monday-Friday coding bootcamp.

I learned the fundamentals of full stack web development:

  • HTML5
  • CSS3
  • JavaScript
  • CSS frameworks like Bootstrap and Bulma
  • Interacting with API's
  • Backend (Express/Node.js)
  • Databases (MongoDB with Mongoose)
  • Error handling
  • User authentication/authorization (bcrypt and Passport.js)

I'd definitely recommend it if you're new to coding! It took me 5 months to finish the course while working full-time.

After that, I did a React course where I learned React Hooks (and class-based components), React Router, Redux, and a touch of both Next.js and Firebase. It took me 2 months to complete it.

At the present moment, I'm learning React Native. I was planning to learn Vue.js, but I felt React Native would be a smoother transition after learning React.

I've had a lot of fun learning so far, but it hasn't been easy!

4 Tips for Coding by Yourself

Learning solo has its own challenges because you don't get the structure or the peers you'd get in a bootcamp.

There's been many frustrating moments where I couldn't figure out what was wrong with my code or where I felt like I was on the verge of burnout.

So aside from learning how to code, I've become more aware of my own methods of learning.

Here are 4 tips I can give you on learning how to code:

tim-mossholder-WE_Kv_ZB1l0-unsplash.jpg

1. Focus on fundamentals and learning one thing at a time

It's easy to get caught up in the hype of learning the next thing when everyone is talking about it.

I'm in two Discord groups and I see this often:

"How much JavaScript do I need to know before learning React?"

Hell, that was me halfway through learning JavaScript! I began to learn React before I even knew how to map an array.

Needless to say, that didn't go very well...

Learn the fundamentals first and focus on one thing at a time. There's no need to rush, you'll get there soon enough.

It wasn't until I coded my own projects with vanilla JavaScript that I truly appreciated and understood why tools like React are widely used.

Speaking of projects -

2. Get out of "tutorial hell" by coding your own projects

Have you ever followed a tutorial, felt like you learned a lot, and then felt LOST when trying it on your own?

So to compensate, you follow another tutorial...and another...until you realize you're stuck in "tutorial hell".

The Problem with Tutorials

Look, tutorials are necessary to learn. But think of them as training wheels - you'll eventually have to take them off if you want to ride a bike.

My main gripe with tutorials is that they're perfectly outlined to hide the errors and nuances that developers go through daily. Otherwise, the videos would be too long!

This conditions people to be afraid of breaking their code, thus never exploring past the boundaries of a tutorial.

brett-jordan-cxVG8-_5qFE-unsplash.jpg

How to Get the Most Out of tutorials

I'm a strong believer in learning by doing. You'll never learn how to code until you take off the training wheels.

After every tutorial:

  • Recreate the app on your own
  • Add your own features (new page, button, etc.)
  • Add effects or transitions
  • Change the look and feel
  • Make your own project with the concepts you learned

You'll run into a lot of roadblocks, but learning how to get past them is how you become a better developer.

3. Seek constructive feedback

The downside of teaching yourself is that you probably have no peers to critique your code.

And when I say critique your code, I don't just mean:

My code's not working, what's wrong?

Some things to consider when asking for feedback:

  • Can other developers understand my code? (Readability)
  • Are my variable/function names descriptive?
  • Is my code consistent?
  • How can my code be refactored?
  • How is my file structure?
  • Am I using best practices?

Revisiting a Project and Getting Feedback

I didn't understand the importance of readability until I revisited one of my projects after 3 months of collecting dust. I looked at it and had no idea what was going on!

My naming convention wasn't descriptive and the code was sloppy. I was proud of myself after taking the time to rework the whole project.

But deep down I knew my code had a lot to be improved on, so I asked my friend in tech to critique it.

Having someone review your code can be daunting, but it's worth it! His review was thorough and opened my eyes to how I could do things differently.

If you don't know anyone in tech, online groups like Discord are helpful. People ask questions and request code reviews pretty often.

Trust me, you'll learn faster by exchanging code reviews with other developers.

pankaj-patel-_SgRNwAVNKw-unsplash.jpg

4. Your code will never be perfect - and neither will you

It's easy to get obsessed with refactoring code, but I think this can sometimes hold us back.

I've watched many videos on the "best practices". From eliminating the use of "else" in if-statements to only using short variable names, everyone has a different opinion on how things should be done.

I've wasted a lot of time in my own projects wondering if I should put a few lines of code into another function or component. That's time I could've spent elsewhere!

So I hope what I have to say next lifts a huge weight off your shoulders...

As optimized as our code seems to be, it can always be improved on. Your code will never be perfect and neither will you nor anyone else.

Questions for You

I'd love to hear you all in the comments!

To new developers like me:

  • How did you start coding?
  • What are you learning now?
  • What tips would you add to my list?

To experienced developers:

  • What was your first programming language?
  • What was the last thing you learned?
  • What advice do you give to new developers?

Cheers!