It seems clear to me that you need to be leading now, not being a cog with no influence.
I also resisted "being a manager, for a long time. It's like it was a dirty word and I thought it would be turning my back on what I was good at and enjoyed. But the truth is, you are no longer enjoying what you previously did and have not grown for 5 to 10 years.
Being a leader is not being a line manager. Managing some people may be part of being a leader, but it's not the main focus. I manage about 3 people and mostly I just delegate stuff to them. It's not that hard and isn't what I spend most time on.
What I really enjoy is that I get to set direction, come up with the strategy and use my years of experience to build things the right way.
So I would advise trying to get into a leadership role and give it a try. It has to be something where you can really set direction. You do not want to be a middle manager just doing people management, and there are plenty of roles like that. Worst case - you get a break from what's driving you mad right now and some fresh perspective. Best case is you actually find some new passion.
I've been in the industry for over 30 years (yikes!) and I can assure you that job satisfaction is transient at best.
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.
I'm nowhere near as senior as you (12 years). But I've reflected on this a lot recently. I love the technology and feeling like I'm building things, but staying hands on will always limit your scope. Taking the management path improves your scope but the work is - well - just less fun than programming.
My answer right now is to try and build more things myself. Small apps, CLIs, retro games. Not libraries or much OSS stuff so much as actual "products" that give me creative control and concrete outputs. It's hard to make the time though.
Outside of my career I'm also trying to cultivate other works, like my YouTube channel and my writing. Creating a video that 250k people enjoy is at least as meaningful to me as crushing my OKRs
We are all mortal beings: there will inevitably be more things to do than time to do it, and it's easier to ruminate on options than commit to something that feels "suboptimal".
To give an example of that. I spent a lot of time wondering if I should have gone into academia / literary criticism rather than tech, because of a vague sense that because I was very good at something, that's where I should put my efforts. Is that sound reasoning though? I probably achieved more "value" for society working as a programmer, than writing about Chaucer.
So to summarise it may be a choice of making peace with the lower scope / autonomy of hands on work, and finding that satisfaction outside work. If that suggestion makes your soul revolt, though, it may be you have to compromise and take the managerial path
When you are senior you know that reality is messy. Things break, networks fail, people push bugs and we are supposed to know how to get on with the chaos and keep pushing forward since solving the business problem is more important than anything else. I'd argue that you take a similar view to people management, its also a part of engineering just not the one you like. But its important if it helps solve the business problem. The other view would be managing folks is part of your career, so do your job.
Also I question that you've never seen anything new in the past 5-10 years (not being rude here, I understand that someone with 20years experience has seen plenty already but definitely not everything). For example, how much do you know about deep learning ? Are you on track with the latest trends in our inudstry ? Can you make a list of best practices to follow when building AI systems ? Maybe try looking into new areas for growth. It will be uncomfortable but worth it I think.
Please dont go into gaming. Dont do it to yourself and your family.
Experienced dev here who took a machine learning class and found it interesting. Could I get a position in it now? Would anyone hire a grey-haired ML junior? So far my experience says no, but may be bad luck so far.
“It depends”: what’s your prior experience, what kind of roles interest you, how big is the gap between what you have + a little ML knowledge/side projects?
I’d argue there’s a big need for people with solid fundamental CS, sysadmin, infra skills who can bridge the gap into ML practitioner/researcher understanding. Applications or inference generally are probably easiest to break into, especially if you already have service knowledge. If you want to work on distributed training or kernel/model optimization, you probably need to prove your chops there.
Neoclouds, startups in the AI space, maybe hw vendors are probably good places to look.
I think it is going to be difficult for you to get advice outside of the herbal "find a job you like, live a full life"
I am working for 30+ years, a combination of academia, then tech until today, where I have a very senior position in a company you know.
The world changed drasically over these 30 years and my path to an arguably successful career is absolutely not what I am suggesting to my children.
My generation built the Internet from a state of nothingness. This meant that whatever clever you were doing was new and recounting, and was bringing money. You had z limited set of technologies so you could be a master in many of them, and good in the rest.
Today this is not possible, you need to specialize, and often early.
I know that this not help, what I am probably trying to say it's that there are immutable truths (having fun, having friends and/or family, having hobbies, ...), then there is luck and maybe a statistical relevance in some jobs more than others.
The problem is that tech fashions and job market change rapidly every few years. And it takes a long time to specialize in an area. If you’re lucky and happen to be in the right place at the right time, sure, specialization works for you. Otherwise, there can be no job for you as a specialist. If you start early, who knows what the job market will look like a few years from now, let alone a couple of decades.
It’s a bad environment. It might be time for a universal income.
I started in development because I had websites I made and ran but didn't profit and had expenses.
There I learnt to be a sysadmin and went to MSP support.
As a sysadmin I relied on networks more and more and became a netadmin and that evolved to network engineer then architect.
I worked in startups and kept evolving until I looked down on those "professionals" that stayed dependent specialist. The back and forth to just identify an issue was all lazy waste to me.
Now I'm studying electrical engineering because there's lots of opportunity to scale tech but not enough supply of trade professionals that support the fundamentals.
I also wanted a role that didn't require several specialist to concur simple decisions of my daily job.
Tech is full of specialist that lack a general understanding of the principles they interact with. I needed to avoid being dependent on their approval for any matter
I have been programming for well over 40 years (I am early 50s) and have been writing software for money for 35 of those years (first company during high school, thanks to my chemistry teacher and my uncle, who were friends). Made a bunch of millions during the the early 2000s and kept building software, which I have always loved, since then. AI (well, LLMs) caught me off guard as it did with many people but now I happily use it and create things even faster and better because of it. I guess, like some here on HN, I did not have rich parents: I was lucky enough to grow up in the netherlands, where, at least then, university was free and people generallh were never poor so there were computers around end 70s and begin 80s. My parents taught me to not become a worker drone even though they had to be. I never had a job, only companies. That keeps it going for me and I cannot see it stop. We create things, we have fun, we sell, we start again. Until I die. I cannot imagine a better life.
* Find a company where you can work less, and do the things you love in your spare time. You could even make money out of it. Or team up and start a company.
* Share your knowledge in whatever way is rewarding to you; videos, books, blogs.
* Give those 'alien ideas' like management another chance. Maybe it beats doing the same things you have been doing? Find a mentor.
I have 13 years of experience and a Senior title, but I'm not sure if that means much. Really I have just worked on web-related problems for the last 10 years (first 2 were LinuxRT USB drivers, which I think more and more fondly of these days) and have hit the same crossroads as OP. The main difference for me I'd say is that I'm actually very serious about moving into management; being an IC these days feels like I am on a never-ending treadmill of boring work. Add AI to the mix and I have never been less motivated than I am now to continue writing code.
So I guess the answer to the question of how I evolved is that I evolved rapidly until my ceiling, which was probably ~6-8 years into my career. I haven't learned much since, nor have I had to. Only now do I feel a stronger urge to look where the puck is going and skate towards it, so to speak.
> 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've been in this position for quite a while, but happily working at a company with a culture that encourages input from even the cogs in the machine, so I've been able to exert (limited) influence on things.
As time went by, I started getting more and more frustrated about the lack of influence I could have on formulating plans and direction, and the number of mistakes I was seeing, as you mentioned as well, and decided to, reluctantly, accept a formal leadership role, so I've now been a small team lead for a few years.
What has helped in that transition was the enormous amount of coaching and training my employer gives to new managers. I would've failed in this new role without it, and more seriously I would've failed the people/teams I manage.
Since becoming a manager, I've learned that my 20+ experience as a software engineer is quite valuable and useful for the people I manage. It's different kind of rewarding compared to software engineering work, but rewarding nevertheless. It wasn't as bad as I thought it would be.
I don't know if that's helpful for you, but if you do end up considering taking up a managerial leadership role, make sure your employer doesn't just throw you into it and ask you to learn on the job without any support. It's an absolute must.
I'm currently a technical architect (individual contributor role, IC) at a large multinational financial firm in Switzerland. Previously CTO/CIO/Founder/CEO in multiple companies in multiple industries (enterprises and startups), most of them in Russia. My overall experience in tech (IT/Telecom/SW Eng) is more than 35 years.
Before I joined my current company, I have never been an IC and never stayed for more than four years with the same employer. I'm five and a half years already with my current employer and would really appreciate to continue with them further despite obviously like the OP says "my knowledge is not really valued and useful" there.
The thing is, using my accumulated versatile tech experience and good understanding of how any large enterprise works, and working in IC position, I can really bent my workload/agenda in a way that work becomes more or less fun! Not counting the Teams meetings, an unavoidable evil. :) But even them, I turn them into fun activity too, by generating nice useful minutes using transcripts "anchored" either in code or in Confluence pages (with a tool-enabled LLM). Being an individual contributor is important for this, otherwise if you even a level higher, in example, a line manager, you can't really bent your agenda much because you must care for other people and invest your time in helping them to achieve common goals.
I'm about 12 years in myself and can provide some thoughts on this, though I'm not 20+ years senior.
My first few roles were in startups, where I got to be very hands on, learn a bunch, and mostly focus on the craft of software development and systems. I similarly felt I had a lack of higher-level understanding of business, management, product, etc.
I then went to Amazon for 7 years and this is where I felt I developed a stronger sense of the "business" side of things: politics, understanding what your customers really need, influence, delivering massive things across multiples teams and years of effort.
> I do my best to explain that and recommend alternatives, but more often than not it still happens anyway.
This is difficult to overcome, particularly on a short timescale. I felt this early in my time at Amazon at times, where I felt "right" but couldn't get others to see things my way.
The path there for me was first developing relationships with my peers generally, then establishing trust for my judgement. This came in the form of chasing ambulances, jumping into technical and non-technical problems unrelated to my direct team (eg: incidents), mentoring others. These activities are generally trust-building, and non-controversial/political. This also build some social capital, such that when I would speak up in a meeting or point out some flaw/gap (with data), people would listen more.
I've found it incredibly hard to influence without first establishing solid credibility, and vice-versa, if someone is new to an org, I will certainly listen, but I also don't yet know them/their background/or why I should outright accept their opinion as the truth.
Conversely, I have also seen people more senior than myself struggle with this concept. They show up in an org and repeatedly tout their resume, and expect acceptance "Yeah at X we did things this way", "I built x, y, and z". This has not worked well for them in my opinion.
The most influential engineers I've worked with had strong trust based on their actions and history of delivering, helping others, providing opinions backed in data, and being level headed. If they spoke about a problem it was something to listen to, not just a weekly complaint about something else.
Lastly, make sure whatever it is you work on truly matters to the business, and understand how it ties back to the business and your customers. It can be fun (or necessary at times) to be off in the weeds on something that is technically interesting, but really unimportant to the bottom line and ultimately to advancing your career.
> 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'm mid-40s (I can't believe it) and I made a slightly different move a few years ago into more senior leadership, where I get more say in how things are done. This is precisely for this reason: I felt the larger problems to solve were in how to protect the team both from unnecessary external influences and from (potentially) overly-loud but not sensible people suggesting architectures that would be a lot of time and not a lot of value. I then moved to another company and retained a similar level of seniority.
I have different challenges now in having more influence (one sees the problems elsewhere that would be fixed if one were in charge of that as well, but one can become blind to issues within one's purview) but I quite like it overall.
The alternative probably is freelancing. Find a niche and occupy it, without charging the earth, and you'll probably do well emotionally and in providing for your family.
I’m mid 40s and took the other route. I was self-taught and decide long ago that I never wanted to manage other people. So instead now I run a small solo audio company. Never have to deal with anyone but my own customers. I consider it a craft not a startup.
It isn’t for everyone but whatever LLMs end up being for us all, in this position they seem more likely to be an asset than a liability. If they are good enough to replace me then they can be my army.
gamedev looks glamurous from outside but it's prone to burnout. you'll probably spend most of your time developing for unity/godot/unreal or fixing bugs and crashes. not very enriching. specially now with AI.
if you want more joy in your craft, look for a boring job and seek joy in personal projects
I was 50 years from a COBOL programmer to a web programmer with stints at other related stuff between. I never felt that programming was anything but a means to an end, the finished product was all that counted, so I was happy for a while in product management and marketing roles.
My times in pure management were short lived, I resigned from them, but I did thrive as a team leader. I finally ended up being a jobbing developer up to retirement which suited me well.
The field has become absurdly and unrecognizably shitty (for me) so I retired at my earliest opportunity. If I was any younger I don't know how I could keep going with how the job is expected to be practiced now and how the net effect the field is having on society has gone so deeply underwater.
I still like to code for personal projects, but while I was happy to work for others for 25 years, I don't see myself compatible with it anymore.
When I got 35 years of experience, I started to act independently. "I'm not heavily loaded right now. Out of all the things I could do, which one is most important?" Then I'd work on that.
If you don't feel you're at that level yet, the fact that you're bored indicates that you're ready to work on bigger things. Tell your boss that. "I'm really bored doing the same old thing. Do you have anything more challenging I could work on?" If the answer is no, then you're dead-ended at that company, or at least on that team. Look around. There are places that will let you (and expect you to) do more.
To answer your question .. Lets make it "Satisfying daily job till your last breath".
I have a few more years of experience than you. My response to this was to scale back to hometown and spend more quality time with family. (Aging parents and generation handover)
This required some basic inner engineering. (the points are random and not chronologically arranged )
1. I worked on things which did not require any permission from anyone. There were a lot of pending IT projects for myself which were done half assed. Finally i had time to finish them to my satisfaction.
2. Joined Govt job as a contractor and worked in different department to enable their e-Governance initiatives. I expected it to be long term but soon (4 years) got bored.
(IgnoreThis: ADHAAR id , Toll Roads, Social Justice for women and kids , Department of Economics and Statistics, State Planning commission. This coincided with the external factors of Narendra Modi becoming the PM in 2014-till date. Whatever I have worked on is still working and it is some solace but the rot has happened and its not trustworthy anymore since data massaging for beautiful reports is one of painful realities of Govt Work )
3. Convinced wife to let me take a 6 month break from job and See the action on ground of all these govt projects. Did that and decided to join startups.
4. Did a lot of pro-bono work in different domains.From WildLife Tiger Reserves to App building for Real estate to working for NGOs and travelling to remote Tier 3 cities and villages and giving seminars on technology and the upcoming changes. ( this was in 2018-19 pre covid).
5. By now yr2020+ tech was changing so furiously, it was hard to keep up. Number of services in AWS just made no sense... Kept working with startups who were NOT using the latest and greatest. They just wanted something to keep them floating on the web.
6. Enabled other revenue sources (no relation to IT)
7. Since then I have connected to the tech ecosystem in a way that suites me. Solidified my credentials as a teacher by giving some govt exams (UGC NET and MPSET as called in this part of world). I love teaching and people have validated it over time. (Engaged in-person 4000 People crowd for 4-5hrs). When you try something new u get to know your superpowers. ( Failures teach you more, do keep a log of new things you try. We stop trying after we get few years into a job)
8. Made a lot of friends elder as well as junior with whom I want to spend rest of my life. I love to work with them and its wonderful. I prefer to meet my colleagues and classmates in person.(At least once in few months).
9. I had to let go of the urge to earn as much as I was earning. Getting used to this is pretty difficult choice. I found that saving 1 equates to earning 6 ... so reduced my expenses and this leverage helped a lot.
10. Supported wife to get back on her career. This required a lot of managing as well. (Learning to cook was trial through fire. Today I feel everyone should know how to cook their favorite recipes. It is sheer joy to cook/bake for your friends and family)
To summarise, It was a mid-life retirement to find about the world. We stay in our little pond and think this is the whole world. When we explore we end up finding our own "self". What I like and what I do not. What pisses me off and how to manage that without doing a lot of damage to relations and quality of life and that prepares you to do "Satisfying daily job till your last breath".
PS1: Surprisingly it is easier than ever to do WFH.You need to find the work that you can do better than anyone else using AI as a tool. AI is not a worker .. AI is a tool just like a Mixer/Grinder/Juicer. This is the future of work as I found it to be.
PS2: Being a house husband has a lot of social stigma. Remember to keep your spouse happy as this causes emotional roller coaster which is not good for kids.
PS3: Experiment with your daily routine. Find your circadian rythm.Keep it for life.
It seems clear to me that you need to be leading now, not being a cog with no influence.
I also resisted "being a manager, for a long time. It's like it was a dirty word and I thought it would be turning my back on what I was good at and enjoyed. But the truth is, you are no longer enjoying what you previously did and have not grown for 5 to 10 years.
Being a leader is not being a line manager. Managing some people may be part of being a leader, but it's not the main focus. I manage about 3 people and mostly I just delegate stuff to them. It's not that hard and isn't what I spend most time on.
What I really enjoy is that I get to set direction, come up with the strategy and use my years of experience to build things the right way.
So I would advise trying to get into a leadership role and give it a try. It has to be something where you can really set direction. You do not want to be a middle manager just doing people management, and there are plenty of roles like that. Worst case - you get a break from what's driving you mad right now and some fresh perspective. Best case is you actually find some new passion.
I've been in the industry for over 30 years (yikes!) and I can assure you that job satisfaction is transient at best.
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.
I'm nowhere near as senior as you (12 years). But I've reflected on this a lot recently. I love the technology and feeling like I'm building things, but staying hands on will always limit your scope. Taking the management path improves your scope but the work is - well - just less fun than programming.
My answer right now is to try and build more things myself. Small apps, CLIs, retro games. Not libraries or much OSS stuff so much as actual "products" that give me creative control and concrete outputs. It's hard to make the time though.
Outside of my career I'm also trying to cultivate other works, like my YouTube channel and my writing. Creating a video that 250k people enjoy is at least as meaningful to me as crushing my OKRs
We are all mortal beings: there will inevitably be more things to do than time to do it, and it's easier to ruminate on options than commit to something that feels "suboptimal".
To give an example of that. I spent a lot of time wondering if I should have gone into academia / literary criticism rather than tech, because of a vague sense that because I was very good at something, that's where I should put my efforts. Is that sound reasoning though? I probably achieved more "value" for society working as a programmer, than writing about Chaucer.
So to summarise it may be a choice of making peace with the lower scope / autonomy of hands on work, and finding that satisfaction outside work. If that suggestion makes your soul revolt, though, it may be you have to compromise and take the managerial path
Me: ~10 years so not as senior but senior still.
When you are senior you know that reality is messy. Things break, networks fail, people push bugs and we are supposed to know how to get on with the chaos and keep pushing forward since solving the business problem is more important than anything else. I'd argue that you take a similar view to people management, its also a part of engineering just not the one you like. But its important if it helps solve the business problem. The other view would be managing folks is part of your career, so do your job.
Also I question that you've never seen anything new in the past 5-10 years (not being rude here, I understand that someone with 20years experience has seen plenty already but definitely not everything). For example, how much do you know about deep learning ? Are you on track with the latest trends in our inudstry ? Can you make a list of best practices to follow when building AI systems ? Maybe try looking into new areas for growth. It will be uncomfortable but worth it I think.
Please dont go into gaming. Dont do it to yourself and your family.
Experienced dev here who took a machine learning class and found it interesting. Could I get a position in it now? Would anyone hire a grey-haired ML junior? So far my experience says no, but may be bad luck so far.
“It depends”: what’s your prior experience, what kind of roles interest you, how big is the gap between what you have + a little ML knowledge/side projects?
I’d argue there’s a big need for people with solid fundamental CS, sysadmin, infra skills who can bridge the gap into ML practitioner/researcher understanding. Applications or inference generally are probably easiest to break into, especially if you already have service knowledge. If you want to work on distributed training or kernel/model optimization, you probably need to prove your chops there.
Neoclouds, startups in the AI space, maybe hw vendors are probably good places to look.
https://news.ycombinator.com/item?id=45801184
Not mentioned but I've also watched almost all of the 3b1br videos. ;-)
I think it is going to be difficult for you to get advice outside of the herbal "find a job you like, live a full life"
I am working for 30+ years, a combination of academia, then tech until today, where I have a very senior position in a company you know.
The world changed drasically over these 30 years and my path to an arguably successful career is absolutely not what I am suggesting to my children.
My generation built the Internet from a state of nothingness. This meant that whatever clever you were doing was new and recounting, and was bringing money. You had z limited set of technologies so you could be a master in many of them, and good in the rest.
Today this is not possible, you need to specialize, and often early.
I know that this not help, what I am probably trying to say it's that there are immutable truths (having fun, having friends and/or family, having hobbies, ...), then there is luck and maybe a statistical relevance in some jobs more than others.
I’m not sure if this is good advice.
The problem is that tech fashions and job market change rapidly every few years. And it takes a long time to specialize in an area. If you’re lucky and happen to be in the right place at the right time, sure, specialization works for you. Otherwise, there can be no job for you as a specialist. If you start early, who knows what the job market will look like a few years from now, let alone a couple of decades.
It’s a bad environment. It might be time for a universal income.
I started in development because I had websites I made and ran but didn't profit and had expenses.
There I learnt to be a sysadmin and went to MSP support.
As a sysadmin I relied on networks more and more and became a netadmin and that evolved to network engineer then architect.
I worked in startups and kept evolving until I looked down on those "professionals" that stayed dependent specialist. The back and forth to just identify an issue was all lazy waste to me.
Now I'm studying electrical engineering because there's lots of opportunity to scale tech but not enough supply of trade professionals that support the fundamentals.
I also wanted a role that didn't require several specialist to concur simple decisions of my daily job.
Tech is full of specialist that lack a general understanding of the principles they interact with. I needed to avoid being dependent on their approval for any matter
I have been programming for well over 40 years (I am early 50s) and have been writing software for money for 35 of those years (first company during high school, thanks to my chemistry teacher and my uncle, who were friends). Made a bunch of millions during the the early 2000s and kept building software, which I have always loved, since then. AI (well, LLMs) caught me off guard as it did with many people but now I happily use it and create things even faster and better because of it. I guess, like some here on HN, I did not have rich parents: I was lucky enough to grow up in the netherlands, where, at least then, university was free and people generallh were never poor so there were computers around end 70s and begin 80s. My parents taught me to not become a worker drone even though they had to be. I never had a job, only companies. That keeps it going for me and I cannot see it stop. We create things, we have fun, we sell, we start again. Until I die. I cannot imagine a better life.
* Find a company where you can work less, and do the things you love in your spare time. You could even make money out of it. Or team up and start a company.
* Share your knowledge in whatever way is rewarding to you; videos, books, blogs.
* Give those 'alien ideas' like management another chance. Maybe it beats doing the same things you have been doing? Find a mentor.
I have 13 years of experience and a Senior title, but I'm not sure if that means much. Really I have just worked on web-related problems for the last 10 years (first 2 were LinuxRT USB drivers, which I think more and more fondly of these days) and have hit the same crossroads as OP. The main difference for me I'd say is that I'm actually very serious about moving into management; being an IC these days feels like I am on a never-ending treadmill of boring work. Add AI to the mix and I have never been less motivated than I am now to continue writing code.
So I guess the answer to the question of how I evolved is that I evolved rapidly until my ceiling, which was probably ~6-8 years into my career. I haven't learned much since, nor have I had to. Only now do I feel a stronger urge to look where the puck is going and skate towards it, so to speak.
> 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've been in this position for quite a while, but happily working at a company with a culture that encourages input from even the cogs in the machine, so I've been able to exert (limited) influence on things.
As time went by, I started getting more and more frustrated about the lack of influence I could have on formulating plans and direction, and the number of mistakes I was seeing, as you mentioned as well, and decided to, reluctantly, accept a formal leadership role, so I've now been a small team lead for a few years.
What has helped in that transition was the enormous amount of coaching and training my employer gives to new managers. I would've failed in this new role without it, and more seriously I would've failed the people/teams I manage.
Since becoming a manager, I've learned that my 20+ experience as a software engineer is quite valuable and useful for the people I manage. It's different kind of rewarding compared to software engineering work, but rewarding nevertheless. It wasn't as bad as I thought it would be.
I don't know if that's helpful for you, but if you do end up considering taking up a managerial leadership role, make sure your employer doesn't just throw you into it and ask you to learn on the job without any support. It's an absolute must.
I'm currently a technical architect (individual contributor role, IC) at a large multinational financial firm in Switzerland. Previously CTO/CIO/Founder/CEO in multiple companies in multiple industries (enterprises and startups), most of them in Russia. My overall experience in tech (IT/Telecom/SW Eng) is more than 35 years.
Before I joined my current company, I have never been an IC and never stayed for more than four years with the same employer. I'm five and a half years already with my current employer and would really appreciate to continue with them further despite obviously like the OP says "my knowledge is not really valued and useful" there.
The thing is, using my accumulated versatile tech experience and good understanding of how any large enterprise works, and working in IC position, I can really bent my workload/agenda in a way that work becomes more or less fun! Not counting the Teams meetings, an unavoidable evil. :) But even them, I turn them into fun activity too, by generating nice useful minutes using transcripts "anchored" either in code or in Confluence pages (with a tool-enabled LLM). Being an individual contributor is important for this, otherwise if you even a level higher, in example, a line manager, you can't really bent your agenda much because you must care for other people and invest your time in helping them to achieve common goals.
That were my 50c. :)
I'm about 12 years in myself and can provide some thoughts on this, though I'm not 20+ years senior.
My first few roles were in startups, where I got to be very hands on, learn a bunch, and mostly focus on the craft of software development and systems. I similarly felt I had a lack of higher-level understanding of business, management, product, etc.
I then went to Amazon for 7 years and this is where I felt I developed a stronger sense of the "business" side of things: politics, understanding what your customers really need, influence, delivering massive things across multiples teams and years of effort.
> I do my best to explain that and recommend alternatives, but more often than not it still happens anyway.
This is difficult to overcome, particularly on a short timescale. I felt this early in my time at Amazon at times, where I felt "right" but couldn't get others to see things my way.
The path there for me was first developing relationships with my peers generally, then establishing trust for my judgement. This came in the form of chasing ambulances, jumping into technical and non-technical problems unrelated to my direct team (eg: incidents), mentoring others. These activities are generally trust-building, and non-controversial/political. This also build some social capital, such that when I would speak up in a meeting or point out some flaw/gap (with data), people would listen more.
I've found it incredibly hard to influence without first establishing solid credibility, and vice-versa, if someone is new to an org, I will certainly listen, but I also don't yet know them/their background/or why I should outright accept their opinion as the truth.
Conversely, I have also seen people more senior than myself struggle with this concept. They show up in an org and repeatedly tout their resume, and expect acceptance "Yeah at X we did things this way", "I built x, y, and z". This has not worked well for them in my opinion.
The most influential engineers I've worked with had strong trust based on their actions and history of delivering, helping others, providing opinions backed in data, and being level headed. If they spoke about a problem it was something to listen to, not just a weekly complaint about something else.
Lastly, make sure whatever it is you work on truly matters to the business, and understand how it ties back to the business and your customers. It can be fun (or necessary at times) to be off in the weeds on something that is technically interesting, but really unimportant to the bottom line and ultimately to advancing your career.
> 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'm mid-40s (I can't believe it) and I made a slightly different move a few years ago into more senior leadership, where I get more say in how things are done. This is precisely for this reason: I felt the larger problems to solve were in how to protect the team both from unnecessary external influences and from (potentially) overly-loud but not sensible people suggesting architectures that would be a lot of time and not a lot of value. I then moved to another company and retained a similar level of seniority.
I have different challenges now in having more influence (one sees the problems elsewhere that would be fixed if one were in charge of that as well, but one can become blind to issues within one's purview) but I quite like it overall.
The alternative probably is freelancing. Find a niche and occupy it, without charging the earth, and you'll probably do well emotionally and in providing for your family.
I’m mid 40s and took the other route. I was self-taught and decide long ago that I never wanted to manage other people. So instead now I run a small solo audio company. Never have to deal with anyone but my own customers. I consider it a craft not a startup.
It isn’t for everyone but whatever LLMs end up being for us all, in this position they seem more likely to be an asset than a liability. If they are good enough to replace me then they can be my army.
Mid 40s consultant here and just decided not to extend my contract as tech lead with current customer for another year.
Looking into meandering for a bit and regaining passion. Hopefully something small but sellable sprouts from that.
Looking forward to making my own decisions based on gut and not being stuck in the swamp of big company indecision.
gamedev looks glamurous from outside but it's prone to burnout. you'll probably spend most of your time developing for unity/godot/unreal or fixing bugs and crashes. not very enriching. specially now with AI.
if you want more joy in your craft, look for a boring job and seek joy in personal projects
my 2 cents
> 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...)
Congratulations!! You could try consultancy, training others, writing books/ blogs.
I was 50 years from a COBOL programmer to a web programmer with stints at other related stuff between. I never felt that programming was anything but a means to an end, the finished product was all that counted, so I was happy for a while in product management and marketing roles.
My times in pure management were short lived, I resigned from them, but I did thrive as a team leader. I finally ended up being a jobbing developer up to retirement which suited me well.
The field has become absurdly and unrecognizably shitty (for me) so I retired at my earliest opportunity. If I was any younger I don't know how I could keep going with how the job is expected to be practiced now and how the net effect the field is having on society has gone so deeply underwater.
I still like to code for personal projects, but while I was happy to work for others for 25 years, I don't see myself compatible with it anymore.
When I got 35 years of experience, I started to act independently. "I'm not heavily loaded right now. Out of all the things I could do, which one is most important?" Then I'd work on that.
If you don't feel you're at that level yet, the fact that you're bored indicates that you're ready to work on bigger things. Tell your boss that. "I'm really bored doing the same old thing. Do you have anything more challenging I could work on?" If the answer is no, then you're dead-ended at that company, or at least on that team. Look around. There are places that will let you (and expect you to) do more.
" Satisfying daily job "
To answer your question .. Lets make it "Satisfying daily job till your last breath".
I have a few more years of experience than you. My response to this was to scale back to hometown and spend more quality time with family. (Aging parents and generation handover)
This required some basic inner engineering. (the points are random and not chronologically arranged )
1. I worked on things which did not require any permission from anyone. There were a lot of pending IT projects for myself which were done half assed. Finally i had time to finish them to my satisfaction.
2. Joined Govt job as a contractor and worked in different department to enable their e-Governance initiatives. I expected it to be long term but soon (4 years) got bored.
(IgnoreThis: ADHAAR id , Toll Roads, Social Justice for women and kids , Department of Economics and Statistics, State Planning commission. This coincided with the external factors of Narendra Modi becoming the PM in 2014-till date. Whatever I have worked on is still working and it is some solace but the rot has happened and its not trustworthy anymore since data massaging for beautiful reports is one of painful realities of Govt Work )
3. Convinced wife to let me take a 6 month break from job and See the action on ground of all these govt projects. Did that and decided to join startups.
4. Did a lot of pro-bono work in different domains.From WildLife Tiger Reserves to App building for Real estate to working for NGOs and travelling to remote Tier 3 cities and villages and giving seminars on technology and the upcoming changes. ( this was in 2018-19 pre covid).
5. By now yr2020+ tech was changing so furiously, it was hard to keep up. Number of services in AWS just made no sense... Kept working with startups who were NOT using the latest and greatest. They just wanted something to keep them floating on the web.
6. Enabled other revenue sources (no relation to IT)
7. Since then I have connected to the tech ecosystem in a way that suites me. Solidified my credentials as a teacher by giving some govt exams (UGC NET and MPSET as called in this part of world). I love teaching and people have validated it over time. (Engaged in-person 4000 People crowd for 4-5hrs). When you try something new u get to know your superpowers. ( Failures teach you more, do keep a log of new things you try. We stop trying after we get few years into a job)
8. Made a lot of friends elder as well as junior with whom I want to spend rest of my life. I love to work with them and its wonderful. I prefer to meet my colleagues and classmates in person.(At least once in few months).
9. I had to let go of the urge to earn as much as I was earning. Getting used to this is pretty difficult choice. I found that saving 1 equates to earning 6 ... so reduced my expenses and this leverage helped a lot.
10. Supported wife to get back on her career. This required a lot of managing as well. (Learning to cook was trial through fire. Today I feel everyone should know how to cook their favorite recipes. It is sheer joy to cook/bake for your friends and family)
To summarise, It was a mid-life retirement to find about the world. We stay in our little pond and think this is the whole world. When we explore we end up finding our own "self". What I like and what I do not. What pisses me off and how to manage that without doing a lot of damage to relations and quality of life and that prepares you to do "Satisfying daily job till your last breath".
PS1: Surprisingly it is easier than ever to do WFH.You need to find the work that you can do better than anyone else using AI as a tool. AI is not a worker .. AI is a tool just like a Mixer/Grinder/Juicer. This is the future of work as I found it to be.
PS2: Being a house husband has a lot of social stigma. Remember to keep your spouse happy as this causes emotional roller coaster which is not good for kids.
PS3: Experiment with your daily routine. Find your circadian rythm.Keep it for life.