Lessons Learnt From a Year of Coding
Tags: watercooler, programming, tips
Published: 2020-11-02 19:30:24

I just recently turned 14 (_cough_ yesterday _cough_). I realized that I had come far in my journey of learning how to code and I wanted to share a few things I had learnt along the way.

## The Journey Never Stops
![Cat Learning](https://dev-to-uploads.s3.amazonaws.com/i/9yn7vhjsvzhgi0w9p7he.gif)
<center>_Even Cats Can Learn_</center>

Learning to code is a never ending journey. What I mean is that there is always something you can do better, some optimization you can make, some feature you can add, some framework you can learn, some project you can create. There will always be something more you can ***learn***.

## It's Okay to Fail
![Epic Fail](https://dev-to-uploads.s3.amazonaws.com/i/lf1we04hdnv4bad6lqnm.gif)
<center>_Oof_</center>

Failure is a big part of learning. I have heard that said so many times before but believe me, it is true. What failing does (other than sting) is that it reinforces and/or teaches lessons about what to (or not to) do.

## Ask for help
![Ask for help](https://dev-to-uploads.s3.amazonaws.com/i/2byqbsjprfbtp2ivl824.gif)
<center>_But not like this_</center>

If you don't know ask for help. Trust me, people are willing to help if you showed that you were not being lazy with your question, i.e not taking the time to try, not bothering to format the question [Stack Overflow](https://stackoverflow.com/) is a very helpful resource.

## Try new things
![Lazy](https://dev-to-uploads.s3.amazonaws.com/i/v7fobmylp1gqzjkwojnw.jpeg)
<center>_Struggles ..._</center>

In all seriousness, try new things. Not only does it help you learn, it also means that you have a bigger tool belt, which looks shiny on a resume. If you don't do something, you 100% failed at it.

## Know Your Stuff
![Basics Mastered](https://dev-to-uploads.s3.amazonaws.com/i/eimhdz9ya43vf6ei6x5w.gif)
<center>_Big Brain_</center>

If you don't know the basics, you will never know the advanced stuff because the advanced stuff is the basic stuff put together(usually). I have fallen into the trap of wanting to do the advanced stuff before the basics. Trust me (or not) it is not fun.

# Other Tidbits
### Delete Delete Delete
The delete key is the best code optimizer (if you have any better ones leave a comment :)

### Know when to stop
Breaks are for humans, you are a human (I think) and you need breaks. If something is challenging take a step back, take a break, eat some food (I love food) come back. You will have a refreshed mind (and a full belly :).

### Clean Code
Write clean code, please, it makes it easier on everyone. In English class, we had to make a capstone project to end finish 8th grade. I decided I would create an app to go along with my explanatory video. I wrote such bad, unclean, unmaintainable, buggy, evil, disgusting, disappointing, unfortunate, slimy, ugly code. It was a pain to complete, and the finished product was buggy and had all manners of unusual surprises. I tried to go back and refactor, however, it was far too gone for that, I had to throw the project away.

### Know what to use
It would be useless to learn assembly for web development because assembly is very low level (although you ***technically could***). Just like it would be unfortunate to learn html for operating system design (I would love to see someone try though).

### Stay up to date
It is helpful to know the current news, and fads of technology. However, do not go into a field just because of the latest framework or library. You do not understand how much pain you will go through because of that. Learn the concept, not the framework.

# Snazzy GIF
I was distracted ;)

![Fists of Fury](https://dev-to-uploads.s3.amazonaws.com/i/027qsj1w7f691vos1aag.gif)
<center>_Fists of Fury_</center>