Being able to program can make us arrogant and stop us from growing especially when we are beginners. We must understand why it might happen and make sure we do not fall victims to such a tendency.
Programming is not some sort of an esoteric skill that is passed down to a chosen few. And knowing it does not make us smarter than everyone else. Nonetheless, we sometimes feel that we are smarter than others just because we can type some strange languages into computers. Maybe being able to instruct machines to carry out our wills satisfies our inflated egos. At any rate, such feeling is misguided because we are not privy to some secret, superhuman abilities.
Rather, programming is a grassroots movement in which everyone can be as great as they can be without having to be certified by some authorities. But many times I observe more experienced developers discounting novice developers for their lack of experiences or language of choice. Sometimes, as developers, we discard other professions as hocus-pocus. In other words, we try to make exclusive of something that is meant to be inclusive, and in the process we undermine the very thing that makes programming great in many ways.
It is almost as if we are building a wall around us. Inside that rampart of elitism, we bask in our own smartness instead of learning. I feel that such an elitist culture tend to form in software engineering due to the way that mainstream media portrays programming. The popular culture depicts programming as some sort of magical ability to penetrate state-of-the-art defenses or subjugating all machines to our wills. Today we have movies saying things such as “there’s a cell phone in the room. I’ll hack the cell phone and delete the files from the thumb drive.”
Although all know well that our vocation is not as how the media portrays it, in a culture inundated by such misguided references we can still get carried away to believe that we are smarter than we really are. But no matter how strongly we would like to convince ourselves so, we are not superhumans. The sooner we learn to become humble, the further we will make in our journey of becoming better.
Stop Name-dropping Things
We can start returning to our humble roots by not name-dropping programming terms. Doing so does not make us look smarter–it only makes us appear silly and annoying. And there is no practical need for you to appear smarter to others, except probably the need to satisfy your ego.
Let us speak English to clearly communicate what is needed, instead of presenting a gallery full of names of poorly understood concepts. Our unreasonable need to validate our ego is why we end up with phrases like “I’ll often drop down to node.js if I really need to be close to the metal.” It is only silly and, as such, has the opposite effect if you intend to sound smart and serious.
Respect Other Professions
As we become more proficient in programming, we sometimes discount other skills as not as practical or ‘real’ as coding. For instance, many technical solo founders tend to discard the importance of sales or marketing, believing that they can make their products all work by simply building them. Looking down upon other professions this way limits our growth as engineers because programming is not all about writing code, and we can learn way more about programming by doing things other than programming.
While being able to program is a skill, so is being able to sell, close deals, or manage projects. If we do not respect other skills, how can we acquire them and become more well-rounded human beings? How can we work with those who complement our abilities to achieve bigger goals? Your ability to type broken English into a computer does not make you automatically smarter than those who are proficient in other things.
I was also a victim of such a vice of disrespecting other professions when I just learned how to program after leaving school. I was arrogant because computers obeyed my rules. And to me, all other professions seemed unnecessary and replaceable by programs. In retrospect, the arrogance clouded my understanding of how the real world worked and kept, for the time being, me from growing as a more well-rounded programmer.
Remember Where You Started
The world consists of parts that cannot be easily superseded by your programming skills. Therefore no matter how empowering it might feel to know how to program, we must stay humble and be open to things other than coding. We are especially vulnerable to such hubris when we are beginners who are just learning.
Preaching others to be humble feels somewhat ironic in that the moment you moralize about modesty, you defy the very thing you are meant to espouse. Nevertheless, I chose to write this piece so that other developers, especially at the start of their journey, can reflect on the mistakes of countless others before them. Please remember to stay humble and always be open to learning.