Armies of One

The more that I talk to people involved in startups at my age, the answer to the question, "So what languages do you know?" seems to get more and more complicated. I, like many of my peers, am self-taught in development. We grew up in an age when HTML, CSS and JavaScript were easily tinkered with through personal projects. When Xanga, Myspace, and Geocities were around, those were the hobbies that turned into technical playgrounds. Those that kept with it evolved their skills, and they become extremely sophisticated developers.

What that seems to have led to is a cadre of young people that are more than just academically bred C/C++/Java developers, familiar with Big O and basic data structures. They are kids (quite literally) that have spent years working with front-end, back-end, networking, design on actual projects - what many may call "full stack" developers. Coding is now even easier to learn, the playgrounds bigger and more accessible since my time. I expect only more of this species of developer to evolve. However, when I try and describe this phenomenon to people that are a generation before my own, the advantages of being such a generalist at such a young age becomes opaque. In the minds of many, technology is a specialization, and to do anything more than specialize in a specific part of it is dilution rather than comprehensive understanding. These developers are classified as "jacks of all trades, masters of none." It then occurred to me: what in the world do I call myself, if nothing but a jack?

Now don't get me wrong, I'm not saying that this generation of developers are all technical gurus, but it's sad to see that their precociousness be whittled down to distracted developer, simply because we don't have a term. I remember having a particularly memorable conversation about the generalist vs. specialist, and the jack of all trades accusation inevitably came up. I retorted:

Armies of one. The term has stuck in my mind ever since.

Autodidactic, polymathic - to varying degrees. But what is important is that they possess a technical acumen that is composed of a large set of moving parts, rather than a specialization in a narrow band. Specialization is treated as myopic rather than advantageous. Generalization is treated as flexibility rather than evidence of uncommitted energy. These are people that are capable of building their own massive projects (that's how they became so capable in the first place), and they are attracted to others that are the same.

I run into many of these AOOs as someone deeply involved in NYC's student entrepreneurship scene for several years. They are rare, but not as uncommon as one might expect. I wrote this to provide a different perspective on a generation of developers that requires a more fitting description. Maybe it will stick with you too.