The first few years in my career were a will-do-anything attitude. So yes, like the OP, I did a bunch of different things. A few years in, I harbored similar thoughts of feeling inadequate. A jack-of-all-trades-but-master-of-none. Especially, since I was at Google and was surrounded by the best of the best and experts/specialists in anything you could name.
My next stint was at an early stage startup (<10 employees). This is when I started to realize that this "weakness" may actually be a strength. You could point me to a wide array of things and I could run with it. I could take the principles from one stack/language/system and use them in another.
Now, as a founder, my favorite hires are generalists. Engineers who have a wide breadth of experience, a do-whatever-it-takes mindset, and ideally, a sprinkling of product/business sense. They are the first-principles thinkers. They can handle ambiguity and change without batting an eye. They will figure when/where you need a specialist.
Be proud of being a generalist.