Ever since the beginning of time, developers are known for the "F**k you my code is better than yours" principle that is always valid no matter contexts, technologies or skills. And in some cases they are right cause there's a lot of shitty code out there (and QA engineers would probably agree on this). We tend to start very early with this approach even though we should not.
I have always wondered why we have such this attitude. It might be because we are so proud of our work that we truly believe we have the perfect solution.
Being a developer requires strong abnegation and commitment. We could be programming a Tic-Tac-Toe command line game like (this or a more complex system like (this) but in both cases we are creating something that wasn't there before, we are not replicating, we create new things. That's what makes what we do so magical. We enrich this world with our software whether it is stupidly simple or insanely complex.
Said this, I'm wondering where this exaggerated self-esteem comes from. I am looking back in time, when I began developing (the old good times!) I remember that I didn't know github, didn't know what an Open Source project was and I am quite sure I didn't know that what I was programming probably already existed (and I am asking now, what if I knew that?!?!?!).
I really consider Open Source software something that even neophytes should be aware of. It's true that a neophyte doesn't know shit about most of the libraries already available but the question here is
Does a novice programmer need to know precisely how the OS works?
I guess that the answer is clear. Most of the programming courses start by teaching the basics of programming languages using
C++. Do learners know what
int main(int argc, char **argv) stands for? Or do they know what the
scanf ("%d",&i); is for? No. They just use it, as is, black box. On top of that black box they build their "awesome" shitty command line programs 😀
What if we educate them with the basic notions of Open Source and "Don't reinvent the wheel". They could focus more on others' code and less on their own giving them the ability to create by using existing modules rather than re-writing everything from scratch. We learn not only by writing code but also and mainly by reading it! In this way we could actually reduce developers' self-esteem allowing them to improve existing code rather than creating new one.
Stop the code pollution, please!
We live in a perfect moment in time to do that, we've got free platform and tools that give us a very simple way to exchange ideas and works among each other and to start dialogs that lead to better communication and understanding.
It's a fact, look at the way the JS world has been ridiculously (and dangerously) modularized into very small and open source packages that do stuff, each one with different responsibilities. It just works, you require that tiny little module that does that simple task you don't want to code by yourself and you are done.
Anyways, my code will always be the best code I've ever read bi***es! 🤘