5 qualities of a good developer
Today, we propose you a subject a little particular, centered on the qualities that it is necessary to have to be a good developer. In the collective imagination, a developer (and more generally a computer scientist) is the archetype of the geek: he is a single man, who has a beard, glasses, who does not leave much of his home, who loves science , cats, in short. In other words, he has a life that is not very exciting compared to the standards conveyed by our society. Although caricatures can always have a basis of truth, they are nonetheless still unsteady. In this article, we will emancipate ourselves from stereotypes and other so-called factual and logical qualities, namely that it is important to have an analytical mind and a certain attraction for new technologies. We are going to make you discover other qualities that the majority of the population ignores or takes for defects and that are, if not indispensable, just as important.
1. The developer is lazy
Did you know ? A good developer is a lazy person to the extreme. Never ask him to do the same thing twice, because it’s too much. Since there is repetition, his brain understands “automation” . If necessary, he will spend more time developing (or finding) a concept to automate the action than it would have taken time to do it on his own. Indeed, he does not like to waste his time in chimera or reinvent the wheel. If what he has to do has already been thought out, conceived and exploited elsewhere, no doubt he will use and exploit the vein to the fullest. It must be understood that in a developer, a line of code has no other fate than that of being part of a set that must be articulated and reused anywhere, anytime, whatever the circumstances. This fundamental reason lies at the very heart of the idea of software libraries and paradigms like OOP ( Object Oriented Programming ). As the Greek philosopher Anaxagore said in his time, later repeated by Antoine de Lavoisier: “Nothing is born or perishes, but already existing things combine, then separate again” , or, in other words: “Nothing is lost, nothing is created, everything is transformed ” .
2. He is pessimistic
If the world tends to want to be optimistic under any circumstances, the developer saw in the hard reality of the programs: “what happens if it crashes?” . This question must be at the heart of all concerns from the very beginning of the design. The developer must always start from the premise that it will not work, precisely to make it work. Here we touch the basis of procedures to keep a system operational. A complex computer program can be likened to the human body: if the brain is the center of operations, other crucial parts must however be able to self-regulate (the heart, breathing, etc.). It’s not because a portion of the code crashes that the program as a whole has to crash! You have to be able to imagine the worst possible scenarios. Recovery procedures must be thought upstream, and only critical and pessimistic minds are able to imagine, conceptualize, analyze, and resolve such situations before they occur.
3. He is suffering from acute paranoia
Another quality that in everyday life is perceived as a flaw: a good developer is a paranoid person, who understands that everything he puts in place increases the risk of a potential flaw. In fact, the larger the program, the more instructions and conditions it has to be able to be used by outsiders. Therefore, the developer must place security at the center of its action always assuming that its program is vulnerable. In his day-to-day work, this security logic will systematically lead him to close his code to everyone, then to open it sparingly according to needs and circumstances.
4. He cultivates a taste for detail and perfection
Amateur of procedures and Cartesian, the developer likes to be very specific to his specifications. He is demanding and very picky. He understands that the Devil hides in the details and that a shell can crumble an entire structure. In this, he constantly checks his work and that of his collaborators, he elaborates common conventions (syntactic, procedures, prioritization of information and priorities), he carefully documents his steps and puts in place the tools of adequate follow-up. Finally, it often asks few questions, but they have an unfortunate tendency to fly. The relevance of his remarks is at the height of his technical expertise. Often uncomfortable in terms of communication, the developer is catching up with its very clear ability to explain in detail advanced concepts. This clarity of mind and inherent malleability allow him to juggle different technical aspects and have a faster learning curve than average.
5. He has an insatiable curiosity
A good developer likes to think outside the box. Never short of ideas, he strives to open his field of possibilities. The fact that he is lazy tends to increase his curiosity, forcing him to literally seek information, confronting his opinion with others. Bored very quickly after eating a bone, he gives himself constant challenges. Above all, he is passionate and imaginative, who does not hesitate to spend hours in front of the screen to learn, understand and test. His logical and analytical mind never really stops, he sometimes continues without realizing it to think about how to solve a problem or better understand a solution found. Above all, he needs to share his knowledge with other developers. He believes that his knowledge is nothing if he can not get into the world of others and, in that, he is humble, aware of the immensity of knowledge that he does not yet know.
This article is now complete. We hope that it has allowed you to better understand the mentality of a developer and his way of thinking. We can not be complete without adding that all this is learned and not innate. Very good schools now form developers in the web and more generally in the computer trades. Bearer of the future, development is on the rise. We invite you to inquire if this article made you want to join this great community!