I decided to write my thoughts for those who want to start coding at young age and also express my thoughts about the topic. I'm a teen a myself (15 y.o.) so this article can be considered as + / - true but at the same time, the whole article is subjective and based on personal experience so it may differ from others.
By learning HTML, CSS, JS, HTTP etc and other tech you gradually begin understanding how internet works. By learning Kotlin you understand how apps work. By learning C you understand how drivers work. When you know more, you have more power and you can build everything you want.
When you have knowledge and practise beforehand you get a higher chance to early receive a junior position in a company or startup.
Not all companies are like Google which require thinking out of the box, some of them just need you to do your work, write code.
Freelancing is popular among teens, I do it too from time to time. I didn't work for companies so I can't say much about it.
I know there are shitcoders (not teens only) that work just for getting money and don't like their job very much (some people who don't like coding / code for money only can also write good code) so they don't care how they write code, but "real" programmers (the ones who love their job and programming in general) try to optimize solutions so they look beatiful and work effectively.
IT world is extending every day. Get bored doing static HTML sites? Learn a UI library. Tired of web development? Try React Narive. You will always have an alternative to what you do in case you get bored of your current direction in programmning.
Your "soft skills" slightly reduce. You spend less time on extending knowledge in other spheres, read less books, try less things because you think coding gives you everything which is not true in some cases.
I don't know how in other countries, but in Russia being a teen programmer doesn't help you at all. You can build huge complex apps but in IT classes you solve boring primitive tasks using a 20+ year old and already dead language like Pascal (even though it is 2019 now!).
Also, as I said previously, programming makes you think rationally. School disrespects this, just solve the task like teacher says, not more effective or better, only one way. That pisses me off the most, in real life tasks have multiple solutions, not the only one is "right".
Some topics in IT take a huge amount of time to fully process, understand and practise it. In my experience, I lost a lot of time by learning basic things for a very long period. I know there are some fast learners but they write bad code or they don't completely understand what they do. If you learn things fast and properly - you're a superhero. Sadly, superheroes don't exist.
It is a hard decision to pick what you will spend your life and teen age for but if it is IT, remember the risks, don't just think: "I'll be rich!". Not all, even hard working, developers have a good salary. In total programming should be something more than a way to get money.