Nice post man
I think it can be easy to stay in the safe zone and try to 'understand everything' before you attempt it, but to really progress as a programmer, you have to be willing to make yourself uncomfortable.
Something I think programmers should learn to do is take a big concept that you want to do, for example make a game, and learn to subdivide it into smaller and smaller modules, and then take a day or a week and FORCE yourself to learn that specific module. When you have these smaller, functional pieces, you will eventually be able to combine them into a larger, cohesive whole.
One thing I want to do is to be able to make a game like an rpg, so one of my smaller goal is to learn to make display tile maps. Then, after that I can focus on efficiently making sprites move across that map. Then, deal with collision detection. Then, deal with events.
I think it can be easy to stay in the safe zone and try to 'understand everything' before you attempt it, but to really progress as a programmer, you have to be willing to make yourself uncomfortable.
Something I think programmers should learn to do is take a big concept that you want to do, for example make a game, and learn to subdivide it into smaller and smaller modules, and then take a day or a week and FORCE yourself to learn that specific module. When you have these smaller, functional pieces, you will eventually be able to combine them into a larger, cohesive whole.
One thing I want to do is to be able to make a game like an rpg, so one of my smaller goal is to learn to make display tile maps. Then, after that I can focus on efficiently making sprites move across that map. Then, deal with collision detection. Then, deal with events.