One approach to work is to specialize. The programmer who does lots of LeetCode in their spare time, keeps a portfolio up to date with side projects, and regularly posts answers on StackOverflow. The researcher who thinks about the same subject for the vast majority of their waking hours every day, only occasionally stopping to drink coffee or take a quick stroll. The medical doctor who has to spend a decade in training before their career even starts.
There are many benefits to specialization. The main one is that you aren't bottlenecked, relative to other people, by time. In terms of practice, you're ahead of the curve. And there are often compounding returns to skill and expertise.
But I think another approach is to deliberately cultivate multiple unrelated skills simultaneously. This has been my own approach so far. I recommend it.
Setting yourself up to multiclass
Basically, figure out things you enjoy doing, and find a way to do them a lot. For me, one example of this was starting a flash fiction literary review, and offering feedback to every single submission I got with a fast turnaround. It was challenging! But it was exciting. Why did I choose to do this?
- I liked writing very short stories
- My mom had been a professional editor, so she could get some good writers she knew to submit stories to get my backlog going
- I wanted practice editing
It didn't feel like a career move at the time. But many years later, I was ready to take on professional editing opportunities. Just getting really skilled at something can have a way of providing value eventually. Plus it feels good.
Another example: in college I studied philosophy, but I also liked math a lot. There was a cellular automata problem - open at least in that nobody else had ever bothered attempting it - that I wanted to solve. I needed programming knowledge to do this. So I learned some Python. I think this experience helped me get my first engineering job - at the very least, the way my eyes lit up describing how I'd attacked the problem made me seem like a promising person to hire on spec. I remain a software engineer today.
The formula for me has basically just been, when I get a spike of energy and there's some project that seems like it'd be fun, it's almost always turned out to be worth doing in the long run. The key is not to worry too much about if it'll be valuable. Practice tends to be its own reward, and it's easier to practice when it's something you enjoy.
So far, I've really just described "doing projects" and "practicing stuff", which are not underrated per se.
I think what makes it a multiclass is when, after you've put in a bunch of reps learning to do something, you pursue opportunities for that thing separately from your day job. Sometimes it's good to start out volunteering, but making money is nice if you can. Conferences are good. The key thing is never to totally disengage from a skill you care about.
So if you enjoy playing piano, tinker on it every once in a while. If you enjoy writing, keep a long-form journal. If you enjoy programming, make a Connect 4 bot. Ideally your main job will be doing at least one of the things you like, but it's valuable to keep other skills sharp at the same time, and ply them when there's a chance.
What are the benefits?
Oh man, lots!
One, if something goes wrong in your career - and it's likely things will go wrong if you're taking interesting, high expected value risks - you have the opportunity to just go do something different. Burned out in tech? Go do your non-tech work. Build a brand for yourself. Lean into a different shade of identity. It feels great! Like playing a new game. Ready for the rigor of building things again? Good news - that old field is still right where you left it.
Two, sometimes your specific intersection of skills is useful. If you know a lot about music and a lot about event planning, you are probably the best person in a hundred mile radius for planning a concert series. This means you can charge a pretty crazy premium over standard market rates. And, you know, you can also do a very good job.
Three, less fatigue. As a rule, I wouldn't be interested in additional programming on the margin. I don't tend to make for-fun projects while employed full time - I get enough coding from 9-5. But boy is writing fun! When I wrote copy full time, on the other hand, it was a lot of fun dusting off the old Github.
Four, a feeling of security. Diversification is a good investment strategy. This is also true for the portfolio of professional services you're able to offer.
But I have my mind set on a really elite role
Maybe don't multiclass, then. If you're in a hypercompetitive space, you may need to throw all unnecessary skills into the fire.
It's definitely good for there to be some people who do this - elite roles in extremely competitive industries are useful and important. But if you don't want that life, multiclassing is a great alternative.
So consider what you enjoy but haven't spent much time on lately, go forth, and practice!