I am a software engineer with about 20 years of experience, and lately I have felt a bit lost about what to do going forward.
For the context, I have always been passionate about software engineering, I started very young and have worked in it non stop every since. I mostly worked broadly in web development and have pretty-much mastered all areas and layers of the stack (infra and cloud, databases, backend, network, front-end and even a bit of mobile...). I've also been an indie game dev on my free time ever since.
For the last 5~10 years I have not been evolving or learning anymore in my daily job, and feel that I've basically seen everything. It only feels repetitive, and as I've lived through many tech bubbles, I don't get much interested in the major trends because the fundamentals are the same and everything old gets new again.
Over the years, I've worked in many companies, from big ones to fresh startups, B2B and B2C, in direct and as a contractor as well as web dev agencies. I've also found out that while I like tech leading and the various design and spec phases of software, I don't like managing people. I do not want to evolve as a CTO either because of those reasons and the endless meetings. But the industry seems to think that the normal path forward is to quit being a developer and manage people instead, which is a totally alien idea to me because it involves completely different skills and knowledge.
I am now at a step in my career where I find it impossible to find a company where my knowledge and experience is really valued and useful. I'm often the most senior, more than even the managers and CTOs, but have less power or influence and am just another cog in the machine. I see the mistakes being made and know what it will cost (because I've been there and done that many times), I do my best to explain that and recommend alternatives, but more often than not it still happens anyway.
I've long considered switching to game dev professionally since I find that it has a lot more fun and interesting challenge, and I yet have lots of things to learn there. But as a husband and a dad, the reputation of the industry (low salary and crunch time) makes it difficult to seriously consider. I'm now thinking that freelancing my be my best bet going forward, and then explore and build things from here.
I know that there are more senior (30, 40+ years...) people around here, so I'm curious to hear your experiences. Did you ever feel the same way, what did you do and how did you finally find a satisfying daily job?
Start by understanding both what you want to do and what you really don't want to do and understand that over time, both of these will probably change.
In most organizations, in order to make the most impact, you have to be at Management level. I think this is causing you some conflict, because you want to be impactful, but yet don't want a CTO-type position. As an Individual Contributor, even as a tech lead, people "above" you really just want you to keep your head down and keep cranking out product. Like it or not, titles have meaning. If you want to make changes, your position in the company needs to be one where they expect change to come from, or you need to get really good at pushing your ideas to others and you have to know those people well.
It's going to be difficult to be an upper-level tech employee at a smaller company and not manage people. The separation between technology lead and manager/supervisor tends to only happen at larger companies that can afford that specialization.
It may sound trite, but the reality is that you have to understand just what kind of job you want and then devote your energy towards finding that job.
reply