Breadth vs Depth of knowledge

Filed under random on April 04, 2020

Forgive the rambly nature of this blog entry, just trying to set my own thoughts straight a little bit. This isn’t intended for anyone else, really, but I think I need to put it down so I can track how my opinion on it has changed later on.

A long time ago, I thought art was a bit of a waste of time. Time we could be putting into solving real problems in the world was being sunk into creating entertainment and “expressing yourself”. At some point, my thoughts changed on this somewhat, and I started reading more about art and music I started to appreciate it a lot more and eventually picked up a guitar with a tax refund one year. Nearly ten years later, I’m a competent guitarist and have released a single EP with a band on top of regularly writing my own music for the DnD campaigns I run (most of which I’m not really proud enough of to release publicly, sorry).

I’m very much a generalist in my professional life, having worked in desktop C# environments, big data Hadoop applications using Java and Spring, and now I’m more or less all in on AWS cloud systems using golang. I’m mulling over whether I want to move back to my roots and really start doubling down on devops and security now, because it’s something I really enjoy doing and it uses some of my more IT-ish type skills on top of my development ones as well.

Now as a kind of lazy intermediate/lazy guitarist, I’ve come to appreciate the other benefits I’ve found from widening my own knowledge as opposed to specialise and diving real deep into a single subject. Chief among them

  • Can speak the languages and bridge the gap between multiple types of teams
  • May not be the fastest at anything, but I can certainly jump in nearly anywhere I’m needed and do a sufficient enough job
  • With a wider perspective, I’m able to pick up new skills faster with better ways to tie it back to what I already know

For example, taking guitar lessons and being disciplined in leaning how to play music led to me being able to be disciplined enough to start getting to the gym every day, which in turn helped me get my mental health issues under control in a sustainable fashion without the need for prescription drugs.

In the process of learning new things, you also can take the opportunity to analyse how you learn and optimise that. For example, I know I learn better in short bursts. When I stare at a problem I don’t understand for too long I often go into a bit of a tilt state where I can’t even concentrate on it any more, I’m far more efficient if I take it in short bursts with time in between to think about what I just learned. Knowing this, I’m able to more effectively use my time and divide it between learning new things and solving problems I already know how to do.

In contrast to all that, a depth of knowledge is a bit more prestigious. I’m probably never going to be the first person someone calls if they have a need for a particular problem, and that’s ok with me, but when browsing job ads you’ll often find headlines with “Data Specialist wanted” or “URGENT: System programmer with 10 years of Kafka” or whatever the new hotness is. Were it me doing the hiring, I’m not sure I’d ever post that kind of ad because I’m more of an advocate of the scrum way of doing things, where anyone in the team can pick up any story ticket (though where I am now all the infrastructure and deployment job cards magically end up in my lap somehow…). Still, I guess if you have an immediate need it’s a lot easier to bring on a specialist that will be productive in a week or two than someone like me that will take up to a month to ramp up work where they aren’t familiar with what needs to be done.

I imagine the drawbacks to be somewhat similar to each other as well. A problem I’ve had in my own life is being unable to finish my own home projects because often I’ll start something and get a little bored after a few months and leave it where it stands having learned what I wanted to. The opposite problem I think is where you only know how to do one thing really well, it might be really difficult to figure out where you need to start something new. They both end in the same way, things left half finished or in completely unsalvageable states.

It can be a bit difficult to properly balance wanting to do something new and knowing what level you need to be at to make this skill useful. I feel as if I’ll have to leave this half finished for now, it’s not something that’s fully fleshed out in my head yet, but I think there’s definitely merits to both ways of working.