Curate a Personal Programming Philosophy and Focus on Role Models
It’s imperative to live by a set of philosophies. It doesn’t much matter which set, as long as it is not the empty set.
This applies to all aspects of life, and software development is no exception. Most people live by intrinsic philosophies, sometimes inconsistent, but you will be better served by your philosophies if you codify them. Spell them out deliberately and evolve them according to your experience and others'.
It might seem like a useless exercise to literally write down the philosophies you live by, especially if you aren’t a person who writes frequently. That is, until you encounter someone else who perfectly communicates your philosophies, and even expounds on them, through their own writing, or oration, or music, etc.
Have you ever read a book which perfectly encapsulates your intuitions, or fragmented thoughts on a subject, and paints them clearly and plainly? If not, it is a fantastically validating, and humbling experience. Here I was, proudly clinging to my disjointed, unorganized, chaotic nuggets of insight, content to leave them in my own mind - never taking the necessary step of consilience - and someone else had not only thought those thoughts earlier and better, but had solidified and shared them. Why shouldn’t you write down these precious principles which ultimately guide the course of your life?
The Value of Role Models in Building Personal Philosophy
Role models can be very helpful in developing solid philosophies. Obviously I’m not the first - even among programmers - to point out the value of role models, but I will argue that they’re underrated.
I feel that software developers in my generation put too much emphasis on mentors, and not enough on role models.
Mentors are those people whose one-on-one attention brings pupils knowledge and hopefully success. This is opposed to role models - individuals whom one can model themselves after (duh).
Good mentors are almost always role models, but one can only have a small number of (usually 0 or 1) mentors. The brilliant thing about role models is you can - and should! - have many of them.
From what I can tell, the difference between people who value mentors vs. role models is a matter of locus of control.
Mentors appeal to the external locus of control. We look for an external force to mold us into something better than ourselves. Someone else has to spend the energy. In turn, one’s personal philosophies are actively shaped by the mentor; the mentee is the object in this situation.
Role models, on the other hand, appeal to the internal locus of control. We have within us potential energy, which simply requires something to aim at and, when unleashed, drives itself toward that end. One acquiesces the philosophies presented by the role model into their own. In this setup, the role model is the object - the thing being aimed at - and the role-modelee(?) is the subject - the one doing the aiming and spending the energy.
Embracing role models is role-reversal. Put yourself in the driver’s seat.
I’m not even convinced the value of a mentor/mentee relationship for the mentee outweighs that of a role model situation either (in fact, I believe it probably has much more value for the mentor), because of the pareto principle.
Role Models and The Pareto Principle
The value of role models is increasing, and that of mentors is decreasing by comparison.
The pareto principle dominates many systems: wealth distribution, music popularity, dating, etc. The effect in some of these systems is exacerbated by the internet. When this fact is pointed out it is usually for negative reasons:
“Dating apps have created a default dating landscape where a few super-attractive guys effectively have harems of hundreds of women on-demand, while the vast majority of men on those apps get absolutely no attention from women, with no good alternative. No wonder there’s so many incels!”
“Kids these days see Tik-Tok superstars making tons of money, and a huge number of those kids aspire to social media fame, but only a tiny number of TikTokers make enough to do it full-time, and all those kids are deluded.”
“A few super-billionaires control the majority of the world’s wealth, while the vast majority of regular folks control less and less because of the decades-long march of globalization!”
As systems become more interconnected, the pareto distribution becomes more skewed without deliberate protections.
This is usually the way the pareto principle is presented, but there’s also a bright side.
The interconnectedness of the world’s information means that there are more and more high-quality role models available! This is especially true for engineers, where many fantastic programmers gain fame and the platforms to present their eccentric philosophies.
Here’s the list of people I consider to be my role models in tech:
Thanks to the internet, I can actually expose myself to significant portions of those folks’ philosophies, presented rhetorically through conference talks, at length in blog posts, or intimately through hours-long livestreams. I would consider these people to be top-percentile in many important aspects of “success” in this industry, and so, as a heuristic, their philosophies are likely to be valuable in achieving those same aspects of success. This is the obvious intrinsic value of having role models in the first place.
On the other hand, the number of high-quality mentors one has access to is the same as it was in the days of medieval apprenticeships. This is a simple consequence of the 1-on-1 nature of the relationship. Additionally, the lessons a mentor can teach are most likely limited to the specifics of a particular job, and they are unlikely to have profound personal philosophies, at least compared to the top-quality role models which are available.
My advice to engineers my own age - especially those that search for mentorships:
If you can’t create a list of your role models then start focusing on curating one, because you’ve been undervaluing them!
Don’t worry so much about finding mentors. Use these role models to codify your personal philosophies, you’ll find that path is empowering and fruitful.