All humans have ways that they communicate most effectively. The book The 5 Love Languages is pretty instructive for figuring out how best to communicate with our fellow humans. Similarly I’ve found that software developers (maybe all problem-solvers and engineers) have some specific ways that they find motivation and express passion for their work. Understanding these can be helpful in maximizing a team’s effectiveness and the individual’s satisfaction.
Below is the list I’ve compiled so far. It’s likely not comprehensive, but it covers a lot of bases. These “love languages” aren’t mutually exclusive. It’s possible that an individual indexes high on a few of them.
Proof of Concept
For this love language, odds are you have a creative individual on your hands. They’re going to thrive on brainstorming and working quickly to prove or eliminate ideas and tools. Green field work is their playground. They will be less passionate about going super deep. If we were building a house, they would love framing much more than trim work.
Superpowers: Creativity, Curiosity
Weaknesses: Depth, Detail
Process
This one is somewhat self-explanatory. There is some nuance and/or variance in this love language, though. Generally, these folks love structure. For some, it’s any structure. For some it’s specific structure. Planning ahead is highly valued. On the spectrum of risk aversion, most times they will tend to be more risk-averse, though not always.
Superpowers: Methodical execution
Weaknesses: Dealing with ambiguity
Elegance
Someone that values elegance is a craftsman. They will want to take time to figure out a way to create solutions that are (in their opinion) simple and flexible. You’ll find that these individuals are a balance of creativity and technical depth. They will value space for deep work and tech debt will be very frustrating for them.
Superpowers: Maintainable code
Weaknesses: Rabbit-holing
Efficiency
The name of this love language may conjure images of efficient process, but really what we’re talking about is making efficient code — as in reducing execution time. If you say something like “just throw hardware at it”, you’ll probably see their face get red in real-time. Oftentimes the coaching conversations with this person will revolve around avoiding premature optimization and balancing cost/benefit.
Superpowers: Screaming fast code, Reduced infrastructure cost
Weaknesses: Rabbit-holing, Speed to market (sometimes), Complexity
Complexity
These individuals will equate complexity with intelligence. If they create something that is more complex, then obviously they are smarter. This is prevalent particularly in folks earlier in their career when they are finally fluent in their tool(s) and want to flex a little. This one is almost the opposite of Elegance and is kind of a miguided version of Prestige. The good news is that you have someone who is gaining confidence. With the right coaching and supervision, they can turn the corner to a more desirable love language.
Superpowers: Intellectual potential
Weaknesses: Pragmatism, Maintainable code
Done
Almost every creator strives to have others enjoy their creation. This love language is a version of that idea where the main motivator is calling a task “done”. This is closely related to the Process love language, but it’s a little more driven by the satisfaction of checking the box of moving specific tasks to completion. These individuals are OK with sacrificing some quality for speed, but that doesn’t mean that they completely disregard craft. The name of this love language is a nod to “done is better than perfect.”
Superpowers: Pragmatism, Delivering value
Weaknesses: Quality (sometimes), Push-back
Correctness
This is where a developer really leans into doing things idiomatically “correct” for whatever tool set they use. This tends to be more prevalent in certain communities. Sometimes it’s a pseudo-cult. Regardless, when someone indexes high in Correctness they are trying their best to create code that is easy to understand and maintainable by adhering to standards and best practices recognized by their community. They’re trying to make the team faster even if they need a minute to deliver their work.
Superpowers: Maintainable code
Weaknesses: Pragmatism (sometimes)
Shiny Objects
To this person, the latest is the greatest. Always. Whatever new pattern or library has emerged, they have to figure out a way to incorporate it no matter how well the tried-and-true method has worked and continues to work. While this can involve a healthy dose of Proof of Concept, it’s more indicative of short attention span and excitability. This power can be harnessed and used for good in the form of innovation, but it can also lead to a rat’s nest of a product.
Superpowers: Creativity, Curiosity
Weaknesses: Distraction, Pragmatism
Money
Shockingly some people just want money. They will produce whatever you want however you want for the right price. Quality and innovation be damned if need be. If you need quick and dirty, they will do it, AC/DC-style. These folks are going to be an asset when you’re well-funded and racing to get to market. They’re not necessarily a liability thereafter, but they will only work as hard as you’re willing to pay.
Superpowers: Speed to market, Motivation
Weaknesses: Quality (sometimes), Push-back
Prestige
As the name implies, this is where a developer seeks notoriety for the work they’ve done or the thoughts they’ve contributed. The community wherein the prestige is most valued varies from person to person. Sometimes it’s an open source community. Sometimes it’s co-workers. Ultimately whatever that community values will drive the specific outputs of the person in order to gain prestige. This motivation can be valuable if your team values the right things.
Superpowers: Speed + Quality (with the right community)
Weaknesses: Distraction (with the wrong community)
In Conclusion…
Communication is almost always hard, but people are people. We’re all looking to be validated and valued. The way we understand and express those concepts varies. Keeping individuals motivated and working well as a team means recognizing that variance and putting it to work.