jack of all trades

Should I aim for specialisation, or be a generalist? Should I gather expertise on something specific, or go balls to the walls all-over-the-place? It’s something I’ve professionally contemplated for years already. Currently, I’m gravitating against the latter, as I see more positive sides to being a jack of all trades, than a master of one. Granted, the two aren’t mutually exclusive.

a small identity #

I try to avoid categorising or labelling myself. It leads to emotional investment on those ideas and inhibits considering new ones. Incorporating ideas into my identity makes them a part of me, and critique on them feels like a personal criticism on me. Those with strong opinions might argue this kind of approach as having no stance or backbone. But the point is to be able to give and receive critique and be reasonably malleable, resulting in self-improvement.

I view specialisation to be somewhat analogous to labelling oneself. Investment in expertise generates sunk costs. Being unaware of the costs is dangerous, as it happens gradually. Aversion to dumping spent time and established identity is like a generator for problems, as it can lead to even more investment on hopeless ideas.

Deep opinions and personal stances can become a religion. Whenever that happens, whether in the traditional sense or metaphorical, we lose the ability to have a fact based, coherent conversation. To the believer, opinions become as valid as facts.

adaptability #

Knowing stuff about different things allows one to accomplish different tasks and help where help is most wanted. As the scope of the “known unknown” enlarges, the possibilities to think outside the box increase.

An understanding on a wide variety of essential fields allows one to have interconnected insights and see the bigger picture. A specialist is unlikely to be the most effective leader of a multi-disciplinary affair.

In software development, specialised and complicated stuff like algorithms can be essential. The generalist can possibly hire a subcontractor to do the difficult, academic or arcane work. But the whole is rarely dependant on the minute details, and the most difficult challenges arise from managing complexity. This is sometimes reserved for architects, lead developers, or such. Their main focus is to herd the experts and keep the whole sensible.

With knowledge on different ideas and an understanding of the basics, one develops a natural confidence, on things new. Trying new things also accustoms people on the inevitable failures. Fail aversion, then, becomes much smaller. Conversely, specialists are likely to have a more difficult time escaping their comfort zone.

A keen obsession on something particular is almost necessary in becoming a world class expert. 10 000 hours they say. Though in many areas, a fraction of that will get you to good enough or great. I’d imagine there is less boredom and more options for spending time when one certain interest isn’t appealing at the moment. On the other hand, the generalist’s path is littered with half-started projects and hobbies.

specialisation is for insects (and machines?) #

A thought about industrialisation and the history of work. Industrialisation maximised the specialised, repetitive and dull work. Machines replaced most assembly line types of jobs. Software, and artificial intelligence in particular, is likely to replace more of these repetitive occupations.

A single purpose AI is reportedly easier to construct than a general purpose one. A single purpose AI would be an expert in one field, without having to understand the whole. Machines replaced some of the industrial workforce, who once were the experts in their spot on the assembly line. An “understanding” machine, that would organise these simpler ones without human guidance, is yet to emerge.

Combining these single purpose concepts, both in obvious and unexpected ways, is still the most valuable and differentiating thing we’re able to do.

resources #

 
4
Kudos
 
4
Kudos

Now read this

antifragile software development

What could antifragile software be like? Or rather, what kind of a team and with what kind of a development process could produce software in an antifragile fashion? This is one originally appeared in Finnish at Fraktio’s blog. Consider... Continue →