What Is the Hardest Part About Learning to Code?
Tags: discuss, webdev
Published: 2022-05-02 20:02:41

When I wrote my first piece of code I had no idea what I was doing. And so it continued — for years. For me, the hardest part about learning to code was knowing where to find reliable, up to date and relevant information. **Like, what do I Google for?** I had a pretty good idea about computers and how they worked but software was still magic to me.

Today, almost 15 years later, the climate is different and there are so many amazing resources to learn about programming and software engineering. **In this post I’ll share 5 resources I wish I had when I first started programming**, and then I want you to share yours with me!

## Great Resources When Learning to Code
### freeCodeCamp
At [freeCodeCamp](https://www.freecodecamp.org/) you can learn pretty much about anything — completely free! I mean, it doesn’t get any better than that. Their mission is:

> […] to help people learn to code for free. We accomplish this by creating thousands of videos, articles, and interactive coding lessons – all freely available to the public. We also have thousands of freeCodeCamp study groups around the world.
[https://www.freecodecamp.org/](https://www.freecodecamp.org/)

Last year they served “[more than 1 billion minutes of learning](https://github.com/freeCodeCamp/)”. Truly amazing! ⭐️

### Stack Overflow
A programmer’s best friend. If you don’t know [Stack Overflow](https://stackoverflow.com/), it’s a place for programmers to ask questions and for other friendly programmers to answer said questions and gain points. It’s been around since 2008 and because it’s been around for so long, the question you have on your mind was most likely already answered. So most of the time you don’t even need to ask, you just Google for it.

Did you also know that Stack Overflow is part of the [Stack Exchange](https://stackexchange.com/) network that manages other sites just like Stack Overflow for different topics? For example [Unix & Linux Stack Exchange](https://unix.stackexchange.com/) or the [Software Engineering Stack Exchange](https://softwareengineering.stackexchange.com/) and many more.

⚠️ Don’t forget to read the [How do I ask a good question?](https://stackoverflow.com/help/how-to-ask) post to maximise your chances of getting an answer.

### Stack Overflow Chat
I discovered [Stack Overflow Chat](https://chat.stackoverflow.com/) a few years ago. It’s a great place to ask quick questions that might not warrant a question at Stack Overflow. Asking a nicely written question in Stack Overflow takes time but in the chat you can just throw out a simple question, and if you’re lucky, some kind person will help you. It’s also great for follow-up questions which doesn’t quite fit the Stack Overflow model.

There are rooms for different topics such as **JavaScript**, **Python**, **Rust** and my favorite **#!/bin/bash** (for bash questions).

### Refactoring.Guru
This website is aimed at people who knows how to write code and now wants to learn how to write better code. We all write crappy code in the beginning of our careers. For my first website, for example, I used the LAMP stack (**L**inux, **A**pache, **M**ySQL, **P**HP) and I got hacked because I had no idea what I was doing 🙃. [Refactoring.Guru](https://refactoring.guru/) might not teach you how to avoid getting hacked but it has a ton of free information about

Refactoring: What it is and why you should do it
* **Clean code**: What it is and how to write it
* **Code smell**: How to detect and fix it
* **Design patterns**: What they are, the benefits and how to use them
* … and more

### Egghead.io
I was subscribed to [https://egghead.io/](https://egghead.io/) in the past and I was blown away by the quality of their content. It’s an awesome place to learn about your favorite framework or library, such as **React**, **D3**, **GraphQL** or **Tailwind CSS**. Just check out their [list of topics](https://egghead.io/topics)!

Taking part of this content is not free but if you have the money for it I recommend it. They do have [free resources](https://egghead.io/blog) and they are also of high quality.

## Conclusion
These are my 5 favorite resources for learning to code today. There’s people out there working every day teaching others — for free! Again, that’s amazing and a big thank you to everyone of you 💚.

Now I’m curious what **you** find the hardest part about learning to code? Maybe me or someone else can be of help 😊

## Learn More About Software Engineering
* [What Skills Makes a Great Software Engineer](https://dev.to/simeg/what-skills-do-you-think-makes-a-great-software-engineer-1b14)
* [5 Good Habits of a Software Engineer](https://dev.to/simeg/5-good-habits-of-a-software-engineer-3ocp)

---

_Connect with me on [Twitter](https://twitter.com/prplcode), [Linkedin](https://www.linkedin.com/in/simeg/), and [Github](https://github.com/simeg)_

_Originally published at https://prplcode.dev_