I was reading some of my old blog posts, and also some code that I wrote during the past few years, and it’s really hard to not notice that I was a total noob.
Don’t call it Impostor Syndrome, I’m talking about a different feeling. It’s more a realization that over the past few years I improved A LOT, both my writing and coding skills. Nowadays I can spot mistakes and misconceptions that I couldn’t see before. It’s also important to remind that being a noob is totally subjective and that there are different levels of noobness.
Different kinds of noobs
The most common noob is the person who is a newcomer, still unfamiliar with the technology and which can barely get through any problem without looking for answers on stackoverflow. - everyone starts like this, there is no shame about that.
There is also the expert noob, who still haven’t mastered the subject but is already able to get through the most common problems without external help. The expert noob might even be able to teach others. - most people stop at this level, and that’s OK, we rarely need specialists/masters.
But the most dangerous noob is the one who doesn’t know that he is still a noob; very confident of his knowledge and skills he will make wrong assumptions and start flame wars, even if he is totally wrong about the subject.
I have to confess I relate a lot with the dangerous noob when I look back. – Now I know better and would probably have a different opinion and/or a different approach to some problems.
I guess we are all doomed to commit mistakes during the learning process. That’s why constant improvement and refactoring are so important. The past self did not know as much as current self (and consequently your future self) know about the problems and requirements, and what does and does not work. Sometimes a full rewrite is the best option but in most cases a series of small and incremental improvements wins the race.
All problems looks way simpler if you already know the solution.
I’ll keep sharing my noob thoughts/code/experiences, just don’t take things so seriously. I’m often wrong and I change my opinion fast. Time is also a very limited resource, so even tho I might know how to do it better, I might not have the time or will required to do so.
If you rarely feel like a noob you might not be challenging yourself enough, or you might just be too cocky…
Keep learning so that you can make better mistakes the next time.
“The only thing worse than other people’s code, is your own code 6 months later.” — Zeh Fernando