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
I like this question 🙂
There are 2 required ingredients to really be an expert:
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:
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.