Specializing in Being a Generalist

When I wrote in January that I was leaving Artsy, I reflected on my career progression:

I have become overstretched. Breadth has been great, but I miss having really deep technical expertise.

What I didn’t write explicitly was how vulnerable I felt. During the years that I had stretched myself out at Artsy – working across boundaries in many systems and technologies – during this time, I’d let my native iOS skills get dull. I was nervous that this dulling would make it difficult to find a new role. I guess was worried that companies wouldn’t want to hire someone who had over-emphasized a breadth of experience over a depth of experience.

I was worried that I had become, in a word, a generalist. A jack of all trades but a master of none.

My early career was so wrapped up the identity of being an “iOS developer” that the dissonance between “I am an iOS developer” and “I am a generalist” had made me nervous about finding a job. As I would later learn, I didn’t really need to worry.

Anyway. I was browsing YouTube the other day and came across Adam Savage’s channel. I had been a fan of Mythbusters, and a fan of Adam Savage specifically ever since he tweeted this about the work I was contributing to at the time:

(What a flashback! Teehan+Lax was such a magical place. Looks like the link is broken, though. Anyway.)

So Adam Savage had a Q&A video answering the following question:

Do you ever lament that you’re a generalist when it comes to maker skills, instead of devoting all your resources to becoming a master of one particular thing?

And this hit me like a sack of bricks. Judging from how Savage struggled to even begin to answer the question, it hit him hard too. Initially, his answer was “sure, yes, sort of.” He goes onto to discuss very lofty philosophical ideas, but what really resonated with me were two passages in particular.

I Love Gathering Skills

Savage said this:

I love gathering skills. One reason I love gathering skills is because every skill is, as I like to describe it, an arrow in my quiver with which I can use to solve a different kind of problem. And the more versions of a solution I have, the further and wider I can look for the correct solution to the problem I’m solving right now.

Like, yes! Yes!! This is exactly it, for me. I love gathering skills because it lets me solve more types of problems.

Early in my career, I was proud to call myself an “iOS developer”, but that actually limited how I thought about my own skills. If a problem couldn’t be solved by building an iOS app, then I wasn’t really interested in solving that problem. Servers felt too outside my wheelhouse and there was more than enough to learn about iOS apps. I was content to specialize there.

When I started working at Artsy, it was made clear to me that I was responsible for shipping products, not just apps. Those products needed to solve customer problems, and not every solution was going to be an iOS app. In one of my first bug fixes for the Artsy app, I narrowed the problem down to a bug in the Artsy Rails API. Rather that create a ticket for someone else to go fix that API bug, I was expected to fix that bug myself.

And I did. It wasn’t that hard because I was supported by my team – it felt empowering.

This kind of environment can be really challenging, but it’s also very fulfilling. As I grew at Artsy, I continued to branch out and pick up a lot of new skills along the way, enjoying the broader perspective that comes from a larger quiver.

Gathering Skills is Pleasurable

Savage also said:

I find all skill-gathering to be pleasurable.

This has been true for me for my whole adult life. In university, I took a broad set of courses, from economics to psychology to education. When I started working in my first job, and my second, my third… well, I never really stopped learning. I loved learning something new and connecting it back to something I already knew.

For example, look at one of my oldest blog posts, about NSArray. I wrote:

Formally, valueForKey: on an NSArray is a projection of your data to specific values. This is the same as a Select() on a .Net collections object.

(I had done .Net at an internship in university. Also lol @ that old Objective-C syntax.)

I enjoyed learning about NSArray so much that I just had to write a blog post about it. Learning something new was so much fun that I just had to share!


So what we have on the one side is a love of gathering skills (for their utility, and for the pleasure of gathering them), and on the other hand, we have a fear of being a generalist. This fear is shared by the person who asked Adam Savage the question, by Savage himself, and by me. What’s going on? Well again, I’ll quote Adam Savage:

[…] that… introspection that comes from widening of one’s perspective. Because you’re going to face down a lot of things when you are trying to get great at something, but the biggest thing you’re going to be facing off against is yourself.

And I think this is it. My fear of being a generalist, a “jack of all trades but a master of none”, comes from my own insecurities. My fear of not being good enough. My impostor syndrome.

I really need to face these down, because they’re holding me back.

During my onboarding at Shopify, I was approached by a lead with a very interesting problem. They wanted me to work on it and they told me that I was suited to this problem because I had worked in so many different platforms. My breadth of expertise wasn’t the liability that I had feared it was; my breadth was an asset.

What I’ve come to realize is that I shouldn’t worry about lacking a specialization. I do have a specialty: I specialize in being a generalist.

(That said, if anyone has any resources on getting rid of impostor syndrome feelings at a staff+ level, please do let me know.)


Please submit typo corrections on GitHub