Have You Hit the Point of Diminishing Returns as a Developer?
Investing a little bit of time into new skills will very likely improve your quality of life as a software developer and human being.
Convention says that being a Jack of all trades is a bad idea because you’ll be a master of none.
To some degree that makes a lot of sense. If you only had 100 points to spend on learning a number of skills and you spent 1 point in 100 different skills then you would be very unskilled in everything.
On the flip side, if you spent 100 points into 1 skill then you would be very skilled in that 1 thing but you wouldn’t be equipped to deal with anything else.
This article won’t be talking about whether or not you should be a specialist or a Jack of all trades. Both types can be successful out in the wild.
Instead I want to talk about identifying when you’ve reached the point of diminishing returns and it ends up making sense to diversify your skill set instead of diving even deeper into a single skill.
In case you didn’t know, the law of diminishing returns is used to refer to a point at which the level of benefits gained is less than the amount of effort invested. In other words, you’ve gotten to the point where it takes a tremendous amount of effort to gain very little.
Let’s Talk About Video Game Skill Points
In certain types of video games, there’s this concept of character classes. For example you could be a warrior, wizard or archer. Each class has a different play style.
As expected a warrior would run around mowing down his enemies at close range with a big sword or axe while a wizard blows stuff up from a distance with magic.
If you go a little deeper, each class usually has a number of skills that they can choose to level up. This makes them stronger at a specific skill.
For example, one of my favorite past times games was Diablo 2, and it had a character class of a Sorceress. As a Sorceress you could choose to level up skills belonging to the fire, cold or lightning elements.
If you never played Diablo 2, don’t worry. You’ll be able to follow along, even if you have no idea what Diablo 2 is. What we’re talking about here are concepts that can be applied to anything.
Now, let’s go even deeper. In this game you had a limited number of skill points. As you leveled up and gained experience points, you would be free to spend your earned skill points into the fire, cold or lightning skill trees.
A skill tree is just the interface used to allow you to choose your skills. Some skills are further down the tree and required you to spend a certain amount of points into a previous skill to unlock it.
Another interesting aspect was skill synergies. As you spent your limited points into certain skills, it would boost up the effectiveness of other skills that happened to be a synergy with that skill.
For example, there was this fire skill called Meteor. It would drop a huge meteor from the sky dealing a lot of initial damage and then it would burn the ground for a few seconds.
You could further improve the damage of Meteor by spending a lot of points into another skill called Fire Mastery. In fact, this mastery skill improved the damage of all of your fire based skills.
You could also invest more points into fire, such as Fireball and it too will increase your Meteor damage because Fireball happens to have a synergy with Meteor.
Should You Become a Specialist With Fire?
At this point you’ve invested about half of your allowed skill points into fire based skills. If you continue investing points into fire skills, you’re definitely moving towards being a specialist but is it worth it?
In this game, you could measure success by how fast you could clear a specific zone of monsters. Your goal is to accumulate rare items, and for argument’s sake the best way to do that is to improve your overall clear speed. This is how fast you could kill the important monsters in a zone.
I know some Diablo 2 veterans will say “but what about magic find gear”, and you’re right but let’s keep this simple. After all, we’re not really talking about Diablo 2 here.
If you can only spend 110 skill points total and you’ve put 65 of them into fire, how much better will your clear speed be if you spent the remaining points in fire?
At this point in the game, you’re running around on foot and quickly killing foul beasts by melting them with Fireball and Meteor spells. You might be able to kill most monsters as is, in 2 or 3 seconds.
If you spend the rest of your points into fire based skills you might improve your kill speed by 100% but in the grand scheme of things, is that worth it?
That doesn’t sound like a good trade off to me. You’ve now hit the point of diminishing returns.
To really improve your clear speed you need to think outside the box and find your new bottleneck.
Boosting Up Unrelated Skills to Greatly Improve Performance
Diablo 2’s maps are pretty big. Once you get to a certain point of killing proficiency with your character, the bottleneck is not kill speed. It’s movement speed.
Being able to kill a monster in 1 second instead of 2 seconds (a full 100% improvement!) is meaningless if it always takes you 20 seconds to get there.
What if I told you that you could teleport through walls, or move at speeds faster than you can possibly imagine by just investing a small amount of skill points into the lightning skill tree?
For 2 points, you could begin teleporting around a map. Even without specialized items you will be able to move through walls, skip content and move swiftly around the game world.
Instead of 20 seconds to find that monster, it might only take you 4 seconds. That’s a 500% overall improvement with a very small investment and that my friend is a very good investment of limited resources (your skill points).
Diversity Will Sometimes Let You Achieve the Impossible
The game developers of Diablo 2 were very smart. In order to balance the game they introduced elemental immunities to spice things up.
Here you are flying around the game world at record breaking speeds and dropping meteors on the heads of everything you pass while dealing massive damage.
You’ve optimized your character for fire damage and mobility but sometimes you’re going to come across certain monsters that are resistant to fire damage.
They might take vastly less damage than normal, or even worse be fully immune. Yep, that’s right. Even if you spent all of your time and resources becoming the best fire Sorceress in the world, you’re 100% useless against a monster who is immune to fire.
Now seems like a good idea to re-evaluate your life as a Sorceress and think about becoming proficient in another skill. You don’t need to be at the world class level. Just strong enough to deal with common issues like resistance and immunity.
Your money maker is Meteor and Fireball but you can still become really effective at chucking out Frozen Orbs that deal piercing cold damage.
For about a 30 point investment you can get set up to do that. That’s about half the investment you currently have in fire skills.
After doing that, you’ll be able to shatter fire resistant monsters and in some cases your Frozen Orb might even be a better tool for the job than Meteor. You’re getting a lot of mileage out of that skill, that’s for sure.
While diversity is great, be careful of spreading yourself too thin. If there were 50 possible skills total and you had 100 points to spend, you would not want to put 2 points into all 50 skills.
That would make you very diverse but you would be very inefficient and unskilled at everything.
How Well Can You Hit Curve Balls?
Sometimes you’re going to run into monsters that are both immune to fire and cold damage. This might not happen often but when it does, you’re screwed.
The problem now is you’ve spent all of your skill points. What do you do?
Well in Diablo 2, you could hire a mercenary to join alongside you. You provide him the gear he needs to survive, and he’ll happily slay demons for you until the end of time… or until he dies (Iron Maiden anyone?!).
Once he’s dead, you just pay a fee to revive him and you’re back in business. As you get stronger, you can gear him out in better items that make him more effective at doing his job.
He’ll quickly become your friend, and you can keep him up full time to help you in your day to day job of mangling monsters. A worthy investment for sure.
Hitting the Reset Button in Case of Mistakes
In Diablo 2 you could just create a new character if you messed up your skill build. It’s as simple as clicking a few buttons and leveling up again.
Real life isn’t quite that convenient. You only have 1 shot at life and there is no reset button. Each second of time is a transaction that’s recorded in the history books and the best you can do is learn from your mistakes and move forward.
Stepping Back Into Real Life
Try thinking about how the above applies to you right now. Have you hit the point of diminishing returns with a certain skill set? Do you feel like you’re making little progress, both at a technical level and financially?
Chances are, it’s time to learn something new and broaden your skill set.
For me, it’s been deeply thinking about communication. It has helped me:
- Make friends at technical meet-ups
- Improve my code’s documentation
- Make my code more maintainable
- Land consulting / freelance gigs
- Create a few free guides
- Produce my latest Flask course
I’d love to hear what skills you’ve been working on recently that have had a positive effect on your life as a developer. What skill synergies have you found? Leave your comments below.