There's so much risk when joining a new company that it will turn out to be everything you're looking for, that when everything actually looks great in the first couple years, you may think you've found your final home! But it turns out, companies can adversely change under your feet and you can suddenly feel like you're in a rug-pull situation, and you find yourself looking again.
I thought my last job (joined pre-pandemic) really could have been my "forever job." My "work persona" was the closest to my actual self in my whole career. It was fun and exciting and the people were amazing! We worked on a great product, shipping features and solving challenging engineering problems, using the latest tech.
But the pandemic absolutely decimated their amazing culture. Company growth slowed, focus shifted to cost cutting, there were a couple of annual merit increase freezes, company policies were incrementally changed to be less generous (the number of company holidays were reduced, sick time was tracked separated from PTO, etc.). All the best people left for new jobs by that point, leaving behind, well... the people that couldn't leave. The culture bar wasn't upheld in hiring, and the company culture diluted further. The company that emerged at the beginning of 2023 was a mere shell of the company it once was and I had to leave.
Are you me? This is shot for shot what's been going on at $dayjob lined up with the pandemic as well.
The sad part is that the culture that was so nice wasn't predicated on future growth. It wasn't like we ran out of runaway or anything and suddenly couldn't afford the perks. None of them cost dollars that would actually appear on the budget and productivity's tanked so not really sure what they bought here.
I genuinely don't understand "symbolic cost cutting" where they just artificially make it shittier to work there. It just makes people quit— and if you're thinking, "well that's why" they're desperately trying to get people to stay and will do anything as long as it's nothing.
One of my main use cases for Rust was actually frontend work with WASM. It is pretty neat writing code that could be used in frontend code, backend Rust scripts, and ML training code (via Python bindings). Safe and fast.
I'm starting my carreer now, only have ~2 years of experience, how do you guys keep up to date with tech? I usually read HN and some other news and I love to play around with stuff that I find interesting, are there any other places that I can find new things?
I don't. There really isn't much that's new that shows up. Spend your time exploring stuff people have already done, then learn whatever version of it this employer is using as needed at work. For example, at one job I needed to learn Ruby for a project. But here's an object-based, single dispatch, dynamically typed, interpreted language with some warts. You figure out what they call the inevitable things that are there in such a language and what the warts are, read some code to get a sense for the idiom, and then get on with life. If it's your first such language it feels challenging. If it's your third or fourth, it's just filling in the blanks. SQL Server has lots of warts and differences from PostgreSQL, but the stuff you expect is all there under some name. Any distributed database has to solve the same problems as any other one.
So don't worry about the new things. Worry about the old things with staying power, and the underlying designs and principles and patterns of thought that get reused again and again.
I think it’s the same with most knowledge work: spend the majority of your open-ended personal development time exploring a breadth of knowledge, ideas, and concepts so that you know where to go deep when stumbling into a new problem space.
Yeah once I had been doing web projects for like 2 years, it felt like there wasn't anything interesting to do on the web anymore. I started working on DirectX projects for fun because basically nothing about web dev informs you on graphics. 6 years of web dev experience (plus 3 or 4 of personal projects) and graphics cards make me feel like a noob again, it's wonderful
The best, any maybe only, way is to build things you think are interesting in the technology you want to learn.
Interested in learning the cloud and immutable operating-systems? Write the infrastructure-as-code to deploy a Minecraft server on Fedora CoreOS to Azure.
Interested in learning C#? Build Flappy Bird using Monogame.
Interested in learning how the networking stack works? Write your own TCP client.
Interested in data analysis? Create dashboards to track your budget using Streamlit, Python, and Pandas.
The worse problem with this industry is that we have conditioned people to think they need to do side projects outside of working 40 hours a week.
When I get off work, I shut down my computer and live my life.
“Life” was a part time fitness instructor that was more of a hobby than a job, running races with friends, hanging out, etc until I was 35 and then married (still married) and spending time with my wife and (step)kids until the youngest one graduated in 2020 and doing a lot of traveling with my wife post Covid including doing the “digital nomad” thing for a year.
I’ve been in this industry professionally since 1996 across now 10 jobs. I have only done any coding outside of work for 3 months and that was in 2008 and only because I had stayed at my second job for 9 years and I had become an expert beginner.
I will volunteer to work on projects that give me exposure to new to me technology. If that isn’t available, it’s time to change jobs.
I started my career programming in C across mainframes, PCs, and ruggedized Windows CE devices for the first 15 years, and working in strategic cloud consulting for the last 6 including 3 working directly at BigTech.
I’m completely different. Most of my side projects are code. I briefly gave up spare-time coding in 2017 for CrossFit, and in 2001 for kayaking, and in 2022 for studying Chinese. But it always comes back. I just love to code.
I sure would like to find other things as interesting.
I mostly had R&D-like positions, and working in a new field all the time. I’d like to acquire more domain knowledge outside of finance to grow my own business somewhere, but learning new things has just been so tempting.
> we have conditioned people to think they need to do side projects outside of working 40 hours a week
> If that isn’t available, it’s time to change jobs.
From what I've seen most people want to keep their cake and they want to eat it too. They're not willing to change jobs. They're also not willing to work on anything outside of work. Then they complain that their careers are stagnating.
Then again I'm biased. I work on stuff out side of work and I change jobs every 2-4 years so I can work with new technology.
I did exactly that from 1999-2008. I alluded to that above when I mentioned I became an “expert beginner”. I said never again. That was my 2nd job. I’m now at #10
Eh, a lot of people in tech enjoy working with tech. So we don't shut down our computers after work because that is punishment. Generally speaking though, the computing I do in my free time is vastly different than the computing I do at the office, though occasionally a skill from one becomes an asset to the other.
(This weekend I rearranged my entire network rack at home while changing out the UPS battery for the first time in... eight years... And then I added support for a leak detection sensor to my home automation code. Most fun weekend I've had in months!)
> Why are you interested in Rust? It’s not like we’re going to use that here!
Reminds me of a bill hicks bit:
> I was in Nashville, Tennessee last year. After the show I went to a Waffle House. I'm not proud of it, I was hungry. And I'm alone, I'm eating and I'm reading a book, right? Waitress walks over to me: 'Hey,
whatcha readin' for?' Isn't that the weirdest fuckin' question you've ever heard? Not what am I reading. but what am I reading FOR? Well, goddamnit, ya stumped me! Why do I read? Well... hmmm..I dunno...I guess I read for a lot of reasons and the main one is so I don't end up being a fuckin' waffle waitress
> But I do not expect TypeScript to be the primary language I use for the rest of my career!
That's like saying, "I do not expect English to be the primary language I use for the rest of my life." Think about what it would be like if you had to work in China and speak Chinese because all the jobs went away in America. Is that good for you? Probably not. That's what the industry does to software engineers every few years with all these languages. It keeps the engineer down by preying on his curiosity with distractions that put him at a disadvantage.
It is incredibly hard to learn Chinese if you only know English, but when you know one programming language, picking up most of another one is trivial. As you get later in your career, your skills as an engineer aren't defined by your knowledge of a particular language's syntax, but more generalized skills related to project architecture and scope management. Language becomes an implementation detail
The more I use AI, the more convinced I am that we're nowhere near the point of time where it will take even the majority of dev jobs.
Maybe I'm wrong. But I just don't see it. I see it greatly increasing the productivity of developers, and removing the need for certain tasks, but not removing the need for them entirely.
I’ve been using Cursor for a month or two, as it’s a great speedup and a big step forward in DX. I’ve also been periodically browsing r/cursor, to see if I can pick up any workflow tips. I can see a clear distinction between fellow devs using it as a powerful coding tool (as intended), and the no-code folks trying to use it as an application generator.
A few of the latter have some success and showcase the things they’ve built, but the majority who post on the subreddit vent similar frustrations :
- Trying to build an app one tab press at a time without understanding the code, so unable to fix inevitable problems when chat is unable to.
- Relying heavily on the Composer or Agent features, which sometimes merrily erases chunks of code or entire files. Unable to recover work because unaware of Local History or VCS.
- Running out of fast response credits because 500 are bundled per month. The ideal workflow is to give harder things to Claude or O1, and delegate easier things to gpt4o-mini (which is unmetered). But that only helps if you know which tasks are harder or easier.
Anecdotally, I've noticed that llms are good at generating javascript, but are pretty bad at generating c++ or c#. I don't do too many other languages so maybe it's good at python but generally they're only good at the really big languages.
I think you're right in the long run, but in the short run all it takes is largely the non-experts and business people to _think_ they can make mass layoffs and "hire" AI for a significant number of people to lose out on the industry.
Save more of those big SWE paychecks knowing that doomsday is coming.
It’s not, obviously, but I wouldn’t want to be in the bottom 50% … you can end up being the person who fixes the LLM-generated code but that’s awful.
Just like there are lots of layoffs now, but also many areas of new growth, it’s hard to imagine how the opportunities will evaporate.
Stay flexible and don’t drink the “end of the dev” kool-aid. Don’t paint yourself into a corner - especially not a corner that is ripe for LLM-efficiency takeover.
When I hear comments like this, I'm always curious what kind of work the commenter does. None of what I do is predictable enough that a project manager could even come up with a good enough prompt. I'm frequently evaluating open-source code to see if it meets our needs, patching it and submitting fixes upstream if it's close, or writing something custom if it's not (and then potentially open-sourcing that, if it's useful). AI can't do any of that.
Am I the only one who hopes my current job is my last job and AI will more or less wipe out software engineering as a profession by decade’s end?
I love my job, but I can’t see myself doing it for the rest of my life. I have greater ambitions than that, and what’s stopping me from pursuing them is that implementation of big things is really hard. If AI makes implementation much easier, then that makes pursuing those things really worthwhile.
> Without software engineering, what exactly do you feel you bring to the table (so to speak). Is there something you have that no one else does
I know how to talk to people, I have 30 years of industry experience and I’m technical and up to date. Other people have that combination of skills but it’s rare enough.
Even if AI gets to the point where I can lazily describe any software project I want and it will make it for me, even better than I described it, I'm 100% sure that nothing will stop me from moving on to other projects short of death/being incapacitated.
I doubt AI will be getting to that point in my lifetime, but if it did, it would be amazing
If AI got to that point in my lifetime I'd quit software engineering. That sounds like a fucking mind numbing job. I'd go be a goat farmer or something before I become a professional chat bot chatter
Most of software engineering (differentiating from programming) is just iterating on a model of a problem space in enough detail that computers can be applied to automate a lot of the drudgery.
Software is nowhere close to done "eating the world". I see endless opportunities to apply software to remove drudgery; anything that helps me do that faster is a win.
Everyone has a level of abstraction they're comfortable with. I enjoy working in C++, and I tolerate working in Javascript for work. I wouldn't be good at writing assembly, and I would dread talking to chatbots to tell them what code to write. I enjoy solving problems, not describing them to chatbots.
Good for you wanting to grow and stretch your limits. I do too!
I just prefer to not do so at the expense of my team, coworkers, and community. RDD is inherently selfish, and I’ve personally been burned by others doing this kinda stuff. Maybe a false dichotomy, but I’m thinking you’re ignorant to the problems you’re causing others, or you are aware and are just a bit antisocial.
Maybe I missed it but I don't see that explicitly in the article. I see someone who learns for fun and for their growth.
That being said, yes people can take it to the extreme just to put something on their resume...working on unrelated nonsense at the expense of the team. I've been on the receiving end of this and can't stand this immature behavior.
In fact, the two times I've experience it, it was the least concretely useful person on the team (but not a junior). When their BS is called out they ended up leaving one way or another instead of changing behavior.
This is different from someone who loves learning and applies broadly learned lessons in day to day work.
I know Chris well enough from his writing and some conversations that I can vouch that "resume-driven development" is absolutely _not_ his motivation here.
Chris is one of the most thoughtful and insightful engineers I can think of. He has a love of actual programming, but also deeply cares about how programming and technology have an influence on us as programmers and the rest of the world.
Given that, this post is him expressing his interest in learning technologies because they look interesting and potentially useful, but also giving reasons to _keep_ learning over the course of your career rather than getting stuck in a rut.
I probably didn’t even need the personal vouch to realize I likely read this with a lens of heavy disdain for rdd.
I whole heartedly agree that it’s important to keep learning over the course of your career. And I believe you that the author is aware of the nuance. But I think it’s also incredibly easy to read this piece as “add rust to your .net shop because it’s good for your career”.
I don’t know the author. But if I had to pull numbers out of thin air and take a guess, I’d venture 95% of .net shops where an engineer said “let’s do this new thing in rust” was overall a terrible decision for the team and a good decision for the individual engineer, everyone else be damned.
It’s wholly unfair of me to criticize the author specifically without knowing the context of the problem he was solving. My original comment was not worded well, but it was not as directed towards the author as it reads as, but more as a general counter commentary to the point the author was making.
There's so much risk when joining a new company that it will turn out to be everything you're looking for, that when everything actually looks great in the first couple years, you may think you've found your final home! But it turns out, companies can adversely change under your feet and you can suddenly feel like you're in a rug-pull situation, and you find yourself looking again.
I thought my last job (joined pre-pandemic) really could have been my "forever job." My "work persona" was the closest to my actual self in my whole career. It was fun and exciting and the people were amazing! We worked on a great product, shipping features and solving challenging engineering problems, using the latest tech.
But the pandemic absolutely decimated their amazing culture. Company growth slowed, focus shifted to cost cutting, there were a couple of annual merit increase freezes, company policies were incrementally changed to be less generous (the number of company holidays were reduced, sick time was tracked separated from PTO, etc.). All the best people left for new jobs by that point, leaving behind, well... the people that couldn't leave. The culture bar wasn't upheld in hiring, and the company culture diluted further. The company that emerged at the beginning of 2023 was a mere shell of the company it once was and I had to leave.
I have now worked for 10 companies in almost 30 years.
A corollary to the second law of thermodynamics is that everything goes to shit over time - including companies and culture.
I always keep my running shoes around my neck and stay prepared to change jobs.
Are you me? This is shot for shot what's been going on at $dayjob lined up with the pandemic as well.
The sad part is that the culture that was so nice wasn't predicated on future growth. It wasn't like we ran out of runaway or anything and suddenly couldn't afford the perks. None of them cost dollars that would actually appear on the budget and productivity's tanked so not really sure what they bought here.
I genuinely don't understand "symbolic cost cutting" where they just artificially make it shittier to work there. It just makes people quit— and if you're thinking, "well that's why" they're desperately trying to get people to stay and will do anything as long as it's nothing.
One of my main use cases for Rust was actually frontend work with WASM. It is pretty neat writing code that could be used in frontend code, backend Rust scripts, and ML training code (via Python bindings). Safe and fast.
I'm starting my carreer now, only have ~2 years of experience, how do you guys keep up to date with tech? I usually read HN and some other news and I love to play around with stuff that I find interesting, are there any other places that I can find new things?
> how do you guys keep up to date with tech?
I don't. There really isn't much that's new that shows up. Spend your time exploring stuff people have already done, then learn whatever version of it this employer is using as needed at work. For example, at one job I needed to learn Ruby for a project. But here's an object-based, single dispatch, dynamically typed, interpreted language with some warts. You figure out what they call the inevitable things that are there in such a language and what the warts are, read some code to get a sense for the idiom, and then get on with life. If it's your first such language it feels challenging. If it's your third or fourth, it's just filling in the blanks. SQL Server has lots of warts and differences from PostgreSQL, but the stuff you expect is all there under some name. Any distributed database has to solve the same problems as any other one.
So don't worry about the new things. Worry about the old things with staying power, and the underlying designs and principles and patterns of thought that get reused again and again.
I think it’s the same with most knowledge work: spend the majority of your open-ended personal development time exploring a breadth of knowledge, ideas, and concepts so that you know where to go deep when stumbling into a new problem space.
Yeah once I had been doing web projects for like 2 years, it felt like there wasn't anything interesting to do on the web anymore. I started working on DirectX projects for fun because basically nothing about web dev informs you on graphics. 6 years of web dev experience (plus 3 or 4 of personal projects) and graphics cards make me feel like a noob again, it's wonderful
The best, any maybe only, way is to build things you think are interesting in the technology you want to learn.
Interested in learning the cloud and immutable operating-systems? Write the infrastructure-as-code to deploy a Minecraft server on Fedora CoreOS to Azure.
Interested in learning C#? Build Flappy Bird using Monogame.
Interested in learning how the networking stack works? Write your own TCP client.
Interested in data analysis? Create dashboards to track your budget using Streamlit, Python, and Pandas.
etc
As Bob Ross said, "Talent is pursued interest".
The worse problem with this industry is that we have conditioned people to think they need to do side projects outside of working 40 hours a week.
When I get off work, I shut down my computer and live my life.
“Life” was a part time fitness instructor that was more of a hobby than a job, running races with friends, hanging out, etc until I was 35 and then married (still married) and spending time with my wife and (step)kids until the youngest one graduated in 2020 and doing a lot of traveling with my wife post Covid including doing the “digital nomad” thing for a year.
I’ve been in this industry professionally since 1996 across now 10 jobs. I have only done any coding outside of work for 3 months and that was in 2008 and only because I had stayed at my second job for 9 years and I had become an expert beginner.
https://daedtech.com/how-developers-stop-learning-rise-of-th...
I will volunteer to work on projects that give me exposure to new to me technology. If that isn’t available, it’s time to change jobs.
I started my career programming in C across mainframes, PCs, and ruggedized Windows CE devices for the first 15 years, and working in strategic cloud consulting for the last 6 including 3 working directly at BigTech.
I salute you.
I’m completely different. Most of my side projects are code. I briefly gave up spare-time coding in 2017 for CrossFit, and in 2001 for kayaking, and in 2022 for studying Chinese. But it always comes back. I just love to code.
I sure would like to find other things as interesting.
I mostly had R&D-like positions, and working in a new field all the time. I’d like to acquire more domain knowledge outside of finance to grow my own business somewhere, but learning new things has just been so tempting.
> I briefly gave up spare-time coding in 2017 for CrossFit, and in 2001 for kayaking,
I hope you didn’t decide to give up fitness for coding in your spare time and you are now balancing the two. I still work out around 3x a week.
> and in 2022 for studying Chinese
We moved to Florida two years ago. I keep starting to learn Spanish and giving up on it. There is an entire culture I feel like I’m missing out on.
Yeah, I balance them now.
You gotta find someone to talk to.
In my case, I talk with my mother-in-law every time she's here.
Currently I'm transcribing some of her diary entries on the first day of my son's arrival.
> we have conditioned people to think they need to do side projects outside of working 40 hours a week
> If that isn’t available, it’s time to change jobs.
From what I've seen most people want to keep their cake and they want to eat it too. They're not willing to change jobs. They're also not willing to work on anything outside of work. Then they complain that their careers are stagnating.
Then again I'm biased. I work on stuff out side of work and I change jobs every 2-4 years so I can work with new technology.
I did exactly that from 1999-2008. I alluded to that above when I mentioned I became an “expert beginner”. I said never again. That was my 2nd job. I’m now at #10
Eh, a lot of people in tech enjoy working with tech. So we don't shut down our computers after work because that is punishment. Generally speaking though, the computing I do in my free time is vastly different than the computing I do at the office, though occasionally a skill from one becomes an asset to the other.
(This weekend I rearranged my entire network rack at home while changing out the UPS battery for the first time in... eight years... And then I added support for a leak detection sensor to my home automation code. Most fun weekend I've had in months!)
HN is social media. An easy place to get a pulse on "what's new". Don't spend too much time here for anything meaningful.
Get your breadth on HN. Get out of here for depth.
> Why are you interested in Rust? It’s not like we’re going to use that here!
Reminds me of a bill hicks bit:
> I was in Nashville, Tennessee last year. After the show I went to a Waffle House. I'm not proud of it, I was hungry. And I'm alone, I'm eating and I'm reading a book, right? Waitress walks over to me: 'Hey, whatcha readin' for?' Isn't that the weirdest fuckin' question you've ever heard? Not what am I reading. but what am I reading FOR? Well, goddamnit, ya stumped me! Why do I read? Well... hmmm..I dunno...I guess I read for a lot of reasons and the main one is so I don't end up being a fuckin' waffle waitress
“Because I can’t help it!”
I’ve found that my pursuit of knowledge and intellectual stimulation is very involuntary.
I secretly want to work at the gas station, and in the kindergarten. I never had a job like this. The few non-programmer jobs I had, I automated.
> But I do not expect TypeScript to be the primary language I use for the rest of my career!
That's like saying, "I do not expect English to be the primary language I use for the rest of my life." Think about what it would be like if you had to work in China and speak Chinese because all the jobs went away in America. Is that good for you? Probably not. That's what the industry does to software engineers every few years with all these languages. It keeps the engineer down by preying on his curiosity with distractions that put him at a disadvantage.
> It keeps the engineer down by preying on his curiosity with distractions that put him at a disadvantage.
How does the effort to satisfy curiosity keep the engineer down?
It is incredibly hard to learn Chinese if you only know English, but when you know one programming language, picking up most of another one is trivial. As you get later in your career, your skills as an engineer aren't defined by your knowledge of a particular language's syntax, but more generalized skills related to project architecture and scope management. Language becomes an implementation detail
I thought this was going to be a post about AI, but it’s about what might have been an interesting question in 5 BC (before chatgpt)
It’s entirely possible that what we’re doing now is the last project we’ll all work on (I’m planning ten years on this project)
Rather than debate that, let’s just make our current projects as awesome as possible
The more I use AI, the more convinced I am that we're nowhere near the point of time where it will take even the majority of dev jobs.
Maybe I'm wrong. But I just don't see it. I see it greatly increasing the productivity of developers, and removing the need for certain tasks, but not removing the need for them entirely.
I agree with you.
I’ve been using Cursor for a month or two, as it’s a great speedup and a big step forward in DX. I’ve also been periodically browsing r/cursor, to see if I can pick up any workflow tips. I can see a clear distinction between fellow devs using it as a powerful coding tool (as intended), and the no-code folks trying to use it as an application generator.
A few of the latter have some success and showcase the things they’ve built, but the majority who post on the subreddit vent similar frustrations :
- Trying to build an app one tab press at a time without understanding the code, so unable to fix inevitable problems when chat is unable to.
- Relying heavily on the Composer or Agent features, which sometimes merrily erases chunks of code or entire files. Unable to recover work because unaware of Local History or VCS.
- Running out of fast response credits because 500 are bundled per month. The ideal workflow is to give harder things to Claude or O1, and delegate easier things to gpt4o-mini (which is unmetered). But that only helps if you know which tasks are harder or easier.
Anecdotally, I've noticed that llms are good at generating javascript, but are pretty bad at generating c++ or c#. I don't do too many other languages so maybe it's good at python but generally they're only good at the really big languages.
I think you're right in the long run, but in the short run all it takes is largely the non-experts and business people to _think_ they can make mass layoffs and "hire" AI for a significant number of people to lose out on the industry.
Save more of those big SWE paychecks knowing that doomsday is coming.
It’s not, obviously, but I wouldn’t want to be in the bottom 50% … you can end up being the person who fixes the LLM-generated code but that’s awful.
Just like there are lots of layoffs now, but also many areas of new growth, it’s hard to imagine how the opportunities will evaporate.
Stay flexible and don’t drink the “end of the dev” kool-aid. Don’t paint yourself into a corner - especially not a corner that is ripe for LLM-efficiency takeover.
When I hear comments like this, I'm always curious what kind of work the commenter does. None of what I do is predictable enough that a project manager could even come up with a good enough prompt. I'm frequently evaluating open-source code to see if it meets our needs, patching it and submitting fixes upstream if it's close, or writing something custom if it's not (and then potentially open-sourcing that, if it's useful). AI can't do any of that.
I’m building full-factory automation, the master control system needed for the Optimus/droid future.
You guys are too focused on whether AI can code. The story is much much bigger than that.
No, my entire point is that most of what I do is not coding. Even if LLMs could output correct code, they still can't do software engineering.
> the master control system needed for the Optimus/droid future
all righty then.
Am I the only one who hopes my current job is my last job and AI will more or less wipe out software engineering as a profession by decade’s end?
I love my job, but I can’t see myself doing it for the rest of my life. I have greater ambitions than that, and what’s stopping me from pursuing them is that implementation of big things is really hard. If AI makes implementation much easier, then that makes pursuing those things really worthwhile.
Without software engineering, what exactly do you feel you bring to the table (so to speak). Is there something you have that no one else does?
Because, to be blunt, if you don't have that something, why would an AI doing the grunt work help you? Everyone else will have the same advantage.
And if you do have that something, why let your day job stop you from tackling it?
I just don't understand why AI would change anything fundamentally for you.
> Without software engineering, what exactly do you feel you bring to the table (so to speak). Is there something you have that no one else does
I know how to talk to people, I have 30 years of industry experience and I’m technical and up to date. Other people have that combination of skills but it’s rare enough.
We can name the professions that won't eventually be wiped out, but not a lot of them are suited (or palatable) to middle-aged dudes.
I have 20 years left on my mortgage on a one bedroom apartment so I would very much hope this is not my last software engineering job!
do hard things.
Even if AI gets to the point where I can lazily describe any software project I want and it will make it for me, even better than I described it, I'm 100% sure that nothing will stop me from moving on to other projects short of death/being incapacitated.
I doubt AI will be getting to that point in my lifetime, but if it did, it would be amazing
If AI got to that point in my lifetime I'd quit software engineering. That sounds like a fucking mind numbing job. I'd go be a goat farmer or something before I become a professional chat bot chatter
Most of software engineering (differentiating from programming) is just iterating on a model of a problem space in enough detail that computers can be applied to automate a lot of the drudgery.
Software is nowhere close to done "eating the world". I see endless opportunities to apply software to remove drudgery; anything that helps me do that faster is a win.
Everyone has a level of abstraction they're comfortable with. I enjoy working in C++, and I tolerate working in Javascript for work. I wouldn't be good at writing assembly, and I would dread talking to chatbots to tell them what code to write. I enjoy solving problems, not describing them to chatbots.
I think we are far, far, far away from LLMs taking away engineering jobs.
This is just resume driven development.
Good for you wanting to grow and stretch your limits. I do too!
I just prefer to not do so at the expense of my team, coworkers, and community. RDD is inherently selfish, and I’ve personally been burned by others doing this kinda stuff. Maybe a false dichotomy, but I’m thinking you’re ignorant to the problems you’re causing others, or you are aware and are just a bit antisocial.
Open to having my mind changed though!
Maybe I missed it but I don't see that explicitly in the article. I see someone who learns for fun and for their growth.
That being said, yes people can take it to the extreme just to put something on their resume...working on unrelated nonsense at the expense of the team. I've been on the receiving end of this and can't stand this immature behavior.
In fact, the two times I've experience it, it was the least concretely useful person on the team (but not a junior). When their BS is called out they ended up leaving one way or another instead of changing behavior.
This is different from someone who loves learning and applies broadly learned lessons in day to day work.
I know Chris well enough from his writing and some conversations that I can vouch that "resume-driven development" is absolutely _not_ his motivation here.
Chris is one of the most thoughtful and insightful engineers I can think of. He has a love of actual programming, but also deeply cares about how programming and technology have an influence on us as programmers and the rest of the world.
Given that, this post is him expressing his interest in learning technologies because they look interesting and potentially useful, but also giving reasons to _keep_ learning over the course of your career rather than getting stuck in a rut.
I probably didn’t even need the personal vouch to realize I likely read this with a lens of heavy disdain for rdd.
I whole heartedly agree that it’s important to keep learning over the course of your career. And I believe you that the author is aware of the nuance. But I think it’s also incredibly easy to read this piece as “add rust to your .net shop because it’s good for your career”.
I don’t know the author. But if I had to pull numbers out of thin air and take a guess, I’d venture 95% of .net shops where an engineer said “let’s do this new thing in rust” was overall a terrible decision for the team and a good decision for the individual engineer, everyone else be damned.
It’s wholly unfair of me to criticize the author specifically without knowing the context of the problem he was solving. My original comment was not worded well, but it was not as directed towards the author as it reads as, but more as a general counter commentary to the point the author was making.