Best practices are never best practices
We all know someone that always says "oh these are good practices" or "I'm using a best practice" or acts like a gatekeeper and uses the "THIS IS NOT A BEST PRACTICE, CHANGE RIGHT NOW". If you go to them and ask why are you using it, one probably doesn't even know what is the purpose behind it! And that is bananas!!!
Ok, hold on, I'm not trying to flame anyone, but this a problem that anyone and also myself have fallen for that!
There is nothing wrong at the beginning of your career or while learning something to mock or follow someone's step, that is completely normal. You are "ignorant" and are learning while making mistakes! You have to have at least a baseline of what is good and what is wrong.
Even I had fallen for that! I always used
PureComponents for everything and I thought it was completely right! Later when I really understood how the props comparison works on react, how to not create a props hell, and how to properly pass down props I started to really use it right!
As I grew on my career (not that it is too long) and started being in contact with other developers, older ones, younger ones, with less experience, with much more, I started to notice and realize how many of them were biased by this same problem! They were using the best practices but didn't know exactly what was going on there!
People tend to be lazy and skip steps while learning something, even in life, we are lazy humans and we try the shortest path first. We even created algorithms to find the shortest paths for us! This is how lazy we are! It is fine to look for the shortest path when you are trying to optimize something, a process, or a route! But do not do that while learning! You'll fail and that is fine! Failure is nothing to be ashamed of, that gives you experience that others didn't have!
While learning and writing code people tend to be a perfectionist! They look for the best possible abstraction and implementation first! But let me tell you, you will never find the best possible solution first, your code will not look the best! And it is all fine! I noticed when I began coding that I tried to code, do the best thing to deliver and I most of the times ended up being stuck, while the solution was right in front of my eyes, I once lost a deadline because of that and it hurt a lot! This made me realize what is really needed to be a good developer! You have to ditch your perfectionism and fear of judgement from you and from others and just do your job!
Code a something that works and fixes that later! Make it looks good later when you have everything working!
Once i read: "A good abstraction is not the best, most maintainable, is the one that works and solves a problem!"
I'll talk on another article how people tend to try every single new tech that pops up or architectural model without having what most drives us: CUSTOMER SATISFACTION and value that we bring to them!
Don't skip steps, learn, learn on-demand while problems appear and doubts show up! Don't take others truths as your truths and always question everything! You will fail, you will make mistakes but guess what? YOU WILL ACTUALLY LEARN SOMETHING! Don't be afraid!
As my grandfather used to say: "Smooth seas don't make good sailors"!