There's Nothing Wrong with Being a Technical Jack of All Trades

September 12, 2023


A Jack of all Trades is a master of none. At least, that's what I was lead to believe when I was growing up. Malcom Gladwell published his hit book "Outliers" in 2008 when I was the ripe age of fourteen, and it took the world by storm. This guide to success popularized the idea that it took ten thousand (yes thousand) hours to master any skill. Without the hours, true mastery would not be acheived.

Well, I was far from the smartest fourteen year old, but I could do some quick maths on this one. If you factor in a healthy eight hours of sleep, and maybe another hour and a half for eating and hitting the can each day, that leaves you working on a skill for 690 straight days for true mastery. That's assuming you don't ever do anything else. You never leave the place where you work on that skill. Nearly two straight years of grinding away at whatever it is you want to be the master of.

Needless to say, other than playing video games, I probably hadn't spent ten thousand hours on anything in my life up to that point. Given the fact that I liked to play said video games, and go outside and ride my skateboard around town with my friends, I figured I'd be nearly...well let's see, carry the one, count the five...thirty before I mastered anything! Being that I was fourteen and I thought that I'd play video games and skate for the rest of my life, I could live with that (only one of those stuck by the way. Gaming doesn't demolish your ankles).

However, next year I will be thirty, and I find myself wondering: "What have I mastered?" I still haven't spent 10,000 hours on any one skill, and I definitely don't have some code master descending from the heavens to award me my black belt in web development, which is what I do full time. I'm a good programmer (I fought imposter syndrome long enough to know that I don't suck), but 10,000 hours is probably still a few years away. I still make mistakes often, and though they are usually much easier to fix these days, I'm not a master. Have I failed along the way?

It doesn't feel like it. You see, my career path has been more like a game of career hopscotch, with each square being a different niche within the tech sector. I've been in tech eight years, and despite that being more than enough time to put in ten thousand hours coding, it's been more like two thousand hours doing a lot of...different things. You would think that makes me feel like I've only ever put in twenty percent of the effort needed for mastery, but it's let me do something that I like much better. I've become a dirty generalist.

That's right. I'm the guy who knows just enough to be dangerous about a bunch of things. Truth be told, I was always that way. I would self-describe as pedantic and eclectic in grade school, and after explaining what that meant to my peers in the classroom, they'd agree it was pretty pedantic to know that about myself in the first place. I'm a notorious hobby hopper. 3D printing this month, game dev the next, maybe a new programming language the following, then I'm into...microgreens? Wait, what just happened?

However, this has become a distinct advantage in the tech sector, and one that makes it easier to breath in a world where (apparently) AI is going to make me obsolete next week. I have been a frontend developer, a devOps engineer, a cyber security pentester, a solutions architect, and now back to development as a full stack web developer. I've learned about build and deployment pipelines, intercepting and relaying NTLM requests to gain access on corporate networks, game engine physics, and even how to center a div.

Some may read all that and say "but were you ever good enough at any of those things for it to matter?" Well yeah. I was good enough to get paid, and that's what mattered. At the end of the day, all the hobby hopping, video game playing, and most importantly, family building and raising has required money. I value that a lot more than whatever plaque the official consortium of master web developers was going to ship to my house if I had managed to stay in that very first developer job out of college.

Others read this and think "oh, he's one of those job hoppers who has no loyalty to a company." That's also not true. I was laid off, then I moved and remote work wasn't an option, then, for the very first time last year, I quit a job for a better opportunity. In the changing tech landscape, the employment ecosystem can be volatile. Sometimes we don't get to stay at the start up's foosball table. However, that has afforded me the ability to learn new skills and have new adventures along the way. 10,000 hours be damned.

I often hear developers talk about burn out two, five, and ten years into their careers. I also constantly hear that there is no such thing as a fifty year old web developer. I like to joke about the pipeline of Engineer -> Engineering Manager -> Park Ranger being alive and well. My point in writing this article is this: if you're feeling trapped, generalize. If you do the same thing day in and day out and you're hating it, do what Ross suggested in Friends and PIVOT. It's okay to explore, it's okay to start fresh. You don't have to be the master. There's nothing wrong with it, and I respect the hell out of the devs who have been writing Java and C++ for fifteen years, but that doesn't have to be you.

But seriously, who do I call when I do hit 10,000 hours, because I want that plaque.