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.
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.
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.
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 is a very helpful resource.
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.
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.
The delete key is the best code optimizer (if you have any better ones leave a comment :)
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 :).
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.
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).
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.
I was distracted ;)