-
I've been at the same small company for over 7 years. I started at the bottom, worked my way to the top after 3 years, and I've been here since. For a couple years I created new positions for myself because I hate being stagnant, but there's nothing else to do here.
I'm proficient in many things and enjoy doing all of them. Development (full stack), server admin, data center management, DevOps, project management, managing teams, VoIP, routing/switching, training, sales... the list goes on.
My issue is I haven't had formal training in a lot of it, and I didn't have any mentors or people above me to teach me more because this company is too small. I just love learning and love moving forward so I kept teaching myself new things, and then using them in the company. I don't actually feel like I have impostor syndrome, but I also feel like someone that is filling these roles at another company probably knows/does it better job than I can. I'm just a big fish in a small pond here.
So finally to my question: what role/job title I should be looking for? All the searching I do points me to one specific roles. PHP Developer. Systems Admin. Network Engineer. Etc. Are there any other "Jack of all trades" out there that can tell me what your job title is, and what I could be looking for?
I've been acquiring small but promising businesses that don't have the right team in place to move them forward. I bootstrap them on my own and replace my roles as the business can afford staff. Once enough roles are replaced, I'm able to start looking for the next business. I'm on my fourth business now. Sold the first two, the third is a productized service netting seven figures, and I just acquired the fourth, which is a SaaS business that I believe has great potential.
Currently, I'm formalizing this method and will build a team that can execute it much more quickly than me alone. I'll be shooting for a new business every 12-18 months to build a portfolio. We'll have a group of partners and a small staff that will be focused on getting these acquisitions straightened out and growing, then we'll install a team to run them full-time and we'll go on to the next one.
So just taking what I've been doing for years and everything I've learned from it and scaling it up to reduce the timeframe from acquisition to growth and then operation of the business.
If OP or anyone else who identifies themself in a similar manner wants to chat, email is in my profile. I'm actively looking for people like us to work with.
If anyone like this is in the UK and wants to get in touch, email in profile.
I read that and immediately thought, well that's for me, so I sent them an email. I had zero clue what I was doing at that point.
The last business I acquired was though a broker; FE International. They have some interesting SaaS listings from time to time. QuietLight is another broker I watch listings from, but they are more in the ecomm, FBA, etc. space though. Less pure software. There are other brokers as well such as Empire Flippers.
There are some marketplaces like Flippa, Sideprojectors, Transferslot, etc.
You can also find a business you are interested in and call them up and see if they might be interested in selling. I almost bought a business this way last year after seeing it on Indie Hackers and reaching out to the owner. We couldn't get together on price though. I was happy to overpay since the business wasn't on the market and I believed in the future potential, but the owner's expectation was just way too out there so I couldn't justify it.
I did the first three solo and on the last one I had a couple of conversations with my attorney during the process. I wanted the attorney to be fully involved on the last one because the purchase price was higher than the previous acquisitions (high six figures), but the timing just didn't work out. I wanted to close quicker than he could handle so I just went ahead.
Asset purchases aren't that complicated since you aren't brining on liabilities. Still, I'm sure it is advisable to have professionals help with due diligence, contract negotiation, etc.
I get companies and ideas off the ground, once it gets corporate level, i lose interest. Makes me feel I'm not cut out for that corporate lifetsyle... SO I wonder like you what can work.
Latest business venture since trying this method - service provider company, we hire various experts. Then internally we create campaigns out of pocket and as the calls come in we direct them to various industry.
We should most definitely speak. I have several projects that fit our unqiue abilities.
For 38 years I said i'm never going to achieve because I cannot stay in the same position once it becomes routine.... This is a brilliant approach! how can we be in contact? mrtorah AT gmail email me when you have a chance id like to see what you have going, we have a bit of financing and targeting some higher ticket niches right now.The first acquisition was funded by a loan from my parents for $44K. That was a large sum for them, but they believed they would see it again and they have always wanted to help my siblings and I in any way possible. It turned out to be one of their better investments as I did return that money and a percent of profits for years.
After the first one I was able to continue self funding.
The challenge is endless, diverse, and there is no perfect solution to the problem if people. It is a strange domain, but being technical is nice when working with development. Worth a try if you are in to that
Speaking from the experience of a friend, they started out by talking with their manager that they did not want to be a developer in the long term. Shortly thereafter, the manager announced to the team that the developer was going to start taking on project management tasks (like managing the project using Microsoft Project and leading the scrum daily stand ups). They continued in that capacity until they officially became project manager for another team. Now, years later, they are still managing but managing managers and a much larger team overall.
There are some technical product management positions. If you are looking for training and feel like that route and MBA will almost certainly set you down that path. Though I did not and got to a PM position. Luck is also involved. Haha
Be knowledgeable about metrics/kpis (and help create them if they don't exist), help your teammates grow through coaching, and work your way to be involved in those product discussions.
If you're not in such a position, try looking for a new job. So many companies need product managers and if you come clear on your ambitions, it seems to be easy to get past that initial wall.
Maybe in a few years after I get more experience in the business.
Big companies like Google also seem to hire a lot of generalists who have good programming fundamentals, are smart, and can quickly (i.e. within months) become productive in many kinds of projects.
These generalists then work on a project for 1-3 years. When they lose interest, they move to another Google project or leave the company.
If you really want to work on both engineering and sales, you'd probably want to run your own business or work at a very small company.
The larger and more mature a company is, the more able it is to afford a job title which specializes in something narrower. It doesn't need to be super large; if the product is very technical, a specialist might be necessary.
The situation can be a bit different in a large company. They might want to hire a Java developer, or a front end developer. These are specialist roles, in that the people in them have chosen a professional specialism. They're commodity specialists though, so common that they're not thought of as special. It's more rare that they want someone who can do devops, UI, JS, RoR, Java and C++ - this is a generalist.
P.S. We believe it's a marathon, not a sprint. Salaries are market rate, benefits excellent (on par with large tech, i.e. 6% $1/$1 401k match, etc.).
P.P.S. While message is directly to OP, also open to anyone else reading. More background in my profile bio here.
Edit: although the OP is broader in experience than most.
And if it never takes off, so what? At least it will be a great learning and self-growth opportunity, which is exactly what the OP is asking for anyway.
I thought the same, that I was a generalist and I did also enjoy the variety. But a couple of things:
1) while I thought I was proficient in everything I actually wasn’t. When I went to a big company where I focused on a specific area is when I discovered how little I knew about the topic and how shallow my knowledge was.
2) I discovered that I enjoyed diving into a specific area and being a specialist there was also fun. Gave me a different kind of rush and ego boost, knowing I can solve deeper technical problems in a specific area.
3) you can’t be both broad and deep in everything. Best is probably aim for a T shaped skill set.
I guess short version is, maybe give specializing a go. You might discover that it’s both enjoyable and sets you up well professionally.
I.e., T-shaped with many descenders of various length.
Got bored after 8 years and now work for a big company as a DBA, and man, I knew so little in hindsight. Having sysadmin knowledge does make working with other teams (like infra) much easier as I feel they respect me more than another colleague but I definitely got put in my place (and love it here!).
Also specializing on databases satisfies me a lot because I feel I'm really grasping the entire tech for real this time and not just the surface.
I had the same issues for many years, but the past 2 positions have been official "DevOps" positions and they more often than not have me doing so many random things that require all sorts of skills. I love it. It keeps things interesting, and it makes me very valuable to the company because I can do whatever they need.
Sure, some places have a very narrow definition of DevOps, but that's usually the large companies/teams. If you can find something a bit smaller, then you'll have more of a jack-of-all-trades role. At least in my opinion.
At my previous company, I work as one and really enjoyed it. I was a software engineer, but I was also responsible for infrastructure, tests, CD/CI.
Now, I'm looking for a job like this, but most of the companies just want ops people who can code a little bit for automation and support other developers work "thrown over the fence"
Wonderful, wonderful place to be a "jack of all trades," while also allowing you the opportunity to carve out a niche if you find you do become passionate about just one thing.
In addition to working in DevOps roles, there are a range of consulting opportunities that are diverse, which adds another layer of keeping things interesting. You can do work with small companies, large companies, government, schools, incubators. And you don't have to stay put. It's encouraged at Red Hat that you follow your passion. Allowing someone like you, to chase whatever happens to tickle your fancy at a given moment.
If that's what OP (or anyone else) is looking for, consulting career might be awesome for bootstrapping one's skill and career.
Most consultants I've seen have switched positions after a year and a half or less. There are some who absolutely love it and kudos to them, but those seem to be in a minority.
No idea what consultant life is at Red Hat specifically, just some general thoughts.
I started in management consulting - and even after doing startups for years - find startups too mind-numbingly boring. (But that may be me) If I'm on an internal teams - I have to work on many things at once to keep sane.
For me, management consulting (using my CompSci as a starting point) it gave me skillsets others don't replicate easily.
As a concrete example, I'm at Red Hat Consulting. We have products that range from RHEL, to Kubernetes/OpenShift, to language runtimes/tools/middleware, and finally to more process focussed transformation. You can specialize, but the more of these you are competent in the more useful you become. I am in more of a leadership role now, and in any one project I am likely involved in all of the above.
The key skills you haven't mentioned are the "Soft" skills: mentoring, client facing leadership, presentation skills, etc. If these are a strength for you, then consulting would be perfect.
Shameless plug at the end, Red Hat is hiring: https://careers-redhat.icims.com/jobs/search?ss=1&searchCate...
Something i learned about myself a little bit farther in was that I wasn’t a generalist so much as I was a serial specialist (once you haven’t touched something you used the be good at for seven years, can you still claim to be good at it? Turns out I can’t).
What you list sounds quite a bit like what devops was supposed to be but nobody does it that way. Instead you should probably look at small companies. In a large one the only way to wear that many hats is to stick your nose into other people’s responsibilities. At a small company there are gaps everywhere, and people are just glad when someone can fill them.
If you have any ability to mentor, you might want to look at lead positions as well, or think about what you need to get there. That gets you some management responsibilities but you still get to make things.
Can you elaborate on this?
If Mark the networking guy is on vacation, Jane the fullstack dev should be able to perform basic networking troubleshooting and implement some fix until Mark returns and possibly fixes it.
Turns out people who can do that are:
- incredibly expensive
- very difficult to find
That's my take. I imagine a kanban board where prioritized issues are taken not by people who specialize in that particular area, but by whoever has the time right now. Again, I've actually never seen that implemented, except maybe for companies that consist of nobody but Jane and Mark :)).
I do not spend as much time as I would like contributing to the codebase (the devs in my team do often a better job of it), but rather tend to act as a solution architect. I often bootstrap projects, do a lot of research and development, build proof of concepts, and overall push the team towards best practices.
I am very proud of some of my achievements (we are lucky enough to have freedom in the tech that we use and are currently testing out Elm for a small app, we moved the team from Java to Kotlin..) but I feel like I have lowered my value in the general market.
I would be curious to know in what form you contribute to your current team. I do not feel like my job is done here, but I am also going back and forth on whether I should get back to a more coding-oriented job, rather than doing my coding in my free time just to keep in touch with the craft.
Seeing the quality and technical abilities of scrum masters I've worked with, that statement is probably true.
That said, if you can demonstrate that you're a good scrum master that is actually technically skilled, I'd pay your weight in gold for you... Monthly...
Mine, so far, weren't.
As an employer I look for a balance. I look for the ability to have deep knowledge in at least one area, but also working knowledge in more areas.
Think of it as an S-curve that is steep in the 20s and flattens somewhere in the 50s. Those first 10 years after graduation are a bit special. This is where you either become really good at something, or you become mediocre (or worse).
(If you are a programmer and I see you spending 2 years on each programming language before moving on to whatever was trendy at the time: slim chance I will hire you. You will probably give lots of entertaining talks to conferences, but you will not accomplish much in real terms. I've seen people piss away decades of their lives like this, only to end up at the bottom of the food chain)
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!!!
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."
[1] Really, "Development (full stack), server admin, data center management, DevOps, project management, managing teams, VoIP, routing/switching" is a perfect fit for SRE, and SRE probably is the most in-demand and highly paid of all the related fields (software development, etc.).
I really enjoy the work and I’m very rarely bored.
It's nice to see another integrator here. What do you guys focus on?
I guarantee that none of the IT skills you have acquired will go to waste. Plus -- by choosing a fascinating area -- you might actually NOT BE BORED!
On the other hand, if you are at all hesitant, don't go to grad school. With the wrong adviser, it will chew you up and spit you out in tiny bleeding little pieces.
Just my 2 cents...
Exactly what happend to me. 4 years in a PhD program with an adviser that could not have cared less about anything I was doing. I gave up after my wife left me because I was spending too much time at "work". Yeah, now I have nothing and can't get a job because 4 years of nothing looks pretty bad. (Thank god I bought Bitcoin).
Very similar story. Beyond doing the full stack development of their web properties and internal database, design, IT, networking, I've created a marketing, seo, and advertising role handling all of that to bring in clients. It's a busy day but have automated as much as possible. Currently looking for something that checks all the boxes and that'll have me. Hardest part is remote is a must. Definitely don't have an issue traveling for work but relocation would be tough. Recently bought a house in the midwest with my wife.
Since you'll most likely be part of setting up the deployment pipeline, you have to understand to some extend various git flows. You might end-up consulting developers on how to build applications that will run on a docker container, what are the best practices and what pattern the app must follow (e.g. circuit breaker) in a micro-services environment.
You surely will want to automate some management. So apart from DSLs like terraform and configuration management systems (puppet, chef, saltstack, ansible) you will have to write some API here and there, an application tailored around the need of your systems. This application might end up being written in python, ruby, golang or C.
Now, consider that you have build the CI/CD, the orchestrator, alongside the entire pipeline and logic to drive an application from staging to production. You'll most likely be on call and you'll have to deal with networking issues at TCP, HTTP or DNS level, load balancing, autoscaling, etc. You might have a say on that query which is too heavy because the data is un-indexed because, well brings down the database every now and then.
There is no role I can think of in a modern institution which has the breadth of technologies that an SRE (or DevOps engineer as they are often called) will have to gain expertise.
In short you have to be: A medium-level programmer in terms of concepts, have networking experience, learn dozens of new tech, face ever-evolving problems eventually at scale, design end-to-end systems, debug applications others written sometimes without having context, understand trade-offs of new tech stacks only to explain it to others (which might end in a PITA due to the back-and-forth but you'll eventually end up knowing lots of things you didn't ever thought about).
If you like all that, then an SRE role is ideal IMO even in medium to big corps.
NOTE: The role could be called SRE, DevOps engineer, Infrastructure Engineer and/or quite a few other things depending on where you work. Responsibilities tend to overlap significantly though.
I often wonder whether I should start pivoting to full-stack or at least back-end development, in order to better position myself for technical cofounder / startup CTO opportunities (DevOps expertise isn't the most valuable skillset in the first few months. Ability to quickly whip a product prototype together at a hackathon is.)
But you've just reminded me why I love my job so much !
Btw big companies like FAANG interview generalists all the time.
There are definitely generalists at FAANGs, and they've got license to kill, but it seems like they were hired specifically at a certain rarefied level or they grew into the role over time.
>I've been at the same small company for over 7 years. I started at the bottom, worked my way to the top after 3 years, and I've been here since. For a couple years I created new positions for myself because I hate being stagnant, but there's nothing else to do here.
I've been there and I thrive on it to this day. There are ups and downs with this, but you have something that will serve you very well if you choose to have a change of perspective/attitude.
You can either take this as a blessing or as a curse. Have you thought about going into an executive role and leading the company in a larger capacity, and helping it grow further?
At a certain point you have to drop off all of these duties that you are performing so that you can leverage the people you have around you.
You may think you still enjoy doing all of these things, but this stagnancy is going to haunt you, because there isn't an infinite growth in these areas. People, and companies, like predictability. Your voracious appetite is an anomaly. And you can't keep it up forever, either, because eventually you'll just plain get tired of it.
>I also feel like someone that is filling these roles at another company probably knows/does it better job than I can.
Questionable. There are a lot of muppets in other companies that don't know what they are doing.
Did the company grow over the years that you were there? I'm assuming it's not as "small" now as it was when you started. If so, you grew along with the company and you have a very good grasp of how to introduce and manage things within a company over time as it grows (ie. transitioning/pain points).
>What roles out there fit the skill set of someone that is good at a whole lot of things, but doesn't feel like a master/senior in any one of them?
People here are already playing Startup Bingo bullshit.
I doubt working at a startup will satisfy you, because that shit will feel like Groundhog Day much like how it currently does for you. You'll get to go through all the same nonsense over and over again.
Furthermore, the startup hustle is far riskier (with even less guarantee of a payout) than the position that you are in, because your position is much rarer. Anyone can choose to start a startup. Very few people can choose to be at the top of the food chain in a company that is alive (and healthy, I hope) after 7+ years. You didn't stumble into this position by accident.
You can leverage knowledge you don't know you have to do things that you couldn't do at a startup, all while having financial backing, a solid team and processes in place.
>My issue is I haven't had formal training in a lot of it
Most of what you know that is vital (that you've dismissed, I think) has no formal training. I can get formally trained monkeys to sling code all day if I wanted to, and while it wouldn't be done as well as I would have done it, it would satisfy the larger picture and keep things moving forward. Sacrosanct words for "engineers" who keep themselves busy writing more useless unit tests I'm sure.
>So finally to my question: what role/job title I should be looking for?
Before you jump ship, see what options at the top of the company pyramid are available for you, because if you leave and go elsewhere, and if you market yourself as a "PHP Developer" or "Systems Admin", you'll more than likely just move the clock back by 7 years and have to start all over again, in a different company, doing the same shit you've done for the last 7 years.
Young (in experience) programmers need to move around a fair bit early in their careers, IMHO. It's good for getting perspective and seeing things from different points of view. But it isn't all roses and sunshine. It will be very challenging in a number of ways, but if you don't do it you will stagnate.
So what should you do? Get a job in an area and do your best. Don't try to do everything. Try to learn from others. Get to see their perspective. Do it wrong many, many times so that you can really understand why it is wrong. Or why (surprisingly) it is not.
But most important of all, don't try to do it all. I'm sorry to say this, but you are not a big fish in a small pond (yet). You are a fish that doesn't yet know what "big" means, or else you would have asked a very different question. What potential you have to grow will be determined by the attitude with which you take your next steps.
You’ll inevitably need to learn something brand new, and you get to pick your clients. After a few successful projects you start looking really appealing as a generalist.
Try Toptal or Moonlight, post on the monthly HN who wants a freelancer post, and reach out locally for clients.
Work is real experience, don't discount it. :thumbs up emoji here:
If you're worried about knowledge gaps, here's a badass career development project -> self-pace audit a quality CS degree:
- Find the required course list for a particular university, let's say MIT or CalTech.
http://catalog.mit.edu/degree-charts/computer-science-engine...
http://cms.caltech.edu/academics/ugrad_cs
- Select a sequence of courses based on their requirements.
- Go through each and every course syllabus and textbook to learn the big ideas.
- Write and keep notes in your own words to summarize each concept.
- If you get stuck on any concept, scour the internet, MOOCs and youtube until you get it. As a last resort, SO/HN/Reddit.
- Do the syllabus homework at a minimum.
PS: I was self-taught (Pascal, assembly, C89, C++, and Java), built beige PCs, was an assistant manager at a software store (Egghead), and had a sysadmin consulting company installed an ISDN modem, made NIX and Windows place nice and helped port a BWR/PWR simulator from NIX to Win32 before I was 18. Then I spent 10 years, money and took on some debt to get a degree that ultimately proved worthless trying to appease HR people and family... don't do that.
Look for Systems Engineering(not a title used much anymore TBH), DevOps, Site Reliability Engineering, Platform Engineer, Developer Experience engineer(or whatever).
A lot of these roles will be very cross discipline and non-functional. Always be on the lookout for cog-in-machine roles; DevOps can be "The buck stops at you for our companies site reliability" or "you write Chef cookbooks and test kitchen scripts all day".
Don't let anyone tell you your skill set doesn't exist. Let's face it, most college grads do the bare minimum of learning for their degree. Most people don't to TOO much more than what they need to keep their career viable. Being a "generalist" is like taking 20 electives you don't need to graduate; it's inconceivable to many people. Mediocre engineers and specialists will rail against the idea to protect their ego. Generalists will rail against specialist value to protect their ego. Don't get too caught up in the BS.
Be prepared to be pigeon-holed. Nearly every person you meet at your new employer will see your last job "title" and generalize you. Typically the only exceptions will be the recruiter and maybe, incredibly maybe, the hiring manager.
GL/HF
Instead refer to yourself as a "Swiss Army knife" or something.
The reason is that "A jack of all trades." is often (mentally at least) followed by "Master of none".
On the balance, I've found it to be remarkably similar to being a software generalist. You have to know something about everything and everything about something (I stretch a little, but my core competency is programming; the rest I learn as I go). You get to be engaged at all points by all people throughout the product development life-cycle. For my part, it's taught me a lot and definitely made me a more critical thinker.
Downsides include more red tape, similar mentoring problems due to personnel churn, and occasional tensions due to aligning more on shareholder than employee goals. Our project management is also a bit dicey.
I've toyed with getting back into programming full time, and the career switch has cost me a bit there. While I think my coding chops are still decent (I program daily and grab a few minutes sometimes for personal projects at home), my vocabulary has suffered, and that definitely cost me in recent interviews.
I got really surprised when I first read about the attributions. I had never seen all my interests forming such a harmonic whole before.
On the other hand, if you're really just looking for a different employer, then either find a similar position at a different small company, or go DevOps, because that is the one right now where the need is so desperate that they will hire someone with mixed experience instead of insisting on a specialist. But, beware, people who fell naturally into being a JOAT, often don't like becoming specialists after a year or so.
I'm currently working as a technical architect that allows me to do some low level work but also work across several areas/technologies. A senior support engineer might also do the same. I've noticed quite few integration jobs which might involve working across technologies. I'd apply for technical roles in your desired pay range and location where you have some of the skills and see what happens. You don't really know too much about jobs until you get there.
Some people really value a diverse skillset and others just want you to churn out x lines of Java code per day...
Sure, a broad skillset would make an excellent case for starting your own business, but I think that being a "jack of all trades" is a sign of a certain personality: great vision and engineering talent, but lack of disciplin to really follow through.
Trying to start my own business has been the most frustrating chapter of my life. I would drop projects regularly to work on something more exciting. I never got anything done until I randomly found a job with a good boss.
Good management is crucial. Someone who can keep up with new ideas and who can delegate the burden which comes with project work. The field is in my view irrelevant; you would pick up the skills anyway.
The next closest thing is Phone Stack Programming! That space has a lot of interesting challenges, and can leverage your current skills.
A good way to be the dumbest person in the room is to diverge hard. NLP, Security/Privacy, Image/Audio/Language Processing, Compilers, Operating Systems, Statistical Modeling.
I consider myself a Jack of all trades from the opposite side. I had 8 years industry work before my first opportunity to Full Stack. Hard switches are hard in every direction, but I am a big fan of "drowning to the top".
My role at the moment involves doing several different things, some of which I'm not very good at, which tends to make my work quite difficult.
I find myself being envious of other members of the team who only need to do one thing, and don't even need to do it that quickly (they probably get paid the same, too). If I had their lives, I think to myself, I wouldn't find work so exhausting.
You can do any 'job'. If you have communication skills you are particularly well-suited to be a leader coordinating a team of specialists, connecting them and finding value in the overlap of their specialities.
Most of the people are too narrow now in my opinion. It is your great advantage that you can see a bigger picture than an overspecialized PHP Developer for example.
Another you might consider is starting your own business.
This path is not for most people. However, being successful as an entrepreneur does require a wide breadth of knowledge, and plenty of new things you'd need to always learn.
If you go this route, keep your (current) full-time job while you start building it on the side. Your one and only test of when you're ready to go solo is your ability to make consistent profit.
Promotions and ratings at my company are very subjective and political. I've had quite a few people over the past 4 years thinking that I was a level higher than I actually am (I'm a dev, people have even mistaken me a tech lead), one of them even offered me a next level position. The subject and technology were not interesting and it was a dead end career-wise (prior to my acceptance ofstagnation). But I have also had a couple of managers that say stuff like 'not everyone has the potential to get to the next level' or 'I hired you because I could see you being a senior dev or tech lead in a couple years, but I don't think that anymore'.
Basically, you might be better off just accepting that you hit your peak and enjoy the brief moments that you find yourself doing something interesting rather than torment yourself with looking for the next promotion or change.
Run a few product implementations at customer side and there will be no monotony.
If you grow older and start appreciating more the routine in your life you can go into product management using the knowledge accumulated on customer side implementations and finally consulting.
Given that, I ended up applying to jobs that satisfied two criteria. 1) I'd be on a good technical team, and not working as a sole developer on a project 2) The company has a great learning opportunities and mentorship.
From my experience, "jack of all trades" usually just means "all the things we need, at company X, right now", and one "jack of all trades" or multi-skilled position may not overlap with another, it's entirely context dependent. Thus, these positions tend to evolve from something else in smaller, less structured companies, and one option for you would be just trying to join a similar company!
As an example, at my current job over the last two years I've done data engineering, devops, sysadmin, security, machine learning, backend api, people management, product management, project management, and probably some things I forgot about.
It does help to have a core set of skills that you are particularly good at and experienced. Mine is data engineering followed by machine learning and devops (devops being a recent addition). I avoid boredom in those areas by building better systems at every company based on past experience and the specific business goals of the company.
I was a 'generalist' for most of my career. I had started, run and sold a successful business that required me to touch all parts of the business.
Until a Sales Director absolutely schooled me in the theory that underpinned his work. He seemed insulted that I claimed to be proficient in sales. It was an insult to his specialism.
I would suggest you really test yourself in one of these areas before claiming you're proficient. I've never met a single person who was proficient in all the above. I've met plenty of people who could trudge along in those areas.
I went through triplebyte as a generalist and it literally changed my life; I had lots of competing offers well beyond what I thought was in my reach.
My role is now 'engineering manager' but I was hired as a staff software engineer; but into an org on a stack I had zero experience with.
If I did it again I would probably do the same thing; but I would also be looking at sales engineering roles; something I wasn't really aware of at the time.
Find a great security team and hope that they will bring you on and mentor you.
Security is a great specialty for you in that it is very broad and always changing.
In the meanwhile your best bet is to market yourself to cash-strapped startups, pre-prototype to hack together the product/service. You might have to work for a dozen or so start-up that fail before finding the rising star; In such case make sure that you get enough equity so that, by the time "professional management" comes in, you're protected by your equity.
Even though a person has experience with lot of tools and languages, I believe it would be better to market yourself with specific set of tools/technology/language which are in demand. This has been my experience and worked out well.
If you have any questions, my email is in profile. Good luck with your search.
Tl;dr - figure out which of your experience areas align with an area that’s either lucrative to you or of high interest for you for other reasons, and pursue that at a large company. At higher technical levels, your soft-skill and cross-dept experience will further accelerate your career.
All of these will use 50-60% of your skills.
Choose one such ecosystem to focus on, but within that can be many exciting things like Javascript and Python or Rust and Embedded.
More likely than not this is not true. Dunning-Kruger effect and all that.
Especially if, by your own assessment, you are "proficient" in devops and sales.