I’m in my late 30’s and almost all of my good friends with a CS/BIT degree has cycled into management. The interesting thing I’m noticing now is that they all have ideas for projects but zero capacity to build anything because they’ve lost their building muscles. They also seem reluctant to really want to learn anything else which is antithetical to software engineering where a new framework is out every day.
It's not about losing the building muscle. It's about losing the motivation to do so in tech companies. After many years of being IC, things can get boring. You keep doing the same things, even if you move companies and technologies change. And you always do it in a sub-optimal environment - things like working with tooling you don't like, under managers or with co-workers you don't really like, on projects you're not super excited about, etc. So moving to management is almost inevitable. Not to mention there are other reasons such as better salary and more visibility to change things. Also, people need change in their life. Moving to management is one way to change things. Some people go back to being IC, but most don't.
You know what's funny. I would not call the environment you're describing as a tech company. I would call what you're talking about a tech-enabled company. If you are working at a tech-enabled company, then I 100% agree with you about moving to management becoming inevitable. Tech-enabled IC's are basically rendering JSON/SQL/NoSQL in on Desktop/Web/Mobile. If you're company is just spinning up .Net Core/Node/Django/fill-in-framework-here to build a website to show some data, that's not a tech company to me.
When I say tech company, I'm talking about companies where software engineering skills actually matter. where a O(n²) algorithm also will cost your business. In my definition of a tech company there are tons of new things happening. Look at the spaces like AR, self-driving, rocketry, and machine-learning, and computational photography — no one in any of those fields is doing the same thing they were doing even 2 years ago.
I dunno man, this sounds like some unnecessary exclusionary gate keeping on the really broad term of “tech company”. Instead of trying to take this broad term and scope it down for your own purposes why not use a narrow term for your narrow definition. This is like when CS graduates claim people without a CS degree aren’t software engineers and shouldn’t be hired into the same roles... to render JSON on a mobile device.
You're absolutely correct. That's why if I applied to work at any of those companies (I've already worked at Amazon) I would be extremely particular about what project I work on.
Yes, don't think that is wrong though. There are very few teams even in the FAANGs that are working on interesting problems. So instead of talking about tech companies, we should be talking about tech teams.
Then you have your own special definition. A "tech company" is a company whose primary business is tech, including companies pushing out boring line-of-business applications like you describe. It is in contrast to companies whose primary focus is something else e.g. agriculture or pharmaceuticals.
I loathe being in management and am totally aware that I'm probably a bad manager, so I've got a lot of respect for engineers who wind up being put in management roles, but the one thing that keeps pushing me to want to go back into management is getting put into a team with an abysmal or completely missing culture that I feel like mostly stems from terrible leadership.
I'm finally to the point where I'm confident enough with my career to actually make noise and complain about things that I'm tired of dealing with which I wasn't in my 20s, but now I'm dealing with my complaints not causing any change in the end.
This is the thought i've been obsessed with last 6 months and after evaluating everything think almost everyone is better off going to management in late 30's or 40's. There is no way out of it.
Some of the reasons
1. boredom of doing the same thing over and over in a different languange/framework
2. Still have to get "permission" from (possibly younger) manager before doing anything.
3. Have to leetcode after work to switch jobs.
4. Have to keep learning latest framework after work.
5. In direct competition with new comers who are much hungrier and with ppl who don't have many personal responsibilities.
6. Honestly, it feels a bit weird to be the oldest person on the team by a huge margin.
7. Younger devs assume you might be bad at your job to not grow in your career and don't give you much respect.
This is kind of what drives me nuts about software engineering. I would love to work a 9 - 5 but in software you have to constantly be learning, it ends up being a 50+ hour a week career. It does pay well which is great so I have little room to complain but I feel like I am always at work.
yeah exactly. Even if you manage your time well to take care of personal responsibilities, you always have a nagging feeling that you are falling behind.
Have they lost their building muscles, or are they just not building what you want how you think they should? At 55, I'm not as prolific as I used to be, but it's not because my skills have atrophied. It's partly because I tend to work on the bits everyone else is avoiding (often because they're difficult), partly because I try to do things right instead of hacking and slashing, partly because I find it hard to concentrate on doing things within the absolutely insane structures and idioms my younger coworkers have created.
Example: the almost universally used service infra where I work is a nightmare of excessive context switches and tuning to avoid starvation/deadlocks. Why? Because the kidz who developed it apparently didn't read enough to know that the basic paradigm it's based on is known to have such problems. The people around me think this is normal or inevitable, and just live with it, but even the person who did most to popularize these ideas recanted a decade ago. Too bad; we're just stuck with it, because it's the young folk who refuse to learn.
Your older coworkers probably haven't lost their "building muscles" and aren't reluctant to learning anything. They're reluctant to repeat or build on past mistakes. Overall, your comment seems like a good example of how older programmers are often misrepresented by those who don't share their experience. Let people represent themselves.
> which is antithetical to software engineering where a new framework is out every day.
... In some fields of software engineering!
There is a whole world of Software Engineering outside Web/Infrastructure. There are plenty of Software Engineering fields out there where slow changing standards and toolchain reliability are considered a valued feature.
That said I don't disagree with the need for self-study in Software Engineering, I just disagree that this need originates from some issue with the high churning of languages/tools/frameworks(which is local to Web/Infrastructure)
Even in the web, it doesn't really change as fast as people say. There have been 3 front-end frameworks that actually matter for 6 years. Have there been new backend frameworks constantly coming out? where does this meme come from?
Hmm, I'm in my mid 30s (I'm still pretending to be 34 on the basis that my birthday was in May, which I contend hasn't _really_ happened yet due to the pandemic lockdown; it's still March), and fewer of my peers than I'd have necessarily expected a decade ago have gone into management; the "senior/lead/principal engineer" route seems more common.
As an older developer (46), I stay away from the clusterf%%% of modern front end development.
In the last three or four years, I’ve been going back and forth between C# (.Net Core) using Visual Studio and Javascript (Node), Python, and Go using VS Code. The setup was. 1. Download VS/VS Code 2. Install appropriate extensions .
It makes no sense to me to try to stay up to date with front end development when front end developers are rapidly becoming a commodity with a bunch of boot camp grads. The money isn’t worth it.
I'm the same age. But I am also guilty of old habits when attempting new frameworks or languages. For example, I always want to set up the environment with the least amount of "auto loads" of libraries etc. I do not use NPM. I still play around with new JS libraries by direct downloads from the official websites or Github and always use local copies of .js .css etc. I don't even connect to CDNs for fonts! I want to know all dependencies etc. I am paranoid like that. And this can be exhausting.
Can't agree more. Recently started a personal project in .Net Core + Visual Studio. What a joy. Can't get away from the front-end completely, but I can at least enjoy the backend side immensely.
Have you tried Blazor? I wouldn’t invest time in it personally because I don’t see a market for it, but if I were just doing a side project for the project itself and not to learn a new marketable skill, I would give it a go.
I'm in my mid-20's and everyone my age with a BIT/CIS/%Information% degree looks down on actual coding. They all act like it's way beneath them and focus on some hand-wavy consulting stuff. I work with a bunch of people with this degree and I genuinely couldn't tell you what they do other than add connections on Linkedin.
I'm in my mind 30's and I'm becoming more reluctant to learning new things.
In my 20's I used to enjoy coding just for coding itself. I was always excited to learn a new language, a new library/framework/etc.
When I reached 30-ish, I was more interested in building things. The "coding" part was more of a chore to be honest, I just liked doing it because there was a product to build to solve problems. And the thing is, I can probably build any product with the languages I know today. So many of these "hot new things" are just rehashing ideas that have been around for decades.
It's interesting to see multiple people in their 30s here mentioning the decline in interest of learning. I'm young 30s and I'm literally quitting my job because I can't do it anymore - I can't be bothered to learn new stuff I need for a new project. I'd literally rather quit. I feel so broken because of it and I know my next job is going to be a third of what I'm paid now because it won't be software.
Don't hear me wrong, I should have been more specific, but the reluctance to learning is specific to tech and programming. I learn a lot of new things during my spare time. Even in the field of pure computer science there are a lot of interesting programming theories to learn.
After decades in the field, I feel like I'm mostly always doing the same thing. Grabbing data from here and there, making sure I rate limit and fail gracefully, serialize shit and deserialize a response, or vice-versa. Writing software is just plumbing and it's infuriating when people just keep changing the size and shape of the pipes just for the sake of it. That's why to me the actual product being built is more important than playing with tech just to play with tech.
I went to school for CS and ended up being a data janitor. I get paid FU money to do what is essentially ETL in many fancy and various forms. All the excitement is gone.
That's funny, I've been thinking about getting into indoor/outdoor painting. I don't know if I'm really serious about it because it would probably divide my current salary by at least 4 or 5, but maybe we need to start a business lol
Are you dealing with anxiety from covid/quarantine/everything right now? I think a lot of us are in this same boat, want to get out of tech, etc. I remember what it was like making a $45k paycheck though. I had such little agency in life. Obviously people can get by on that and do much better than I did but I've gotten so accustomed to having the freedom to basically buy anything I want (obviously in reason) when I want. I don't even flinch at a $150/mo gym membership which theres no way I could afford back then. I remember wanting to learn judo and kendo when I was around 23 and being shocked at how expensive it was and I couldn't do it until I was in my late 20s.
Do I need any of that or is it worth it? Surely not. But the freedom I feel now making 3x what I did when I worked in retail is something I can't really put into words well.
I agree that going back to $50k a year is going to blow chunks. But it's going to be very different this time versus when I was straight out of college - I have developer skills I can fall back on in the worst case scenario, I have six figures in the bank to fall back on, my student loans and car are both paid off, I'm not moving around constantly, I'm not spending money on expensive dating. I think I will be ok. I've never been an extravagant spender on myself, only on others.
Well I'm envious. I want to pull the trigger with 3 months of savings in my account and its terrifying. I absolutely loathe the people I work for right now and how they're treating their employees during COVID. I'm just really worried with the way things are right now I won't actually find a paycheck to take home in those 3 months even with my highly sought after skill. That and I don't have the energy to prepare for FAANG interviews and whiteboarding right now, I feel stuck and I hate this anxiety.
Sorry if this is a downer, but honestly even if I wanted a new job immediately I think it would take many many months to find one. I'm planning on it taking up to a year. I've been looking at job boards a lot and even for developer jobs, they're really only hiring senior level positions right now and I'm sure the rare non-senior position is extremely competitive. My last two roles have both been senior, but I would very much be junior for anything outside web development (which I no longer want to do).
Life happens in your 30s. Meaning you get a spouse, house, and kids. Suddenly work becomes less of a priority and even if it doesn't you have a lot less time and energy to dedicate to it.
I also think there's a frustration limit. Like if your spouse is being a jerk, the kids are being dicks, and the plumbing broke you don't want to mess around with a new technology. You want something easy and easy is what you already know.
>I feel so broken because of it and I know my next job is going to be a third of what I'm paid now because it won't be software.
I would not do that. You're probably just burned out. Take some time off and switch jobs before switching careers. Especially one that will pay 1/3 of what you make now. At least start saving up 2/3s of your salary for a while to see what it'd be like.
The problem is that I've done that before. I took a year off not working at all, just traveled and fucked around, and then got my current job. Also my partner is great and I have no kids or really any problems at all in home life. I've only lasted at my current job for a year (already gave notice). Granted my current job is very similar to my last one - maybe that's the problem.
I'm currently saving about half of what I make. Finances will be easier when I'm not the only one with an income and my partner is days away from a very probable job offer.
I'm wanting to transition to project management and eventually product management. Product management can pay pretty well ($150k+) once you're established. I can afford to not really save much for 5 years until I'm back into six figure income.
Maybe you're just in a shitty job? I thought I was burned out on programming a few years ago, turns out I was just burned out on a specific stressful job.
I mean shitty is relative. Compared to manual labor jobs I'm sure my current job would be a blessing. Six figures, sit around all day, job is easy if I had the mental fortitude to force myself to do it, I can get away with only working maybe 20 hours a week.
It's shitty because it doesn't advance me at all, there's no room for growth, no opportunity for learning something that would be meaningful at literally any other job, there is zero social aspect to it since I'm 100% remote and work on projects alone, all my coworkers are on the opposite coast of the country.
I have tried using my free time to get more familiar with ML/AI stuff but my brain just shuts down as soon as I begin to try. I would love, in theory, to transition towards AI work but the learning curve feels so steep. But the pay would be great, I think there is an absolute shit ton up upward room to grow, I could probably work on some pretty interesting problems (though I'm sure there's tons of "make ads more effective" ML jobs out there too). Maybe if I take some time off work I can try to get back into it, spend 6 months learning, and try to get an entry level ML job.
Does either camp have second thoughts about how their careers have progressed? You've highlighted one or two downsides for those who've gone down (or should I say 'up') the management route. Would you trade places with any of those friends? Would either of them trade places with you? Do you have an 'exit' plan out of software engineering or do you plan to stick with it to the very end? I appreciate some of these are personal questions and you may not want to discuss it but these are the perspectives that interest me.
In 2008, I was 35 and had let my career, skills and salary stagnate. I had been a company for almost a decade mostly writing a combination of C, C++, Perl, and VB6 programs for backend processes. I finally woke up, did a career reset and pivoted toward “enterprise development”.
Fast forward to 2016, I was married, with a step son who was a freshman, tired of working on yet another software as a service CRUD app at my 3rd job since 2008 as an IC, and jumped on an opportunity to be a dev lead at a medium size non software company.
I thought the next step was to either stay a hands on dev lead/ “architect” and just muddle along for the next 20 years, go into management, or go the r/cscareerquestions route and “learn leetCode and work for a FAANG” and move to the west coast.
Neither sounded appealing. Then management decided to “move to the cloud”. I didn’t know anything about AWS at the time and saw how much the “consultants” were making and that opened my eyes. If these old school netops folks could pass one certification, click around in the console and make. $200K+ a year, imagine what I could do if I knew AWS from the infrastructure and dev ops side and I knew how to develop and architect using all of the AWS fiddly bits.
It took three years and teo job changes in between, but I really like consulting. It’s the perfect combination of development, high level architecture, customer engagement and you never know what you will be doing in three months - or in what language.
The company I worked for as a dev lead was acquired by private equity and by the time I had any knowledge about AWS the infrastructure gatekeepers and consultants took over.
I started looking for a job and got lucky that another company was trying to build an in house development department led by a new CTO. They had outsourced all of the development before.
The new CTO was very forward looking and wanted to make the company “cloud native” and improve the processes. He only had a high level understanding of AWS as did I. He took a chance on me and I became both the de facto “cloud architect” and the person he called when he wanted a customer facing project done from the ground up without having to deal with the slow moving “scrum process”.
I was quite happy at the company and would have stayed a couple of years probably even knowing I could make more money somewhere else and then Covid hit along with an across the board pay cut.
I was still not really looking, a 10% pay cut at a time when we couldn’t travel or really go out was an inconvenience but not earth shattering.
Then a recruiter contacted me for a software development position at Amazon. I wasn’t willing to relocate or do the leetCode monkey dance but we talked a little and then she forwarded my information to a recruiter on the AWS side.
I saw the interview process was basically a high level technical interview to determine whether I knew the basics of AWS (I did) and all about the Leadership Principles. I knew I could answer the “tell me about a time when...” questions with the best of them and the interview process was going to be fully remote.
To keep a long story from getting longer - I work at Amazon as an AWS Consultant from the comfort of my own home in the suburbs in a low cost of living area.
> Does either camp have second thoughts about how their careers have progressed?
Anecdotally from our conversations, I would say that they see computer programming as being less valuable than people programming. My friends do have lots of ideas for things and one in particular will keep saying that he wants to "re-learn iOS dev" or "learn Elixir", but he never does. I've started down the path of learning how to angel invest, which is where I'm trying to learn my people management skills.
> Would you trade places with any of those friends?
Absolutely not.
> Would either of them trade places with you?
I doubt it.
> Do you have an 'exit' plan out of software engineering or do you plan to stick with it to the very end?
I'm already on a trajectory where I won't need to work a traditional job the rest of my life. None of my friends who are climbing the management chain are anywhere near that. I honestly love building and learning (I just finished up a 3.5 day hack-a-thon yesterday). My next path will lead me either to building a company, helping people start tech-enabled companies or helping someone co-found a company. Unless I become a CEO, I don't plan to stop programming.
As with my age,I'm in the middle of both worlds too: I'm a manager but I also do development whenever that's needed ( it's not a tech company). Development,while can be frustrating,is very enjoyable,as you feel that you creating something tangible and useful. The management side is never ending issues. More often than not I have to operate without having a full picture,so arbitrary decision. You also get to be the person who makes decisions for people when they don't want to do it. From the wider business perspective it's quite interesting,as you get to know a lot what's going on in the company. I'd love to do development full time, maybe in a smaller company rather than some big corp environment. Ideally,I'd like to do 10-15 years of development and only then go into management,but not sure how viable it can be.
> They also seem reluctant to really want to learn anything else which is antithetical to software engineering where a new framework is out every day.
Actually I'd say that's a sign of maturity. They've grown wise to the idea that our industry has a fetish for reinventing the wheel and refuse to take part in it.
"which is antithetical to software engineering where a new framework is out every day."
Hey! Objection!
I'm a software engineer and I have no need to keep up with random web frameworks popping up left and right. I'm fine writing my C++ and C#, thank you. I have to keep up to date but the stack evolves over a decade, not every quarter (or what ever the cadence is for web stuff).
Become an expert in a field and then it's irrelevant if you know framework xyz or not - it's no longer a critical requirment. It's critical you have domain knowledge, and what ever the tech stack is it's expected you can get up to speed in it just fine on the job.