Being a generalist does not mean being mediocre

Arpit Bhayani

tinkerer, educator, and entrepreneur


All good engineers I know are generalists, but if required, it would not have taken much time to become a specialist. They all could grasp any concept quickly and start contributing to any system from day one.

Don’t get me wrong, I am not saying you should not specialize. Specialization is important and you need to eventually become one because early in your career you are paid to get things done, while you are paid to minimize the blunders in your later stages.

During the first 6-8 years focus on becoming a generalist and explore many verticals. While doing this, identify one thing you love, and build raw expertise. To be honest, it takes time to figure out a domain you genuinely are passionate about.

By the way, being a generalist does not mean being mediocre in everything; it means building a strong foundation across core concepts, allowing you to be flexible, adaptable, and ready to tackle any problem statement. The strong foundation and varied experiences will help you

  1. spot gaps in existing systems, which specialists might overlook
  2. cross-pollinate and come up with innovative solutions
  3. become empathetic and hence a better team player

So, don’t say no early in your career; optimize for learning and exploring as much as you can, while building an ability to learn, unlearn, and relearn quickly.

Arpit Bhayani

Creator of DiceDB, ex-Google Dataproc, ex-Amazon Fast Data, ex-Director of Engg. SRE and Data Engineering at Unacademy. I spark engineering curiosity through my no-fluff engineering videos on YouTube and my courses


Arpit's Newsletter read by 100,000 engineers

Weekly essays on real-world system design, distributed systems, or a deep dive into some super-clever algorithm.