Posted by goostavos 2 days ago
What do you say to someone that is bothered though? I don't know why it effects my enjoyment so, but it does.
My problem with AI is that it now excels at the part of the job that was my favorite (writing code) and it leaves me to do the part that I suck at (being a manager). In 18 months or so my job satisfaction has gone from pretty high to abysmal.
This is ok. You will process the change, and you'll come out stronger for having done so. It takes time to decide what you want to do in the world, and even more time to decide how to react to the world changing and moving away from your planned path. And it takes even more time to actually see if the world is moving in a way incompatible with your plans.
It will be tempting to cycle into negative predictions and negative self-talk. This will not help, and will not be productive.
You, ryandvm, built a career around something you love, and that is amazing. You can choose to do it again, to find something you love, to be stalwart about how you work and who you work with, or any number of other options. The thing that nobody can change is your agency.
I struggle with the nature of work every day, and have for months. It has caused me to re-evaluate what I work on, why I do it, how I structure my finances, where my kids go to school, literally everything. Still the ship turns, as it must.
Reach out if you want to chat.
I don't feel like it's patronizing to remind people about achievements they've accomplished and that they're still a capable person. Nothing we say to each other here on HN should be taken as "This is how you must live you life" but more like "Here's is something I hope helps you, if not, no worries", as we hopefully assume good faith out of each other.
I too have lost something I loved, I gained it after years of relentlessly focusing on maximizing what I loved and minimizing what cost me energy. And now the world flips on me.
The good news? I got pretty good at consciously finding the energy givers and drainers and optimizing for the givers, so I'll just keep doing that. I'll either start enjoying micro-managing LLMs, or find something else entirely. Or find that the LLMs need less and less micromanaging, or start enjoying whatever they need next year. (Point an army of agents in a direction?)
I came from the molecular biolab with Linux as a hobby, then when to software dev and infra. What's next ? Idk, I still love biology, keeping eyes and ears open...
* I made the classic mistake of assuming the present was permanent. It never is anyway, small changes always ruined the present. The accumulation of small changes over my career has changed the way I work probably as much/more than AI has changed it this year, if you can believe that.
* I discussed the family budget with my wife, and made a plan to halve our income requirements. It will require a race in the short term, but allows a coast later on. This is key for me - almost all my tension regarding this phase is about the future earning potential of our household. If that goes away, who cares how work changes?
* I made the other classic mistake of not remembering how much I have changed and adapted over time. The breadth of things I have worked on is pretty remarkable, and the things I have learned to do are crazy. While things are changing fast now, they aren't changing quite as negatively or immediately as some claimed they would. There's room to adapt.
* I stopped assuming I had to work the way people said I should. Aside from CEO mandates, there's a ton of wiggle room in how you produce code. I read changesets and make manual adjustments to the pattern, etc. I write my own parts when I want to. I specify a design that I want rather than asking for whatever the AI wants. I get to own everything but the typing that way, and my RSI is improving dramatically b/c of it.
* I use AI to set up programming challenges when I feel disconnected. It sets up a tangible problem, and acts like a coach only when I need it. I use this to preserve the feeling of sharpness. Earlier this year I challenged myself to write, in C, from man pages only, a "ping" and "traceroute" clone. I did so on a flight back from a work trip.
* And I started reaching out to friends to hang out more. It's hard to doom about AI when your friends and you are having a beer and playing Container or Captain Sonar. Life has always been what's "out there" not what radiates from your monitor.
Derek Thompson, in "I Know Why the Mathematicians Weep": "If intelligence becomes less uniquely human, we may come to value more highly what remains uniquely human: our capacity to relate and to care for one another".
Funnily my bot was called Cladius van der Bot, nice name ;)
I doubt most people will be developing a rapport with an AI agent trying to sell you that contract at work, or helping you when you're irate and have escalated a problem a few times.
All of those except for therapy are awful career fields. Musicians, actors, artists (outside the tip top of the field) are all the butt of jokes about how broke they are. Social work chases people out once they realize how powerless they are for such poor pay.
Therapist might make out well for a bit, but it seems like a loaded term these days .
If you're aiming for the top, sure. There are plenty of people who make a living doing stuff like that and are happy because they enjoy it. You're unlikely to be one of those people if you move to an area where there's an extreme over-supply and try to "make it big", or try to be "pure" to the art and eschew commercial options. e.g. An actor in LA, the starving artist in a loft in NY.
> Therapist might make out well for a bit, but it seems like a loaded term these days .
Loaded how? I was thinking of psychologists, licensed mental health professionals, physical, occupational, and speech therapists.
People could learn things on their own but still pay teachers
Trainers, coaches, therapists… yes.
even the job of freelance engineer is customer relation. how good are you at extracting product requirements? understanding a clients workflows? these take relational skills and are often what freelancers are paid for, beyond the ability to produce code.
Maybe we just sit around campfires and tell stories as the billionaires warm their hands on their burning data centers.
Don't forget that everything anybody owns is just a system we invented, my house, my garden, only a piece of paper that we all accept keep others from it.
We can reinvent ourselves. Idk, to me this is a comforting thought. But I agree it's still lacking. It's not simple, discussing things online helps develop language and vision around it.
I stopped assuming I had to work the way people
said I should. [...] I get to own everything but
the typing that way
I think this gets to the heart of my disconnect with the "I miss coding" crowd. I still get to do most of the stuff I found fun w.r.t. creating software.Typing the actual lines of code was fun, sometimes, but it was never the goal. I feel like I'm still solving the same problems.
No amount of processing will move someone from ordering a steak to just enjoying their given peanut butter sandwich instead. They ordered the steak, and now the restaurant is telling us all too bad there's no steak anymore - eat your damn sandwich.
The comment you're referring to aims to be helpful and empathetic, but the fundamental problem with it is that it essentially dismisses the very real problems people are raising. It tells you that the change is inevitable and that you shouldn't and/or can't fight it. It tells you that what you're dealing with are your own feelings and, although they're "valid" (in the sense that it's understandable and human to have them), you need to work on overcoming them or finding a way around them. And if you can't, then you should either move out of the way of the progress or you'll remain unhappy.
It's an incredibly frustrating way of being talked to, one that I've seen managers employ quite a lot. I call it the "management aikido", because it takes your own impetus and turns it back on you, by reframing whatever issue you brought up to put the onus on you. Most of the managers I've seen use this technique believe they're doing a good thing by "empowering" you to deal with problems. What it does, in fact, is discourage you from raising issues in the first place.
On top of having the same "management aikido" vibe, @jvanderbot's comment ends up being "socially insensitive", for lack of a better way of describing it.
Over the course of history, we've seen great shifts -- typically tied to technological evolution -- that caused significant suffering to a group of people but (arguably) ended up being a net positive for our society. And when we look back, we inevitably feel a sense of empathy for those people and we recognize that what happened to them sucked and we express the hope that maybe next time we could do better as a society.
And then it happens again, like it's happening now, and we not only fail to do better as a society, but we talk like trying to do better is unreasonable.
That, in essence, is what makes @jvanderbolt's comment sound "religious" to you: the unquestioned assumption that what is happening is supposed to be happening and that it's you who has a problem that you have to work on.
I'm definitely stealing "management aikido" by the way, thanks for that. :)
Even if one were to continue doing everything by hand, it will still be harder compared to others who aren't. As in, companies will come to expect more/faster work than you are capable of, so it still affects us old farts that don't want to change.
We'll find something else, sure, or just retire... but not everyone is/was ready to.
I'm not sad on a personal level per se, I can still be positive and look to the future, but I lament what we increasingly no longer have.
I've always taken the view that it was luck - lucky that my interests aligned with the market, lucky the market put value in what I am interested in doing, and lucky that I was given the chance.
I was never in it for the money, I was always in it for the enjoyment, and I will remain in it for the same thing.
The market for my knowledge and skills might come and go, there might have been a brief moment in history when someone like me could make a living off these skills, but like so many other creative careers that time was always going to be fleeting
I worry about burnout.
Then the next day after this brain haemorrhage inducing experience I just waste 2h remotely on gathering mental capacity to simply know what next I need to do and next 2 says I repeat until weekend.
Simply because my boss is developer in love with LLM and machine gunning 20 PR daily.
Not to mentioned PR with more code than I can reasonable can understand and say anything about it in a project I didn't touch.
So, currently I can only say I hate my life. I'm looking for an idea which pays similar but is as mindless as humanly possible
I went from being a passionate programmer spending all my free time working on code, to be unable to write a single line for even my most loved personal projects for 6 months. Fully awake, in the middle of the day, I would boot up my computer and within 10 minutes my body would put itself to sleep. I'd wake up hours later with my laptop barely past the login screen. It took me 6 months before I could do personal projects again. 1 year before I could do professional work again. 2 years before I could juggle both. I've fully recovered (or at least I did right before LLMs hit the scene), but it takes a lot of time and I lost a lot of money not working for that year. If I could go back in time, I would have quit that job earlier because it is far easier finding jobs as a passionate developer rather than a recovering burnout.
Do they know they are, essentially, expending you?
It seems like your boss is doing work that doesn’t actually add value without you to review the code. But maybe the company isn’t set up to fairly evaluate the fact that review provides more value than creating code, with a workflow like your boss’s?
I don't about the OP's specific situation, but there are definitely managers and management consultants that consciously try "expend" their employees.
Jeff Bezos is a famous example. IIRC, to avoid "complacency," he wants constant turnover of employees. Hire new people, burn them out while they're new and enthusiastic, then replace them. That's why it's occasionally leaked that Amazon consider such-and-such employment market mined out (e.g. everyone's either worked for them or is wise to their ways), so they have recruit further afield.
When I joined I thought this is peaceful place, after a month this changed tremendously.
And this is third job like this in a row so I have no hope to find anything even slightly as peaceful as 5y ago
If my boss talked to me this way I would leave as soon as possible. Update your resume and get searching, I wish you the best of luck.
Get resumes out.
https://jacobin.com/2023/03/automation-union-busting-product...
Outside of LinkedIn Lunatics and social media engagement bait, I agree that nobody is saying you can't enjoy programming.
Of course we can all still enjoy programming. I still do some personal projects manually. It's fun and it also keeps my skills sharp.
It also makes you realize how much non-optimal stuff slips into entirely AI written codebases if you're not paying attention to the code. I can push on Opus 5.5 or Astra all day and get output that works, but when I get into the code and start processing it myself I ask a lot of questions that result in "You're absolutely right!" responses followed by having the LLM clean up what it did.
The sad part is knowing that the golden window or programming job enjoyment has closed. We had a relatively small window where software jobs paid extremely well to do work we enjoyed. My happiest career memories were working with small teams at startups where we would sit in a room together and be focused on coding for hours.
I'm sad for a second reason: The years before AI took over, my jobs had been trending away from that focused coding time for other reasons. The trend in the industry was to stuff companies full of roles like product owner, scrum master, cross-functional project managers, and other roles. These are highly valuable in small quantities with the right people in place, but at some point it got out of control. Most of the companies I was with felt like a constant circus of meetings and debates over what to build, with little time left for that focused coding work anyway. I still cringe when I remember a meeting with a CTO who explained his target ratios for engineers to designers to product managers to engineering managers to project managers where we realized software engineers were becoming a small minority on the software engineering teams. I disliked it at the time, but now I'm extra sad that my last window of possible focused paid-to-code time was spent mostly in meetings and Slack debates.
When you do that, a team can just go. Instead, in many places there's all this bullshit about "Application X is built by Team A, but Team B and C will do the QA." Or "Team D is in charge of Applications Y, Z, and Q, so they can't get to your feature request for Q this PI, because they've got high-priority work for Y and Z." So now you've self-blocked all work on Q just by screwing up your org chart. And we haven't talked about the fact that Team A is in the US, Team B is in Europe, and Teams C and D are in India, so now let's add time zone nonsense to all of the above stupidity.
You don't need as many of those ancillary roles if people involved actually understand Lean and how to run an SDLC, but in my experience, there are too many devs who don't care about anything other than slinging code and too many managers more interested in expanding their own rice bowls and looking important than in actually streamlining how stuff makes it to prod. And then you need a pile of PMs or Scrum Masters to sort out the mess.
If anything, I enjoy programming more now with AI assistance, not vibe-coding. The depth and breadth of my work has increased greatly (yes, I still read and write a lot of code and documents, that the agents build on); I'm like a kid in a candy store.
Projects that would have seemed too daunting now seem feasible to tackle. I could even get started on implementing my dream language, or a knowledge management system for agents, or ... the possibilities are endless.
Now, my software engineering is for my own company, maybe that makes a difference. There is no one breathing down my neck to use more AI where it does not make sense, or to use AI this way or that. I am in the driver's seat, and I only delegate to AI what I need it for, and what it is good at. There is still much that is required of me that the AI cannot do, not anytime soon.
That is 100% the difference. Most people working as employees aren't passionate about the company as an entity. They won't love your baby like you do. What they did love was taking your baby for walks; now they're left with just changing dirty diapers.
Ever since AI reached a certain level of quality, I haven't been able to stop (vibe) coding. I've discovered that I really enjoy designing and building products, more than tinkering; occasionally, I come across algorithms or other technical details that I find interesting, and I switch to manual mode.
At some point in my career, I just got tired of having to read tons of documentation for fragmented libraries and frameworks, and AI is a "solution" to that.
Cynically, this could be seen as plumbing, but there's an art to designing efficient and usable products, that I personally enjoy very much.
People enjoy different things. Its not strange. Treating it as strange is kinda insulting, so I'd recommend that you rethink how you phrase this.
Yes! Which means that the argument frequently seen here of "AI is terrible because everyone hates using it" is not valid.
Seems like the same old story. Rude people defending other rude people so that they can collectively continue to justify their own rudeness. Usually with arguments that don’t stand up to scrutiny. And usually using a fresh account.
While interests have a wide variety of norms, communication has a much smaller space of shared norms, and "strange" implies a negative value judgement in most of them. I'm comfortable with my comment.
I feel that the fact that people feel the need to pile on people who enjoy writing code is a problematic trend on HN, whereas telling them to maybe consider other peoples' priorities and preferences is not. The paradox of tolerance is apt here.
> Strange implies a negative value judgement
It sounds like you've internalized some negativity around being "not-normal" -- how I would define "strange".
In a society of vice, greed, and perfidy, acting nice for no reason is "strange".
So, as many things that can be compared and have a "normal" can be strange.
Deviant implies negativity, but I would say pacifists are "deviants".
Any negativity with "strange" has to come with context.
Well that’s your problem right there, also a wider problem in programming culture. You might have had a lot more fun if you minimized dependencies and just built everything else you needed on your own. That’s fun, more fun than Vibecodin anyway. That said most programming jobs even in yesteryear was framework management so I’m not surprised people are happy to give that off to AI.
From my anecdotal experience it absolutely is more fun (I yearn for the early days when this happened more), but it's also extremely inefficient and slow when you need to ship a product, and increasingly difficult when your code has to run on high-level platforms (like the web, mobile, etc). Building frameworks and re-inventing wheels is one of my favorite things to do, but it rarely makes business sense to do that unless you're in a very niche space.
Been working on my own ORM / Framework for 15 years at this point. Had a laundry list of things I wanted to finish that would have taken me another 3-5 years and it was done in about a month. Still controlled every function name, every preference, every comment, even went in and manually rewrote function names and adjust how it did things. At one point I had to manually intervene in an algorithm because the AI fucked it up badly. Most of it's first try was garbage. It's true. But still in the end I didn't really have to type it out. Sometimes you've been living and breathing a code base for so long that you can just skim the function names and their contents and be content. So that's what happened. It only took a few sessions and I was done.
So it's over. Not only is it "done" exactly to my preferences with exactly all the right method names and configurations I have always dreamed of. It also has 100% unit test coverage AND on top of that I have a suite of benchmarks profiling it against similar libraries in order to provide an honest assessment.
This would simply not be possible before AI. It's a little bittersweet that my ongoing project is "done" but now I'm building things with it. So it's not all bad.
I encourage you to stop calling it "vibecoding" when you are, I presume a long time software engineer, and shove your hand into the guts of the code and force it into the submission sometimes.
> just built everything else you needed on your own
Exactly what I'm doing. Made my own task manager. Have my own harness. Have my own fork of $browser. Whatever.
I'm okay with this.
That seems like an solution to the kind of programming that is piping together little pieces of business logic with all kinds of different APIs and services all over. I agree that AI is helpful to distill the piles of documentation and things to learn.
But I mostly enjoy a different kind of programming where you work on a big complicated problem / business logic that sits mostly within the bounds of a defined language setting. The craft of finding more and more elegant, far-reaching, and correct abstractions, and then being able to build things out confidently from those well found abstractions is, in my mind, the greatest joy, and also what AI seems the worst at.
> AI is a "solution" to that
Reading AI documentation/notes is better then? Or is the implication that you can oneshot all apps/code without reading the claudespeak that explains it?
Not necessarily one-shot, but still in a fraction of the time it would take you to manually wade through the implementation.
This was pretty much already the case half a year ago, with some more patience and tolerance for worse UX.
Nowadays we're getting to the point where the autonomous implementation can deliver UX like software produced by teams at Apple or Google and the like, and with optimized performance.
i'll have a specific technical architecture in mind -- API specs, a list of cloud services, a general idea about how code should be broken into modules. i'll write it all out and let the pieces get filled in by AI.
it's not really 'vibe coding' as the term was originally envisioned where you just describe a top-level goal (e.g., "make me a new version of minecraft. no mistakes please."). it's a different level of abstraction where the models are primarily doing implementation and not design.
for me this lets me do the fun parts of designing software BUT i don't have to slog through documentation and learn a bunch of DSLs to get it going.
I'm much more on your side personally though, because first, when you know there's a better and faster way to do something it does take away from the enjoyment of doing it the old way. Some of the enjoyment for me came from being unusually good at something vs. everyone else.
And second, even my hobby projects are always something that I want to make real, more than they are something that I want to do just for the fun of working on them. Even though I enjoyed the programming and puzzle solving process, the end product is still the main goal. So I'll be using AI at home as well (and it is nice to reify projects faster than before).
And all this also ignores the fact that even "only" losing your enjoyment of paid work, and not your hobby work, still sucks!
Having said all that, I recently read Use Of Weapons (1990) by Iain M. Banks and this passage encouraged me about the future:
"Can’t machines build these faster?" he asked the woman, looking
around the starship shell.
"Why, of course!" she laughed.
"Then why do you do it?"
"It’s fun. You see one of these big mothers sail out those doors
for the first time, heading for deep space, three hundred people
on board, everything working, the Mind quite happy, and you think,
I helped build that.
The fact a machine could have done it faster doesn’t alter the fact
that it was you who actually did it."
"Hmm," he said.
"Well, you may 'hmm' as you wish," the woman said,
approaching a translucent hologram of the half-completed ship,
where a few other construction workers were standing,
pointing inside the model and talking.
"But have you ever been gliding or swum underwater?"
"Yes," he agreed.
The woman shrugged. "Yet birds fly better than we do, and fish
swim better. Do we stop gliding or swimming because of this?"
He smiled. "I suppose not."
"You suppose correctly," the woman said.
"And why?" She looked at him, grinning. "Because it’s fun."AI excelling beyond a human at writing code is not an objective truth.
I would say even without AI, a manager telling a developer what to code or how to code, will never be better than that engineer themselves being the driver and the developer.
For me personally, quality code has a strong human component. Only I know what's best for the code, based on:
1. my deep understanding of the long history of the organization and of its mission and concepts 2. my intricate personal relationships with the users and the other developers 3. all of my hundreds of unique, personal experiences troubleshooting problems, which are always a combination of code and interpersonal relationships, the open source community, and opposing stakeholders.
Until AI becomes AGI (and that's a big if) and you can train it on 43 years of experience, it will just be an approximation of a true person's holistic engineering pedigree. It will always be asymptotic to true competence. It will always be second-best, even with a human driver.
Now I can work on much larger and much more challenging projects where I care more about the end result than learning little details.
Something has certainly been lost, but I’ve at least gained something else in return. I can also do use an empirical approach now, like testing whether a big change would be beneficial without having to map it out and try to estimate the effect. This has made what I try to work on more research-like than engineering-like; I’m trying to figure out if something is possible rather than how to best implement something I know is possible.
I still worry that soon there won’t be any way to contribute economically, that the machine will eventually be better at everything, but this is a much broader problem than just software or even engineering.
It is an amazing time to be alive, scary and uncertain, but amazing nonetheless :)
Now I understand the meaning of the famous opening sentence of the 1859 novel A Tale of Two Cities by Charles Dickens: “It was the best of times, it was the worst of times, it was the age of wisdom, it was the age of foolishness, it was the epoch of belief, it was the epoch of incredulity, it was the season of light, it was the season of darkness, it was the spring of hope, it was the winter of despair.”
Edit: I really don't understand the down votes, what did I say that's do bad?
Edit: To add to that, even in my "micro-mangaged" projects, the parts I didn't review end and treat like a block box temporarily up being the parts that introduce bugs.
My problem is it doesn't even do that. LLMs still aren't good at writing code (despite the hype) and you have to review everything they produce, which takes just as long as writing it myself would. But the industry is falling all over itself to use them to write code, doing a worse job than humans would. It's extremely frustrating.
Something has to give; the constant onslaught of slop and workflows changing every few months just isn't sustainable. Either we slow the fuck down and figure out what we're even doing here, or the AI improves so much that we're all out of a job.
From what you're always commenting, I could believe that you were exclusively using Haiku 4.5, which would explain how the tool produces only garbage while the rest of the world pretends AI was great.
Just out of curiosity, do you use like Opus 5.5 in Claude Code, and you still find the results inadequate?
All features should now be created via this workflow. It’s basically a ticket going in, a few rounds of questions back and forth with the LLM, then waiting for an hour until it finishes.
Then having to read/review 2k lines of AI-generated code. It’s terrible.
I have always been the opposite, despite mostly having IC roles in my career. Still, I don't enjoy the change, mostly because the UX of this tooling is absolutely miserable when you need to do anything serious with it. I am past the point where I thought it was user error and think it's just fundamentally baked into the ecosystem to be annoying to work with. At least in most management situations, the employee isn't going to gaslight you, question every tiny decision you make (or worse, subvert ones it finds more 'favorable' for itself) or just make up wild, easily disprovable bullshit in a constant stream of verbal fecal matter. I've worked with maybe one person that came remotely close to that and they were easily ignored. This stuff's persistent and unavoidable.
I am getting a lot more done, but I am a lot more tired.
It may be obvious to conclude that good programmers are good reviewers but I think all variations exist. I wonder how many people don't like their jobs anymore because they don't like reviewing code written by AI.
By far my biggest use at the moment is just getting all the software I use to function as I want it too.
I love solving problems, programming was always about that for me. The sucky part was always "I know the solution and written it out, now I need to use a text editor to actually make it work like that", and the fun part was always figuring out how to solve the problem, making sure it actually does solve it in real-life, and once it's been implemented, iterating on it until it gives people some sort of pleasure to use.
Most of the other passionate programmers I've met in life have thought about programming the same way, all of us favored approaches with less code, not more, because typing sucks and is slow, and more code means more bugs. I haven't met any of you "I love typing special characters into a computer" people in real-life, and I'm wondering where I could, because clearly it isn't just you who feel like this, seems there is a somewhat large section of programmers who enjoyed the typing experience more than the problem solving part of programming.
What's always been clear, is that people get into programming for different reasons, and some of those reasons might no longer lead to the lucky life of working with what you love and get paid handsomely for it, which sounds terribly sucky and scary, and I do feel for the people that now have to face this.
Regardless, I apologize if I misunderstood "writing code", I take that to mean "typing code" as the other stuff we do around is more "problem solving" than anything else, regardless of what the activity is (thinking, designing, troubleshooting, etc).
An interesting HN search for comments with "I love writing code" that has some false-positives, but has programmers stating clearly they like the action of manually typing code: https://hn.algolia.com/?dateRange=all&page=0&prefix=false&qu...
Nobody enjoys anything that isn't problem-solving, with debatable exceptions for drugs and hormones. Fun is learning. The learning is either subtle and inexplicit, or partly subtle and inexplicit. You engage with a medium, you interact with the work, you make edits, you learn stuff. If you're shepherding an AI then you do all that on a different level, in a different way, a way that isn't better as such. You're doing a different thing. (Meanwhile, the AI doesn't have any fun.)
I've also never really experienced that professionally. I started as a professional programmer in 2012 and I've always been pushed to do some form of "agile" where you figure stuff out while you work because building detailed specs upfront is too costly and time consuming
So now I'm being told it's fine to pivot to these AI tools and it's awesome, you just plan upfront and execute. But I genuinely don't think I have those skills. My workflow has always been "have a rough idea where we're going and fill in the blanks as we go"
So now I'm trying to adjust to this new work, planning upfront with more detail and I'm struggling.
Coding is how I used to work through problems. I was really good at it. Now I feel like a fraud. Just a hacker, not a software engineer. I don't know how to get to where I need to be, and I'm really unsure I even have it in me to learn and entirely new way of being
I went from feeling on top of my life, my career on a great trajectory, and really confident I could build anything that anyone needed, to feeling completely worthless
And there's such little empathy out there for anyone going through it like me. AI is here now loser, keep up, get on board or get replaced.
If you read this far thanks. And if anyone has any advice for me, how to go from "thinking through problems by coding your way through them" to "doing the thinking upfront" then really, I'm all ears.
Comments such as "now that economically 'traditional coding' no longer works" get over it. Or a recent one "get over your anthropocentric view of intelligence, AI is here now".
These views (and many more besides) are short sighted, I do think anthropocentrically. The economy is a proxy for the lives of real people, the economy matters only because it deals with real people. People who feel, have agency, who live and die.
Two super AI's talking to each other maybe the most intelligent things in the universe but they don't matter.
Humans matter, human lives matter, human feelings matter.
I think that this really needs to be internalized by a lot of people. I really appreciated when my boss sat our team down and said "Yeah this is the new normal, and I know its not what you signed up for. Its fine to feel sad that your job is changing in such a dramatic way." No, it didn't help anyone actually adjust, but sometimes you just need someone to empathize and tell you its OK to feel bad about this when everyone around you is excited.
> If you read this far thanks. And if anyone has any advice for me, how to go from "thinking through problems by coding your way through them" to "doing the thinking upfront" then really, I'm all ears.
I'm trying to replace it with "thinking through with AI" to limited success. A lot of people recommend having the AI "plan" the thing and review the plan, which is OK. I've also had it do a prototype and poked around a bit, summarized the learnings, and then did it again in an iterative manner without rough edges I've found. Whether you are given the space to do that is up to your org -- its hard sell to "do it again" but I've found that the second attempt leads to better results since I can prompt my way around the problems. Sometimes this also leads to a "Not even wrong" moment where I found out that I framed the problem wrong and the AI dutifully carried out doing the wrong thing.
Unfortunately, I don't have a lot of first-person advice for you; as I say in that essay, I was also a bottom-up programmer for a long time and was deeply skeptical of top-down approaches. What changed my opinion and my practice was just doing things for long enough that I started having a sense of where things were going to go before I did the exploratory work to find it out, and eventually the exploratory work was unnecessary and I could create a basically-correct top-down design early on. I don't know how you build that experience without actually getting in the reps (which has some implications for future generations of developers, if we have any).
That said, my second-person advice would be to use the agents for the design part of things, too. "Here's the problem, how would you design it?" and then have a conversation with them, push back on the things that seem wrong, imagine reviewing this as a finished design from a coworker and seeing where it looks right and where it doesn't. Ask why it designed things a certain way; suggest alternatives for it to evaluate and think about what it's weighing. Basically borrow the robot's experience to augment and build up yours.
One-shotting without review is very quick but has its downsides: burnout, less understanding of the code base, less interacton with your colleagues, you miss the poor choices the LLM made so the code base might rot.
Writing everything manually is much slower and in some circumstances not what you want anyway.
Is there a middleground where you get significant parts of the productivity/speed increase but retain the most important parts of the manual process? I have found I preferred the copilot style of working, but the interface was not really optimized.
Instead of spewing out code at 20x speed can we settle for 5x and remain in control? That would be my ideal and more sustainable, right?
Who is forcing you to use AI?
I think someone here occasionally opens ChatGPT web, free version of course, and copy-pastes some fragments. They claim it is still very, very far off from being useful. At first I was feeling sorry, but now I feel awesome.
It’s amazing. It’s like living in a museum and the pay is great too. I always wanted to leave tbh but now I’m heavily reconsidering riding this one out..
"Enjoying programming" for me as an engineer/computer scientist is akin to mathematician studying topology, enjoying idk, arithmetic or solving quadratic equations". Whether someone actua, lly gets dopamine from it strictly personal but in the grand scheme of things those are trivial things below me.
Sadly lots of "programmers" are really just "technicians" that happened to pick up skills in some niche and didn't approach computational problems from first principles.
Then AI came a few years ago and that was interesting as a tool to play around with and do some simple small code (snippets) generation or as a buddy to discuss problems and find solutions. Meanwhile I was getting more and more bored with implementing stuff that I did already so many times at previous jobs. Same principles, different code base.
Last year I started at a new job and was at first hesitant, but I decided to go 100% AI with doing a rewrite of an existing application that will be phased out. So actually I could develop from scratch with the help of AI. First I copy/pasted code, then this year I found out about AI agents.
Never in my life have I been so productive in creating features/functionality while the code that AI generates doesn't differ that much from what I would have written myself. But then in a few prompts and 10 times as fast. Including unit tests. Which at many places that I worked were more often not a thing, then that they were.
Looking back at my 'career' it also made me realize that I do like "tech", but don't like coding as much as other software developers, I guess. I really like AI to make functionality and things working in a very short timespan. I enjoy 'AI-coding' much more than I'd have thought. So many things that you could/would not even try because it would cost too much effort, time or money. Now I can test within a morning a few different features to see which one fits best and works best.
I am now a happy 'developer' like I was when I started in this career a long time ago. I don't miss the coding part, at all. And AI will only improve, so personally I don't see a bright future for a lot of software developers to be coding in the traditional sense.
How do you know that? Do you read AI code? I heard (DHH, Uncle Bob, my own co-workers) that reading the code is no longer an economically viable activity. And if you are not reading the code, how would you know what it looks like.
That's the reason why I still try to inspect the generated code to see how my problem was solved and if it reads plausible. There are also moments that I am surprised by the implemented solutions which look very elegant and "smarter" than what I could have come up. These are also the moments I learn from AI. I can even ask AI why it did things certain ways and it gives a nice summary of arguments. But I am often also critical towards AI if I am in doubt, resulting sometimes in a sort of discussion and sometimes I can convince AI (with more context) that the solution it created should take another route. It really feels like working with a really fast co-worker. And on top of that, I am better in writing up my thoughts to discuss things instead of talking with someone. Doesn't mean I don't discuss in real life with co-workers, but it is so easy to use AI for it too.
Yes of course. But sometimes, when no one is watching, you can quickly sneak a peek at the code changes. It's ok!
I claim that AI "writes 80% of my code". But realistically I am in the hot path of my agent ("cd repo", "claude", "do X", "fix Y", "no not like that"), and that's essentially equivalent to writing by hand. I am afraid others will soon see through my charade.
When 20% of your waking hours are free, and 10% of your mental energy.. it's pretty hard to argue that work isn't your life.
One simple change that has really helped me is to take the git tool access away from the AI. This has made me quite critical of AI excesses in the design of the code and I feel free to rollback its changes and to request redos. I grok the changesets better as a result.
I rather think of it as 'controlled', and I am (hopefully, crossed fingers) getting more maintainable and better-designed results out of it long-term compared with my peers' results.
Anyone who can speak with any nuance on where humans (the only actual intelligence on earth) can vastly outperform the best models has their voices buried.
Algo feeds are a plague brainwashing people with news/info about only on the extreme views thanks to it optimizing for engagement to serve the most ads. Your favorite really really smart but boring professor's thoughts from University would never get shared online in todays world for example.