RACER
Racer is the athlete who achieves top rankings in coding competitions. They develop complex algorithms and data structures, mastering all the details of one or more programming languages.
On the internet, a page that takes 10 seconds to load can cause many users to give up waiting and close it. In an athlete's life, seconds or even milliseconds can mean the difference between first and last place.
Therefore, their primary focus is optimization: more performance, more speed, more security, less space, less memory, less latency, less processing, parallel processing, and so on.
CODER
Coders excel in both math and programming logic as well as in design and architecture.
They encapsulate complex solutions into reusable components to make work easier for other developers. Coders create plugins, libraries, frameworks, engines, and more.
The more people use what they develop, the more their skills are recognized, and the more they become a reference in the field.
Examples:
Fabrice Bellard developer of FFmpeg, QEMU, etc.
Dennis Ritchie creator of the C programming language
Linus Torvalds developer of the Linux operating system
MAKER
They are the React, Unity, Unreal Engine users. Using libraries, frameworks and engines developed by others to create products and services that solve problems often unrelated to programming itself.
A Maker often doesn’t master the fundamentals of the tools they use. They may not fully understand the inner workings but can “seem to understand” in front of those "who know less".
A Maker’s goal isn’t to become the best programmer in a specific area. Their task is to select the best tools to solve the best problems and develop the best solutions - or pieces of a more complex solution.
Thus, Makers focus more on the “stage” than the "backstage" - the product, the packaging, the presentation. What they value most is something that works, solves the problem, and is profitable.
The best Makers are not only skilled at marketing but also excel at building products that “users love.” And they also tend to have the largest number of fans and haters.
Examples:
Mark Zuckerberg, Bill Gates, Steve Jobs
JOKER
They are the computer scientist whose greatest aspiration is to solve what no one has solved before - and maybe even earn a Nobel Prize for it. On this, there’s no better voice than someone who’s done it: Richard Feynman. He advocated for “reinventing the wheel persistently” - although not in these words.
“For fun,” he rediscovered the “Bernoulli Numbers,” which had first been discovered in 1746. Later, again “for fun,” he rediscovered something first found in 1889, then something from 1921...
“And finally, I discovered something that had the same date as when I discovered it.”
This is true mastery of fundamentals.
A 2024 Stack Overflow survey reported that 80% of developers were dissatisfied with their jobs. The issues: technical debt (sweeping problems under the rug to “fix properly” later, only for it to worsen over time), deadline pressure, endless meetings, unrealistic demands, and so on.
As for the Joker, they belong to the less than 1% for whom work is fun. Yet, this fun is far from distraction. The Joker must know everything the best in the world know in certain areas related to their field, mastering all mathematical concepts relevant to their interests. And they do this every day, nights, holidays, and weekends - not because they think or say they love it, but because they truly do.
TUTOR
From their work emerge new generations of Racers, Coders, Makers, Jokers, and Tutors.
The Tutor is an expert in teaching clearly and accessibly, translating complex concepts into simple explanations that go beyond technique, reaching the reasoning behind solutions.
Their materials, like courses and tutorials, not only instruct but also inspire new Racers, Coders, Makers, Jokers, and Tutors, laying the foundation for future generations of professionals.
A Tutor measures their success by others’ learning and continuously updates themselves to stay current with technological changes and evolving educational needs.
Their passion for teaching and ability to adapt to different learning styles make them essential for the growth and evolution of the computing field.
Examples:
C++ in English - The Cherno
https://www.youtube.com/@TheCherno/videos
C++ in Spanish - Profesor Retroman
https://www.youtube.com/@ProfesorRetroman/videos
C++ in Portuguese - Judson Santiago
https://www.youtube.com/@JudSan/videos
Conclusion
It's impossible for a programmer to become the best in all these areas—no one has enough time to study and master everything.
Yet, the more skills a programmer acquires from each of these domains, the better, as in reality, things are rarely so neatly separated.
The development of any of these skills follows the same logic as the evolution of computer science itself: "Combine simpler elements to create more complex structures."
In the beginning, there are only sheets of paper or transistors, then logic gates, enabling basic operations like addition and multiplication. Progressively, more effective methods emerge until, one day, the complexity of these combinations allows for building an AI model.
The same applies to learning. Solid fundamentals are the bricks of a castle that doesn’t crumble, rooted in a firm foundation.
"If I have seen further, it is by standing on the shoulders of giants."
(Isaac Newton)
In general:
Without practice/results/evidence, theory is just indoctrination.
Without theory/method/strategy, practice is just guessing.
More specifically:
The "general modes" are merely analogies, abstractions, and generalizations that aid understanding but do not apply universally.
After all
"The map is not the territory"
(Alfred Korzybski).
In many instances, persistence - not stubbornness - makes a significant difference.
"I have not failed. I've just found 10,000 ways that won't work."
(Thomas Edison)
In other cases, what truly matters is networking, the "who recommends."
From this arise various other categories that are not particularly significant to discuss here. I'm tired. The end. (I’m just a Rover.)
Top comments (1)
This is a really interesting way to look at different programmer personalities! I especially liked the "Joker" profile, reminding us that the pursuit of knowledge and innovation can be its own reward. It's great to see such a diverse range of skills and motivations within the programming world.