A few days ago I found myself writing “this is my cup of tea” when looking at a particular engineering problem. The subject of the problem isn’t relevant, but for the curious, it was mostly about detecting and blocking fraudulent transactions in an online platform. Thinking about it objectively, though, I don’t know if I even have a “cup of tea” — that particular challenge just looked good to me. Similarly, in years past I found myself articulating infrastructure because I find it interesting to create the tooling to automate engineering operations. Is that my cup of tea? Not really, no; frankly, it’s just something I enjoy and have done a lot.
If I have a “cup” of anything, that something has to be somewhere in product. In figuring out how to model something to solve a problem for people1. But in reality, I dislike the idea of having a proverbial cup in the first place. For myself, that is — I obviously understand and respect how some people prefer deep specialization in a topic, even if it isn’t something I look for often.
The topic of specialization versus being a jack of all trades has been well explored elsewhere2. The key insight, that I’ve learned over the years is to not really fret about it (often a problem on its own), and to just be okay with being flexible. There are, of course, subjects I choose to deepen my knowledge of at specific points. In general, however, I love the idea of exploring a range of subjects (including things outside my comfort zone) and pulling from those when I need creative solutions to particular problems.
The market, managers, your biases, will often make you feel inadequate — either for being too specific in your knowledge, or for not being specific enough. I believe there is no right or wrong way to think about this. If you find comfort in depth, then dive. If, on the other hand, you are comfortable exploring many domains, then do that instead. Find a job, a team, a company under which your personal model is effective, and focus on doing your best work in your own way.