Reading about Typescript's decorators didn't occur to me that it could be used like in Angular 2. And I didn't think React was possible checking JSX documentation. So, how can I be more skilled as to knowing and applying the right programming concepts?
The best and the most honest answer I can offer you, would be:
"Accept your role as a programmer."
I often use a phrase, similar to "jumping into the bottomless rabbit hole" when applying it to a conversation with a student or a colleague that has only a few years under their belt.
The industry, our industry, has accelerated the amount of trends and stardards we need to adapt to these days.
Anyone who walked out with a masters degree, and served as a lead developer of AngularJS - is finally understanding exactly that, with the clean slate process that was applied to create Angular 2. The same with anyone who was building a social media property based on React, but faces a possible takedown by Facebook's patent. Vue is now the most popular, and apparently the most productive, of the three.
PHP has always been fun to work with, but flawed (as well as PHP 7.) Along came Coldfusion, Ruby, Python, etc. They all presented a better way to do certain things, along with their own personal flaws. Now, Go is slowly crawling to the top of that list, being the only programming language in the World to take advantage of multi-core CPUs. It also has some flaws, but is undoubtedly ushering in a new age of programming.
When I started, back in 1989 - it was on a BBS - pre-internet. We had social networks, the equivalent of torrents, online games (called "doors") and even our own textual version of Minecraft (aka customizable MUDs.) Art was created in ANSI as opposed to current formats like JPG, PNG, SVG and the revitalized GIF.
So, now, in case you're wondering what my point was in suggesting that you "accept your role as a programmer..."
Understanding that you will always need to learn and improve your current skills as well as applying new and improved programming concepts, is undoubtedly the most proactive way to embrace that role. You will grow and evolve accordingly, and will never make the biggest mistake of becoming set in your ways. Adapt and conquer... rinse, repeat.
I live by the motto, "The greatest teachers refuse to stop being students." If adopted at this point in your career, you'll become well respected and always reliable.
Gergely Polonkai
You have to believe in things that are not true. How else would they become?
That’s a long road full of work, especially learning.
You have to learn a lot. I mean a lot. Read about every technology that has at least one thing in common with your own field. Hell, read about every possible technology you can find. For example, TypeScript’s decorators are from Python [citation needed], which has nothing to do with front-end development at all.
And not just learn about them. If you find something awesome in language A (that you don’t know, or just a little bit), try to apply that solution in language B (the one you use in you $ job). If that solution doesn’t exist in your language B, try to implement it in plain B. If not, but it’s a really useful feature, it may worth it to suggest it to the B developers. If you can supply patches or some drafts to implement it, the better.
Being thoughtful is impossible without learning about new things.