Taro Logo

Shifting from generalist to specialist

Profile picture
Mid-Level Software Engineer at Taro Community4 months ago

I feel too much like a generalist.

I'm able to scrap something together with the new technologies that come up in my job. However, I never quite feel like an expert at anything. I have three years of experience, two of which were spent in a college rotational program where I switched teams every 6-9 months. When should I start to feel like an expert at certain things, if ever?

To give an idea of some of the things I have worked on/with:
Android / AOSP platform dev, OpenGL, debugging network issues, C++ middleware, testing frameworks



  • 4
    Profile picture
    Tech Lead @ Robinhood, Meta, Course Hero
    4 months ago

    I like this question 🙂

    There are 2 required ingredients to really be an expert:

    1. You need to in an environment where there are multiple other people in the same stack (e.g. you are a Python backend engineer on a team with 5 other Python backend engineers).
    2. In that environment, the overwhelming majority of the others in your stack look to you for guidance. You set the example for them and are respected.

    In terms of how quickly that happens, it depends on your learning speed and ability to build trust with your peers. In a vacuum, I've generally seen this start happening between 3-5 years of focusing on a specific stack.

    Here are some resources to help:

  • 5
    Profile picture
    Tech Lead/Manager at Meta, Pinterest, Kosei
    4 months ago

    A lot of expertise comes from business + historical awareness instead of raw technical knowledge. So tenure becomes important; if you've been on the team for a few years and understand previous experiments the team tried, or why the API is designed a certain way, that is very valuable expertise.