Other alternatives:
- move into management
- found your own company - your jack of all trades skills will then be pressed
- you could also start a side project and put your energy into that, hopefully it will develop into your own company.
- write a book in something (edit: there's the international consultant route for this to I suppose, become a super specialist in one thing and run around talking about it)
- edit: Sales / evangelist etc
If you do stay in management, get your priorities straight. You do need to be the jack of many trades but these are probably not the trades you are thinking of.
Your first and foremost priority is building the right team. Hiring right people, giving autonomy and sense of purpose to the team members. You want people that are smart but even more importantly you want people that get things done with little or no supervision.
Having said that your second most important priority is to get people unstuck. Be it your gravitas in organization, making the right introduction, or sharing a critical piece of knowledge - check in with your team regularly and actively ask if there are stumbling blocks or blockers. Many people are good in asking for help but there are many for whom it is hard.
I could go on but the point is that the trades you want to master in management are more like: communication, courage to delegate, empathy, accountability, being able to make decisions on imperfect information and deal with whatever consequences come up, etc.
EDIT: if you are leaning more towards individual contributor role, you will probably either find startups more interesting OR - if you looking for seniority - find an organization that has parallel ladders for management and individual contributors. Those companies will have positions that are worded “staff engineer” or “principal engineer” and tend to be on a larger side.
Like you, in my 20 years doing this type of role (wearing a large variety of different title hats) I've never been HIRED to the role. This feels odd, given playing the role always keeps me in high demand internally to organizations.... so if its something organizations crave internally, why don't they hire for it?
When eng/prod/ux "broke up" and became separate job roles in the post-Google and post-MS world, I found it /very/ frustrating, because I'd rather straddle all of these objectives. Additionally, I find many companies fail around these seams, because its hard to pragmatically find the optimal solution in the broad eng/prod/ux tradeoff space when you have the "deep knowledge trees" spread across many heads, with the limited bandwidth that entails.
When I started taking senior eng management positions, I naturally thought I would change this, and explicitly hire some "jack of all trades" folks. I was surprised by how hard this is to do, harder even (for me) to evaluate than specialist knowledge, was distinguishing pragmatic and effective "jack of all trades" types from, well, bullshitters. This is funny, because the really effective "jack of all trades" I've observed are in many ways the farthest from BSers possible, they're usually so broadly knowledgable partly because they are so voraciously pragmatic that they end up learning a lot of different things. But from the outside, I wasn't personally successful in confidently distinguishing people in an interview context.
The problem is there's a similar appearing archetype to "jack of all trades" the "always reading never doing" person. Conversationally, they can appear similar. And I found (and find myself) that its hard to test jacks-of-all-trades because they often don't keep knowledge at their fingertips, part of their skill is fast learning. But even if they spent serious time using a technology, they still need 4 hrs of work in it to look surface competent again (I think because they're constantly swapping knowledge in and out, vs a deep knowledge person who have practiced the same patterns over and over and over).
So my limited experience as a "jack of all trader" was: 1. Yes, companies seem to get a LOT of benefit from really good people with broad skillsets. 2. But I personally don't know how to select the good ones in hiring. I suspect other people have found good ways, I'd be curious to hear about them :-)
For the kind of work I do, being a jack of all trades/generalist is actually VERY valuable and I would like to think my team sees that value. But it’s definitely difficult to explain to people who don’t know me who see all my peers who have specific technologies focus areas, and then I’m the chick who knows a lot about a lot of things, has seen a lot, but obviously isn’t going to be as strong as someone who has spent years focusing on one area.
I might be off-base here, but I often think of people who are jack of all trades types as ideal connectors. Or, at least I am. I can connect the right people/teams together and can often identify problems/solutions by asking the right kinds of questions that can help a specialist hone in on something.
That connector/conduit piece is something incredibly beneficial at a large company, when the product engineering teams, the UX teams, the marketing teams, and the sales teams aren’t always in sync (particularly if something is cross product or cross organization). By being familiar with so many different people/roles and being good at identifying where there are opportunities to work together, that’s been a good fit for me, as I get to work on lots of different things and once and spend time with lots of different teams.
That said, I do echo what others have suggested, which is to go for a specialized type of role and then either express your strengths for cross-org work or agility in the interview or try to carve out the role once you’re in the job. A good generalist is typically identified early on and in my experience, we get slotted into that role by others, often without trying.
The more difficult thing, I’ve found, is getting promoted. I’m close to making principal and I would have already been promoted if I was focused on one area. That’s frustrating, because obviously I can do that, but doing that offers less value to the company. But I want to get promoted, so I’m working out how to play that game, while also still being a jack of all trades, even if my title is more focused/specific.
Just Google for "cross-functional senior software engineer" and you'll see a lot of listings that fit what you're looking for, including the high-paying FAANG companies.
Or a "Solution Engineer" at an enterprise software/services company could be a fit. This is a role where you may not be working on the core platform, but custom solutions for clients built on top of the platform (hence PM, UX type skills are useful). Sometimes this is in service of sales pitches, other times you are actually implementing the solution.
I have hired for roles like this in enterprise world, but also even for internal platforms at a FANG, i've setup something similar before.
I myself am a sort of jack of all trades for ~20 years now and am a senior engineering manager at a FANG--I've never considered myself to be a particularly strong engineer, but I made up for it in other ways and am technical "enough" to be effective (at least people seem to think so). I've seen others like me be successful (e.g. they are more senior than me now), and some did not even have technical backgrounds, they just "faked it till they made it", but had a good sense of what was important to focus on and not be distracted by technical ratholes.
Like others said, a startup is a good option too--I have been in that type of role in several startups earlier in my career (and have had to hire those types of people before).
good luck!
1) Specialize in at least one thing. This will make you an expert in one thing, while still being the person everyone goes to for other things as well. This will help advance to senior developer.
2) If you have a good grasp of the logistics of how pieces of a project fit together & the coordination necessary, another clear path to a more senior role is team lead where you do PM & part-time development. If you want to go higher than that, you're looking at high level project or product management. Actual development work will be minimal, but again with a jack of all trades background you will still provide valuable insight & guidance to those performing development work. And you can always look for extra opportunities to get your hands dirty back in to coding here & there.
In my experience, many "experts" in specific programming areas have either gathered sufficient prior knowledge to know the right answer, or more likely have enough prior experience to know where and how to quickly find that answer. That's what makes them the experts.
In much the same way, generalists are quick learners, and your expertise is in knowing how to quickly learn anything so you could find the answers. You are quite literally the expert in becoming the expert.
You might start at 0% knowledge, but you can also get to 80% relatively quickly, at which point you too can function on a near-expert level, at least for a while in a narrow enough scope.
Understanding that, if true, will help you find the jobs that need this ability, even if they don't know it yet.
ps. Let us know how it goes. Would love to learn what you learn ;)
Also find a really good, experienced manager/leader who can help coach you into that phase. I've found it's very hard for generalists to self-motivate when focusing on a specific and narrow development, and a good coach helps.
If you want to stay a generalist, that's great, go join small startups and bring your experience to them, help them grow and then move on to the next. Early stage startups crave experienced generalists and you can ride that for a long time.
I don't have the lofty "Sr" in my title but I have a special designation as the "edge case SME" in the list of experts. I also do big crisis management which is pretty fun. Not a dev, so take it as you will.
I also avoid working with really early stage founders as my rates are high.
Write content that will attract founders.
Good luck
In my experience, job titles, levels, and even team membership are more "guidelines" than rules, and are often trailing indicators of what and how you're actually doing. I wouldn't worry about finding the perfect opening - just find a team you like and a manager who seems to get it.
Another option is to find a cookie-cutter role that fits your interests. For me that means "embedded software engineer", where all of my experience is relevant. I'm definitely all-tech and no-management now though.
Yet another option is consulting/contracting/freelancing. You need a good network for that. I haven't done this. Preparing to potentially do it in a few years after I have a larger nest egg.
if you're looking for the rare individual who transcends categorization, you don't do it through job ads or an HR department. it's hard enough to find a person who can do one role well.
so, if you're a jack of all trades, look for a job fulfilling one of your many possible roles, in a place where you will be able to fulfill the others as well. it sounds like that's exactly how you got the job you have.
https://jtauber.com/journeyman_of_some/ is a particularly eloquent way of putting it.
If you’re looking to be more hands-on with the engineering, I’d recommend management. Engineering Manager seems like the best fit given your description.
Likely to look a multinational corporations or groups dabbling in many things. Everyone naturally will be wearing many “hats” and they will look out for that.
If you are a jack of all trades that wants to be involved in management, the job title to pursue is Technical Program Manager.
Consulting.