2013.12.11

Being a noob

I have no idea what I am doing

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.

Wisdom

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


Comments

I think this tweet by @substack is relevant:

Beginners are always at an advantage since unlearning is so much harder than learning.

Great post, bro.

Every time I look back and I think "WTF?" I know I'm leveling up. It's something you learn to accept with the time.

The most important point is realizing that the best thing you may wish for is to always be a noob, being a noob is embracing humility. That is the truly fast-lane for learning, where you might always be wrong but you will be always learning something new.

Great post, Miller. I totally agree with all words. If a look at my old code and not feel how stupid i was, there's something wrong. The smart man is the man that changes the opinion.

[…] “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.” Being a noob | Blog | Miller Medeiros. […]

Love this post. I can relate with this topic on just about everything in my life, not just code haha. Knowing that this feeling is a constant, just as change is constant, it is important to hone the art of failing gracefully. This includes: not judging noobness in others or in the self, using conventions and styles as strictly as possible so that you can never fall off way too far from the road, and striving towards balance between big risks and fair decisions (on yourself).

Leave a Comment

Please post only comments that will add value to the content of this page. Please read the about page to understand the objective of this blog and the way I think about it. Thanks.

Comments are parsed as Markdown and you can use basic HTML tags (a, blockquote, cite, code, del, em, strong) but some code may be striped if not escaped (specially PHP and HTML tags that aren't on the list). Line and paragraph breaks automatic. Code blocks should be indented with 4 spaces.