This post will serve as a reminder to myself, but hopefully also as useful advice to others out there.
I spend a rather inordinate amount of time worrying about how to best spend my free time (counter-intuitive, I know). My thinking has recently gone one level out on this dilemma. I've noticed the different things I'm considering spending my time doing generally fall into two categories -- learning and building.
As an engineer I recognize that both are important. If I want to build things, I have to learn how to build them, so I can't build without learning first. But I can, however, just learn forever and build nothing. But is that a life worth living? Of course not. I've directly experienced the joy in actually creating something. Even more so when I see someone (or, even better, several people) using the thing that I built.
The problem I run into is, again, as an engineer, I want to make sure I'm building the thing in the best possible way. I want to learn as much as I can to enable my ability to build to it's fullest potential. I hear about all sorts of different tools, languages, techniques, etc, and I tell myself..
Once I'm fluent with language X and tools Y and Z, not only will I be able to build like nobody's business, but those things will be built well, and I'll enjoy the process!"
Even as I'm typing this out I see the fallacy in it. It's a trap. It's doubt playing on my mind that what I know now isn't enough. Or even if it is enough, it's not enough for me. I want to do things better. I want to find the perfect tools, the perfect techniques, and have the perfect process.
This perfectionism can be crippling, but it's also a quality that makes a good engineer! Wanting things to always be better and to find ways to make that happen is what engineers are supposed to do (right?). So it seems that stifling that quality means I'm holding back my capabilities (right?).
This is a paradox, of course. If this constant perfectionism and doubt about my current abilities and familiar tools keeps me from ever building something, then it's all for naught, and that's no fun.
As with most paradoxes, there is an ambiguous balance that must be found between the two sides of the argument. At what point do I settle with what I know, what I'm using, and just build something, being perfectly okay with the fact that it's not perfect (or even close to perfect)? Settle feels like a dirty word. But there has to be a point, right?
In reality, there's no reason you can't embrace both of these things -- learning and building. There just has to be a balance between them. Currently, I think I'm a little out of balance, being heavy on the learning side. It should go without saying, but learning all there is to know in the world does little good for anyone if that knowledge isn't applied.
It's important to take breaks on your journey for knowledge to actually create something. Find out what that knowledge can do for others when you put it out into the world. See how it enables you to do some good, and use that information to further inform your efforts.
I'll go ahead and make an assumption that most people want to create things and put them out into the world. Whether those things are posts on social media, or pieces of artwork, or software, or ideas in the form of blog post, or scientific studies and research, these are all things that humans make and put out into the world to hopefully have some sort of (preferably positive) impact.
If you think this assumption is true for you, try to keep it in mind with all your efforts. When you're learning, think about how what you're learning will contribute to the goal of creating whatever it is you want to create.
And, most importantly, make sure you take time to actually create something. Learning is rewarding, of course, but using that knowledge to put something out into the world is even more rewarding.