edit: reading some other comments I think it's easier to be an older IC at big companies than startups/small companies. But whether you should pursue a management track is a completely different question.
One way to deliver that experience is in delivery management, that is, being responsible for teams that ship stuff.
Another way to deliver that experience is in people management. Not all companies equate this with the previous responsibility.
A third way in in a more nebulous “leadership” role that doesn’t have “manager” in the title, e.g. “Architect,” or “Principal Engineer.”
The latter is tricky, but can be a very good opportunity. My 2c on being in engineering leadership is that it’s best to think of yourself as a manger without authority, rather than thinking of yourself as an engineer with authority.
- - -
FWIW, I am 57 and a Principal Engineer with PagerDuty.
Only regret is that I absolutely under leveled myself (msft L64), and after a couple years getting dragged through a couple of reorgs, I still feel like promotion is a ways off. Most of my peer group is 10 years younger, and most ICs of my age group are at least two levels up. So wait for an opportunity at the level you think you should be. Don't let imposter syndrome talk you out of it or think you can make it up after you join.
But even still, I'm doing way better now than I was back in Michigan working for startups, even accounting for cost of living.
Also note the most challenging change for me was getting used to how little control of anything you have is. I really miss being able to basically decide my design and implement it against public well-known technologies. Now so much of it is calling around, trying to figure out how other teams are doing things, coordinating with them, ensuring backward compatibility with a million old things, blah blah blah, it's much slower and less interesting. But, still worth it....I guess. (second-guessing myself now?)
That said, I just went in cold. If you've been coding and are current in one of the 3 big interview languages (C++/Java/Python), and if you still understand your undergraduate level algorithms course and the corresponding vocabulary, then you know what you need to know.
Side note: A thing that no one told me but that I had to figure out on my own is that your technical writing skills are one of the most important skills to doing well at google. It was unironically said to me that the highest reward/effort one can do at Google is to write documents. The person who said it was correct about that IMO.
In between and before those, I have worked at two startups and three other in-between (in size) organizations, as well as two non-tech giants, over the course of about 27 years now. Kind of takes my breath away seeing that last number!
As others here have noted, no matter where you work, one of the most important things is your manager. I've had good managers and bad managers, and my less happy time at the previous 'FAANG' was largely due to a bad manager.
Having said that, the department/group you're in is also important. I had a great manager at one of the large (but not giant) companies but the department had big problems. It was a relatively comfortable but in the end unproductive couple of years. (And also why I decided to move on relatively quickly.)
Re: skills to brush up on: honestly, I suggest just start interviewing heavily and use that as a template to figure out what you need to learn.
The big tech companies have the luxury of having tons of talented, qualified people trying to work there, and so structure the interviewing process to be biased toward turning away qualified people rather than accepting unqualified people.
That means that the interview process can be pretty strenuous.
Re: trying for management: I was a manager briefly, early on in my career, and decided that I was never going to do that again. I was relatively good at it, but I didn't like it, so all of my roles have been technical, though of course a lot of the best things I've accomplished involved large quantities of 'soft', non-technical people work.
Re: fed up with uncertainty. Yup, I totally get that, and it's the main reason I haven't done more with startups. I value my personal/family time too much, and always have.
Feel free to contact me directly: diederich@gmail.com
Best of luck.
Mostly algorithms and system design interviews. I thought I did pretty well (something like 3 very good interviews, 1 good, and 1 ok). In both cases, the conclusion was that my results were good enough for an L4 position, but they wouldn't hire me for less than L5. (Why not, I'd be happy as an L4...). Also, I found the interview process pretty random and arbitrary. One company praised my algorithmic skills, while the other said that I did very well on system design). They encouraged me to re-apply.
I'm not concerned about the actual job, I don't feel less capable than my 30 year old self. I'm more knowledgeable, and I have more experience with human interactions.
The interviewers all told me that you don't have to be a manager if you don't want to, and that good developers were always valued, regardless of their age. I don't know how much of this is true though. I can't help thinking that my age had played against me in the final decision.
The interview process is a pain. It's very random, it takes a lot of time preparing (some people literally spend months working full time). The things they ask you have very little value besides getting you a job. At least, it's kind of fun to work on these leetcode problems, but after 200 hundred variations of BST and dynamic programming exercices it starts to get old. Also, if you already have a demanding job (and maybe a family), it's hard to find the time to practice.
If you spend enough time preparing AND if you aren't stressed out during the actual interview, I think you can pass with reasonable probability the algorithm interviews. I found system designs a little more random. My question wasn't in the "syllabus" they provided me. Also, as an older programmer, there may be many things that you knew a few years back. You're disadvantaged compared to a younger graduate.
I say this because that is personally a cardinal rule of mine, and I've never heard anyone contradict it -- hiring a manager comes with inherent risk, and you significantly add to that risk by hiring someone that hasn't done it before. If you want to try out management, you should first get a job as an individual contributor somewhere and then move into a management job in that company. They will know a lot more about you from having worked with you and you will know a lot more about the team, the company, etc and have a much higher chance of being successful.
This is really a two-way street, you are much more likely to be successful this way as well. The interview process is simply too artificial to get a good read on how someone will do as a manager when they don't have previous experience.
My suggestion for someone with a lot of experience is to focus more on networking your way in to the company than on skills brush up. Find contacts at the company(s) you are interested in and try to set up direct meetings (in person, video conference) to find out more about positions, responsibilities, etc. at that particular company. Each company has their own unique philosophies and growth paths for individual contributors vs. eng. managers, so I don't know that there would be one generic piece of advice to follow.
Feel free to reach out to me at
My dev friends over the last 10+ years have included people who made a management/dev track career decision and anecdotally speaking, those who chose management have earned more and seemed to have more employment stability. In a couple of cases, I have friends in my personal network earning 3X a senior dev salary managing dev teams.
Personally, I decided to stick with the dev track and have been somewhat dismayed to find (after 10+years with one employer) that I am often pulled into decision/management-type situations but am consistently evaluated as a lower-level employee because "coder." It's even more annoying when I chat with my peer group who made the mgmt track choice and I find that the overlap between what I do and they do is actually very large.
One of the biggest pitfalls of ICs regardless of age (but I see it more as some get older) is the inability to break free from the past. If you cant learn, or refuse to accept, anything new have no use for you. Tech is changing constantly and if you can't tout something you are looking forward to and just constantly looking back on that one project you did and using that same method/tool/tech it really makes it difficult to envision.
There are IC roles that are "lead" but not management which our company calls "Principal" consultants - that seems to be the latest term in the industry that everyone is going with to denote someone at a high level of expertise who contributes at somewhat of a manager level but not necessarily of people just of projects but is still more of an IC than a project manager.
I lasted 3 years and then got the urge to go chase my own thing again (ML/robotics consultancy), but most my friends (well into their 50’s) are still there.
Go for it.
Anyway, after my timeout I got back into contracting. First of all, I've never encountered ageism and my experience was always appreciated. It could be to do with my attitude, or maybe ageism is not a thing in the UK as it is elsewhere. I think attitude helps and if you come across as a friendly experienced person you will be able to get in.
My question to you would be why go for the "Larger" tech companies? Why not focus on established smaller companies? I personally equate those with start-up level stress but less ability to affect things. Again, just my personal perspective. Second point - do try contracting. It's quite liberating not being tied to a place in a long term mental-bond. The market is great for contracts (at least in the UK).
I am an IC so I make sure my code is top notch, which means I need to LC for weeks before I'm ready for the onsites.
Reading some of comments in this thread made me realize that many people don't figure out what they want to do, even until 40's, so I feel better that I am not alone in this. I thank you all for sharing your perspectives with career. I will bookmark this page and read this whenever I feel lost with direction of my career.
I have seen some people make the transition smoothly... others not so much.
edit: I'm in Denver, and here senior leader positions are not too common.
Tech companies really care about your tech skills (assuming that you do not want to go to the manage route), so age should not be an issue. However, skills might be an issue. I.e. if you spent your career in companies that use tech, you might not have deep specialization.
Companies that use tech, are easier, which tends to bring less experienced developers, which usually are younger and might create ageism.
The age thing wasn’t a problem for me interviewing for an engineering position. However, I had some difficult engineering interviews with senior and principal engineers. You should prepare hard to interview very well. The hardest part is convincing young senior engineers that you’re as good of a develop as they are or better.
> I am a bit fed up with the stress and uncertainty of startups and looking for something more stable, at least for a while.
I think you have answered your own question there for the most part, and I don't think its too much to ask for a bit of stability.
Personally, I would advise you take some time to think about what areas & roles you enjoyed the most, as you're looking for something possibly long term, don't make it difficult `WORK`, instead make it something you enjoy.
Then you can dedicate your time looking for the projects/companies you really are excited about.
Sounds like a dream, but theres no reason why you can't suit yourself!
Best of luck!
PS: I don't think you should worry about your age, if thats why it was in the title; but if you're like me, over time I lose patience with people who wonthave a genuine discussion & be open to being wrong. But this is a maturity thing that you can asses at interview time I guess.
> I can still keep up coding
This sounds like you are not confident of your skills. At 43, with 20-ish YOE, if you want to become a SWE IC at FAANG you better be good, and know it.
> but should I do that, or try for management?
no offense, but you sound like an 18 yo.
In all this time at startups, how is it you haven't learned how to make decisions? Sorry if I am being harsh, consider it tough love. :)
You might just be coming off in writing as being indecisive and lack confidence, whereas in real life you are solid. Or you might have the humility that only true seniority brings. I can't tell from here.
Either way, I don't think this is a question with easy answers that you can get from a forum. You need to do some soul searching. I would first settle the question of whether or not you want to go into management, not whether or not you think FAANG will have you as an IC. There are plenty of books on becoming a manager. Almost all of them suck, but that doesn't matter. You'll get some initial perspective from reading 1 or 2 of them.
Assuming you do want to switch tracks to management, I don't know at all how FAANG is at hiring no-experience managers at age 43. Personally, I like to be prepared so my personal plan in that case would be to get a manager job at a startup -- it should be super easy for you. Do that for 2 years max. Quit no matter what after that. (You need to make that your plan and stick to it.) If you like it, apply to FAANG! Note though that being a manager at FAANG is completely different than being one at a startup. But what you're going for is the resume builder as well as the experience of having direct reports. Ideally you'd get a job where you have firing authority. Not that you want to exercise that, but it changes things.
Now if you search within and read a couple books and decide IC is what you love, take a month to bone up on core algorithms and then go for it.
Also, you may already know this, but big companies have their own problems. Unlike at smaller companies, these are deep structural or cultural issues you will not be solve. Instead, you have to learn to make the best of it and not let it get to you.
If you're 43, you should know what you want to do. If you want to code, go for a senior/principal programming lead position. If you want to manage, go for a managerial position. You're asking a question a 20 yr old should be asking which makes me extremely worried what the future has in store for me. I hope that when I turn 40 in 2029, I could still do what I love (which happens to be in programming), and not have to fret if I need to change professions or not...this is the way.
*Edit, I hope I don't sound like a jerk, but this is really what I feel. I hope when millennials like me start to hit 40, we can change the tech industry's age distribution and we no longer have to worry about problems like this.
https://code.dblock.org/2019/11/17/the-pros-and-cons-of-goin...
I would recommend it.
you need to disclose what was your role in these startups.
if you want to go back to coding at FANG there would be less ageism but it will still be there. Be sure to brush up your algo, data structure. I would suggest finishing a book of programming interview and you should be set.
Consulting is nice because projects/customers come and go so every few months you're on to something different. Of course, consulting has down sides too but i seem to have a knack for it.
At least in the initial stages it seems FAANG companies at least are very good at ignoring age for applicants, later stages though are tougher when most people interviewing you are half your age.
HN can't answer this for you. Which do you prefer?
That said, you should do what you want, especially if you have your nut already. Look for an outfit that really needs someone and is willing to look past age (or even sees it as an advantage).
42 at MS
If it is management, go for it.
If it is coding, be open about your expectations and go with a company that values your experience while accepting that you're there 9 to 5.
Those are the things I try to determine when I interview someone.
You mention "trying" for management. If you haven't previously managed people, then you probably won't be able to get a good SDM role directly. Instead, your best path would be to be hired as an SDE, demonstrate strong managerial bones (mentorship, communication, process orientation), and then transition to SDM after a few years.
If you've mostly been an engineer, then you may want to learn more about what's expected from different levels of engineer so you can determine, realistically, where your experience will be sufficient, and where there will be gap.