What to do, what to do?
People change over time, mostly for the better. None of us is quite who we were ten years ago, nor will be ten years hence. Technologists, more than most other people, are constantly learning. Even if Keeping Up is impossible, staying sharp is vital.
We are not nouns. We are verbs.
Of course, we pick up some skills naturally on the job. But given that you’re the sort of person who reads a Software Engineering blog, you probably do more than that. How do you decide what to study? Tools, languages, frameworks, paradigms… What, in the interest of career growth or edification, shall you learn? The decision can be daunting, because time is finite. What if you focus on the wrong thing?
I really don’t know. I really don’t know what to do.
—The Rolling Stones, What to Do
Most of the risk in studying the “wrong” thing is minor. Even if you find you’ve spent some time suboptimally, is that so bad? If you learned anything at all, then your time wasn’t entirely squandered, even if not all of it was exactly useful. Another concern is that you’ll study to get a job (or a better job), but that you’ll somehow accidentally acquire only skills for which there’s no demand. Rest assured that this is unlikely. There continues to be tremendous demand for technical adepts of all stripes.
The greater danger is in finding yourself hard at work on something you don’t actually like or care about. As you study, ask yourself sincerely, “Is this for me? Is this what I want to be doing?” If not, you may eventually feel stuck in a role that doesn’t fit you any better than someone else’s clothing.
A man whose desire is to be something separate from himself . . . invariably succeeds in being what he wants to be. That is his punishment.
—Oscar Wilde, De Profundis
“Everyone gets everything he wants. I wanted a mission. And for my sins, they gave me one.”
—John Milius and Francis Coppola, Apocalypse Now
While the type of tech you study probably won’t make or break your ability to find work, it can have a big impact on the kind of work you do. SQL is de rigueur for business analytics, as C is for embedded developers, and neither is a substitute for the other. If you want to develop websites, you should know basic HTML, CSS, and JavaScript, but those are no replacement for R or Python if you want to be a data scientist.
The counter-intuitive point here is that the relative value of different technical knowledge depends as much on you personally as on the world around you. SQL, JavaScript, and C are all languages that make some people deeply happy, and others miserable.
Know yourself.
—Delphic maxim sometimes attributed to Socrates
Now that you know who you are, what do you want to be?
—The Beatles, Baby You’re a Rich Man
Choice is freedom, but it is also a burden. Some questions, like “What should I do with my life?,” are obviously hard. Others, like “Should I learn Biopython so I can fight disease, or Godot so I can make video games?” are surprisingly hard. The pursuit of knowledge is not merely about what you want to learn, but about how you want to spend your days. The only wrong choice is one that’s not true to yourself.