5 ms·
You are much more likely to burn out then to master it. Look at the age groups in software development. Most people get out of it before 40 because it's such a
by peakaboo 5y ago
You are much more likely to burn out then to master it. Look at the age groups in software development. Most people get out of it before 40 because it's such a draining profession.
Can you really even master something like software development where things change dramatically almost every year?
- AQuantized 5y agoPart of this is probably that it's such a young profession. Most people I work with are quite a lot older than me anecdotally, however. Even though the frameworks and languages in vogue change rapidly, the patterns and logic seems to be very similar. When I have to learn a new language now it's more a matter of researching the syntax and idioms rather than learning from scratch.
- jmkni 5y agoI think that at least partly has to do with life circumstances changing, people get married, have kids, etc and have less time to spend practicing, reading. I'm 32 now, have been doing this since 20, and (I think/hope) mostly kept up to date, but I'm also single/childless lol. Also, as you move up, you inevitably end up managing/mentoring younger devs (unless you have terrible people skills or something), meaning you spend less time actually coding, this also makes it more difficult to keep up to date (in detail, you still know what's going on, but have less experience implementing). To be fair, terrible people skills could also apply to still being single/childless at 32, I hope not...
- cultofmetatron 5y agosingle and childless at 36. just frees me up to constantly travel fro place to place without a care in the world.
- WolfOliver 5y agoyou are in professional software engineering since you are 12? Learning to program is not the draining part it is the fun part. Dealing with people is the hard part.
- yourapostasy 5y ago> ...as you move up, you inevitably end up managing/mentoring younger devs (unless you have terrible people skills or something), meaning you spend less time actually coding... You can somewhat mitigate this if you want to still keep your hands in the code by finding the intersections of two or more tech stacks that take two or more others to even approach. The inevitable impedance mismatch between say two stacks means that one person familiar with both is usually far more effective than two people who have to feel their way through the mismatch. As a senior in this position, you often get to do the "fun" parts of throwing together a proof of concept, validate your mental model of the impedance mismatch, outline the details to iron out (usually known-complexity work like documenting, hooking up to various plumbing for unit testing, tracing, logging, monitoring, internationalization, etc.), and go on to the next fire to help put out.
- MattGaiser 5y agoI graduated two years ago and I feel behind not knowing Vue and Elixer, never mind things like Rust.
- ravi-delia 5y agoDon't get me wrong, Elixir is one of my favorite languages, but I don't think you'd be behind for not knowing it. Even functional programming as a whole isn't widely enough adopted that people who aren't familiar with it are behind.
- cactus2093 5y ago> it's such a draining profession I truly can't understand thinking this. I've worked in software engineering for over 10 years now, at a wide range of companies from tiny startups to large tech cos. We easily make 2 - 5x more than the median wage, work indoors in a comfortable environment sitting (or standing, for anybody who prefers) all day with high end ergonomic equipment, often get unlimited vacation time, can often choose not to work more than 8 hours a day if we don't want to, and all while doing something that many of us got into simply because it was a fun and engaging thing to do. And just in the past year millions of software engineers have gotten the option of doing this fully remotely, freeing them up to live anywhere they want and never have to commute. What a time to be alive!
- deleted 5y ago[deleted]
- decebalus1 5y agoRead some of the comments in this past thread https://news.ycombinator.com/item?id=27821392 https://news.ycombinator.com/item?id=27821392 to understand this better. I've also been working at this for well over 10 years and I do agree that overall this profession is draining. I often need 'hard resets' between jobs, it's hard to compartmentalize work and regular life when you brain is constantly thinking about 'the system'. I have experienced burnout a bunch of times. It's not pretty. Add the new trends of making devs do oncall because frankly everything is online, tech interviews becoming the coding Olympics, the incentive structure in an organization making people cut corners or backstab coworkers to get ahead, it's not hard to understand how someone would consider the profession draining. This is from the perspective of someone who worked both in small and big corps on the west coast. Comfort doesn't have a lot to do with burnout or job satisfaction unless you're coming from a blue collar mostly manual job. > many of us got into simply because it was a fun and engaging thing to do That's one of the problems. For a lot of folks, it was exactly that 'was a fun and engaging thing to do' and then you get do it in the context of office politics, tight deadlines, need to sacrifice professional ethics and ship something half-assed because that's what the business needs, etc.. These things, repeatedly chip away at your happiness. Would you be more unhappy without the ergonomic equipment and all of that? Most likely yes. But ping-pong tables and the unlimited vacation (which is at the discretion of your manager anyway) doesn't always compensate for shit work or the nervous breakdown from having to sit on an incident bridge for 4 hours... I need to admit, I love my job and I love this profession. But I do understand when people say it's draining.
- jmfldn 5y agoThe fact that most engineers are young is much more to do with the numbers in the profession doubling every five years in the last twenty years imho. If you were an engineer twenty years ago, there are now sixteen times more engineers. Your peergroup is going to look pretty small therefore. All of these younger engineers are going to get older too of course, and the demand won't keep on growing at this rate, so inevitably the ratio of young vs old devs will even out. Sure, some devs become managers but there are only so many managerial jobs. Some also drop out but not in vast numbers. From my own experience, I see quite a few of devs my age (40) and older. For the most part we're senior engineers, some are managers. I don't know anyone who's left the profession. Just my anecdotal evidence but I do feel this phenomenon is overstated.
- rubicon33 5y agoAnd what about your 50s, or 60s? When do you plan to retire? The "average" retirement age is what, 65? Do you plan to code until then? If so, are you fairly stable in what language/domain you're coding for, or are you learning constantly?
- jmfldn 5y agoGood questions. I'm not 100% sure, but currently I plan to be an engineer until I retire which I guess will be around 65. My goal will be to wind down later in my career though, work less than a 5 day week and go for contract / consulting kinds gigs from 50s onwards ideally. Right now I'm happy just being on the payroll doing a 9-5 gig. The stability suits me well at this point in life. I'm a Scala developer working on fairly typical, distributed systems / web apps. I have no plans to stop Scala since I love it but any JVM language would suit me. I'm also into system design / architecture in the distributed system, "reactive" architecture domain. Those are the systems I tend to work on, massive web apps consisting of many microservices. I'm always learning and trying to be on the edge of my comfort zone which is key I think. If I'm not messing with Scala then I'll be learning more about Kafka, Docker, SQL / Mongo, Terraform, AWS and a bit of Linux. I'm far from a master in any of these things and I don't think I'll master many which is fine. I know enough to do my job and I keep on learning but the breadth of what I have to know is too broad to master it all. My true passion is programming, particularly functional, and I would love to master that for myself as much as anything. I guess you have to chose where to go deep and where to go for breadth. You can't master it all!
- rubicon33 5y agoI have been seriously wondering about this. I'm mid 30s developer who has (because of jobs) switched domains multiple times over the last 10 years. I've learned 7 programming languages, COUNTLESS frameworks (both backend, and frontend), across many different domains... frontend web, native mobile, hybrid mobile, backend, even dabbled in firmware for a few years. All of these in a professional context, where I was shipping real live code. If there's been one constant in my career it's been change. Change is constant. I can absolutely expect that in a given ~3 year timespan, I will need to learn a new language, domain, framework, etc. The result is absolutely that I feel like a jack of all trades, but a master of none. I can pick up new languages and frameworks quickly, but I don't ever feel intimately familiar with any given language or framework or domain. I don't feel like a "master" of anything other than, perhaps, mastering the ability to learn new . It sucks. Perhaps not coincidentally, I've struggled with feelings of burnout. Looking back on my career over the last 10 years, it feels like a constant sprint. Of course I'm a better developer today than I was 10 years ago, but I know that the future only brings one thing: New technologies, new frameworks, new languages. I will need to learn those, and only a fraction of my current knowledge will apply. It's hard not to feel like you're treading water in this industry. I can learn anything, but for long? For how many years, or decades, am I willing to do this? It feels like I need to either accept that this is the reality of this industry, that the biggest skill I can have is willingness and ability to learn, or, accept defeat.
- rightbyte 5y agoReach for automotive embedded programming. Anything newer than C89 is going way too wild. Better put those variable declarations where they belong! Jokes aside, the grind and churn is real. Just try to find a job without the fad chasing.
- knuthsat 5y agolearning the underlying principles of things makes the changes look less dramatic. after some point there's not much one needs to learn to be productive. I feel no pressure not knowing vue, django, fp-ts, rxjs, Rust, Zig, C++20. Rarely there's something you can do with new stuff that you can't do with old.
- commandlinefan 5y ago> more likely to burn out then to master it I think you probably meant "than"... although that may be profound the way you spelled it.
- peakaboo 5y agoNice catch! No just spelling mistake, nothing profound there..
- yodsanklai 5y ago> Most people get out of it before 40 because it's such a draining profession. Most of my team are 40+, we're doing fine. > Can you really even master something like software development where things change dramatically almost every year? This is a good point but things don't change that fast.