Building a Career: Exploring vs Exploiting
In my spare time, I enjoy hiking, cycling and eating out. I do all those activities with friends, and over time I noticed that while I prefer to hike, ride and eat in places where I’ve never been before, some of my friends would rather hike the same awesome trail and eat in the same fantastic restaurant every single day. I always prefer something new, they always want to do something that they know they will enjoy.
When we discussed this difference, my friend introduced me to the “explore/exploit tradeoff”, that he learned from the book “Algorithms to Live By”. There are benefits to exploring alternatives and trying new things, and there are also benefits to maximizing enjoyment from something after you discovered it is good. And as my friend and I discovered — sometimes there are rational reasons to choose a specific strategy, but we also have personal preferences.
Of course, this fundamental trade-off between two strategies applies to much more than just our weekend activities. It is also a strategic decision that companies make when growing. When you are a startup, you have no choice but to explore aggressively. But after you have a really successful product, it is tempting to divert resources away from exploring and more into maximizing the value you get from that success. This works really well… until it stops working. Just ask Blackberry.
And the same trade-off also applies to your career. Some people spend their entire career in one role and in one space or industry. Jeff Dean or Doug Cutting come to mind as people who spent years building expertise and creating value in one specific role and one specific domain, eventually reaching the top of their field. Career-expert Cal Newport argues strongly that this strategy is the best way to grow a career. But there is also a risk there, if you accidentally picked the wrong skill and domain, you may as well be Blackberry.
In my experience, there are multiple dimensions to a career in technology. Here’s one way to slice and dice the things you can specialize in while working in tech:
- Role — engineer, architect, manager, product manager, SRE, consultant, etc.
- Technology — C, Go, Python, Oracle, MySQL, React, Angular, Kubernetes, Chef, etc, etc. This list is ever-growing and evolving.
- Communication methods — “one on one”, public speaking, meetings, architecture documents, diagrams, wiki, blogs, RFC, podcasts, etc
- Domain — Network, storage, databases, cloud, fintech, healthcare, telcom, adtech…
In my experience, in order to balance the career benefits of becoming a deep expert while reducing the risks involved, you will want to pick 1–2 dimensions to specialize in and exploit, and 1–2 dimensions to explore.
For example, an awesome developer advocate will have a specific role and will specialize in specific audience, but will be able to use multiple methods of communication and will move to different technologies few times in his career.
I’ve seen great engineers who only ever worked in one programming language and can do amazing things with it, and I’ve seen engineers who know around 10 languages pretty well and care more about the architecture of a large application than about the language used to implement it.
Personally, I describe myself as having “20 years experience in moving data around” and I spend lots of time improving my data engineering skills. But while doing so I was an engineer, ops, architect, consultant, product manager and a bit of an evangelist. The toolset I use is ever changing — Oracle, MySQL, Hadoop, Kafka and who knows what’s next. Because I looked at one problem for many years from multiple directions, my expertise is quite valuable to companies that are trying to build their data infrastructure. But, because I didn’t spend 20 years as an engineer, I don’t have the engineering depth that I see when working with really amazing engineers.
Now that I know about “Explore/exploit” tradeoff, I can’t unsee it. It is a pattern that keeps appearing at almost every discussion, meeting and decision that I look at. It gave me a new tool to consider decisions that I may have made instinctively and without consideration before. Hopefully you’ll also find the idea useful — for your career and maybe a lot more.