Are you sure you're a "jack of all trades"? It sounds like you have interests that cross different domains, but can you execute in those domains? You're not likely to get a job as a generalist if your pitch is "I like everything", unless you can demonstrate your accomplishments across a broad range, which takes years to develop. With only 7 years expereince, it is not likely you've achieved that.
That being said, I think you are a budding generalist and should continue to take focused jobs in multiple areas and develop your depth professionally.
There is a reason why generalists tend to be in the 40's and 50's: it takes a long time to get there.
EDIT: I want to point out that over 30+ years in the industry I can say that the "generalist" disposition is rare. MANY engineers just want to put their heads down, do their one task, and grind through life without ANY upsets. Seriously, I've left companies, come back after years of absence, and seen people doing the same tasks they were doing 10 years ago. That's fine if that's your jam, but having the desire to learn and grow and be new at things is RARE. So run with it!!!
Seven years is quite a long time. That's just over two whole years at three separate companies! For somebody that can execute that's plenty of time to build a portfolio of accomplishments.
Agreed, but these are accomplishments at two years of expertise level. Two years is enough time to understand something, and that's generally the time required to demonstrate a promotion from "junior engineer" to "engineer" at big corporations. I guess it depends on your definition of generalist. I expect at least 3-4 areas of senior level expertise, which is 15-28 years in the business. Our definitions differ if you think it is someone who has dabbled in 7-14 things at two years of depth.
Both opinions are equally valid, BTW. I'm not sure there is "watermark" of what makes a generalist.
On the extreme far end, I know people who claim to "speak several languages" and basically know how to say "yes, no, please, thank you," and consider that sufficient to make the claim. Maybe that IS sufficient. I'm not actually sure, but the cynic in me says, "no."
On the other hand according to the Foreign Service Institute(Department of State) it takes about 1k hours for a native English speaker to reach "proficiency" at speaking and reading "Languages with significant linguistic and/or cultural differences from English": Level 4.
If your full-time job for seven years were learning spoken languages, you could become proficient in 14 of them. Or maybe you want want to learn 7 of them and leave room for nearly all level 1-3 languages. Maybe you just want to spend 2 hours a day M-F(you slacker!), you'll only be able to learn Spanish, Portuguese, Italian, French, German, and.. Dutch.
That being said, I think you are a budding generalist and should continue to take focused jobs in multiple areas and develop your depth professionally.
There is a reason why generalists tend to be in the 40's and 50's: it takes a long time to get there.
EDIT: I want to point out that over 30+ years in the industry I can say that the "generalist" disposition is rare. MANY engineers just want to put their heads down, do their one task, and grind through life without ANY upsets. Seriously, I've left companies, come back after years of absence, and seen people doing the same tasks they were doing 10 years ago. That's fine if that's your jam, but having the desire to learn and grow and be new at things is RARE. So run with it!!!