AI is sometimes a productivity booster for a dev, sometimes not. And it's unpredictable when it will and won't be. It's not great at giving you confidence signals when you should be skeptical of its output.
In any sufficiently complex software project, as much of the development is about domain knowledge, asking the right questions, balancing resources, guarding against risks, interfacing with a team to scope and vet and iterate on a feature, managing resources, analyzing customer feedback, thinking of new features, improving existing features, etc.
When AI is a productivity booster, it's great, but modern software is an evolving, organic product, that requires a team to maintain, expand, improve, etc. As of yet, no AI can take the place of that.
I am under MUCH more pressure to deliver more in shorter periods of time, with just me involved in several layers of decision making, rather than having a whole team. Which may sound scary, but it pays the bills. At one company I contract with, I now have 2 PMs; where I am the only dev on a production app with users, shipping new features every few days (rather than weeks).
It feels more like performance art, than it even feels like software development at this point. I am still waiting for some of my features to come crashing prod down in fantastic fashion, being paged at 3am in the morning; debugging for 12 hours straight because AI has built such a gigantic footgun for me.... but it has yet to happen. If anything I am doing less work than before - being paid a little more, and the companies working with me have built a true dependency on my skills to both ship, maintain and implement stuff.
My organization would still hire as many software engineers as we could afford.
- Stack Overflow has to be actually dead at this point. There's no reason to go there, or even Google, anymore.
- Using it for exploratory high level research and summarization into unfamiliar repos is pretty nice.
- Very rarely does AI write code that I feel would last a year without needing to be rewritten. That makes it good for things like knocking out a quick script or updating a button color.
- None of them actually follow instructions e.g. in Cursor rules. Its a serious problem. It doesn't matter how many times or where I tell it "one component per file, one component per file", all caps, threaten its children, offer it a cookie, it just does whatever it wants.
It’s mostly seen as a force multiplier. Our platform is all Java+Spring so obviously the LLMs are particularly effective because it’s so common. It hasn’t really replaced anyone though, also because it’s Java+Spring so most of our platform is an enormous incomprehensible mess lol
Mostly of having to try and explain to people why having an AI reduce software development workload by 30-50% doesn't reduce headcount or time taken similarly.
Turns out, lots of time is still sunk in talking about the features with PM's, stakeholders, customers etc.
Reducing the amount of time a dev NEEDS to spend doing boilerplate means they have more time to do the things that previously got ignored in a time poor state, like cleaning up tech debt or security checks or accessibility etc etc
- A lot of our code base is very specialized and complex, AI still not good enough to replace human judgement/knowledge but can help in various ways.
- Not yet clear (to me anyways) how much of a productivity gain we're getting.
- We've always had more things we want to do than what we could get done. So if we can get more productivity there's plenty of places to use it. But again, not clear that's actually happening in any major way.
I think the jury is still out on this one. Curious what others will say here. My personal opinion is that unless AI gets smart enough to replace more experienced developer completely, and it's far from that, then I'm quite sure there's not going to be less software jobs. If AI gets to a point where it is equal to a good/senior developer we'll have to see. Even then it might be that our jobs will just turn into more managing AI but it's not a zero sum game, we'll do more things. Superintelligence is a different story, i.e. AI that is better than humans in every cognitive aspect.
Tired of leadership who think productivity will raise.
Tired of AI summaries sent around unreflected as meeting minutes / action items. Tired of working and responding on these.
If people can seriously have an AI do 50% of their work, that's usually a confession that they weren't actually doing real work in the first place. Or, at least, they lacked the basic competence with tools that that any university sophomore should have.
Sometimes, however, it is instead a confession "I previously wasn't allowed to copy the preexisting solutions, but thanks to the magic of copyright laundering, now I can!"
AI helps here and there but honestly the bottleneck for output is not how fast the code is produced. Task priorization, lacking requirements, information silos and similar issues cause a lot of 'non-coding work' for developers (and probably just waiting around for some who don't want to take initiative). Also I think the most time consuming coding task is usually debugging and AI tools don't really excel at that in my experience.
That being said, we are not hiring at the moment but that really doesn't have anything to do with AI.
It can kickstart new projects to get over the blank page syndrome but after that there's still work, either prompting or fixing it yourself.
There are requirements-led approaches where you can try to stay in prompt mode as much as possible (like feeding spec to a junior dev) but there is a point where you just have to do things yourself.
Software development has never been about lines of code, it has always required a lot of back and forth discussion, decisions, digging into company/domain lore to get the background on stuff.
Reviewing AI code, and lots of it, is hard work - it can get stuff wrong when you least expect it ("I'll just stub out this authentication so it returns true and our test passes")
With all that in mind though, as someone who would pay other devs to do work I would be horrified if someone spent a week writing unit tests that I can clearly see an AI would generate in 30 seconds. There are some task that just make sense for AI to do now.
I'm wearing glasses that tell me who all the fucking assholes and impostors are.
In the psychological sense, I'm actually devastated. I'm honestly struggling to be motivated to learn/create new things. I'm always overthinking stuff like:
- "Why would I learn mobile app dev if in the near future there will be an AI making better UIs than me?" - "Why would I write a development blog?" - "Why would I publish an open-source library on GitHub? So that OpenAI can train its LLM on it?" - "Why would I even bother?"
And then, my motivation sharply drops to zero. What I've been up to lately is playing with non-tech related hobbies and considering switching careers...
I don't really see it replacing us in the near future though, it would be almost useless if I wasn't there to guide it, write interfaces it must satisfy, write the tests it uses to validate its work etc. I find that projects become highly modularised, with defined interfaces between everything, so it can just go to work in a folder satisfying tests and interfaces while I work on other stuff. Architecting for the agents seems to lead to better design overall which is a win.
I'm just writing crud apps though, I imagine it's less useful in other domains or in code bases which are older and less designed for agents.
My next experiment is designing a really high level component library to see if it can write dashboards and apps with. It seems to struggle with more interactive UI's as opposed to landing pages.
Also from my experiences with agents, and given that I have been around computers since 1986, I can clearly see where the road is going.
Anyone involved with software engineering tasks, should see themselves becoming more of a technical architect for their coding agents, than raw coding, just like nowadays while Assembly is a required skill for some fields, others can code without ever learning anything about it.
Models will eventually become more relevant than specific programming languages, what is worth discussing X or Y is better, if I can generate any that I feel like asking for. If anything newer languages will have even harder time getting adopted, on top of everything that is expected, now they also have to be relevant for AI based workflows.
When code autocomplete first came out everyone thought software engineering would become 10x more productive.
Then it turned out writing code was only a small part of the complex endeavor of designing, building, and shipping a software system.
On the other hand I find it super useful for debugging. I can paste 500k tokens into Gemini with logs and a chunk of the codebase and ask it what’s wrong, 80% it gets it right.
Hiring is as haphazard and inadequate as it has been in the last 25 years, no change there.
AI usage is personal, widespread and on a don't ask don't tell basis.
I use it a lot to:
- Write bullshit reports that no one ever reads.
- Generate minimal documentation for decade old projects that had none.
- Small, low stakes, low complexity improvements, like when having to update this page that was ugly when someone created it in 1999, I'll plop it on aistudio to give it a basic bootstrap treatment.
- Simple automation that wasn't worth it before: Write me a bash script that does this thing that only comes up twice a year but I always hate.
- A couple times I have tried to come up with more complex greenfield stuff to do things that are needed but management doesn't ever acknowledge, but it always falls apart and starts needing actual work.
Morale is quite crappy, as ever, but since some of the above feels like secretly sticking it to The Man, there are these beautiful moments.
For example when the LLM almost nails your bimonthly performance self report from your chat history, and it takes 10 minutes instead of 2 hours, so you get to quietly look out of the window for a long while, feeling relaxed and smug about pocketing some of the gains from this awesome performance improvement.
As a person I'm increasingly worried about the consequences of people using it, and of what happens when the bubble bursts.
The main thing that changed is that the CTO is in more of a "move fast, break things"-mood now (minus the insane silicon valley funding) because he can quickly vibe-code a proof-of-concept, so development gets derailed more often.
I just simply don't get it. Productivity delta is literally negative.
I've been asking to do projects where I thought "oh, maybe this project has a chance of getting an AI productivity boost". Nope. Personal projects all failed as well.
I don't get it. I guess I'm getting old. "Grandpa let me write the prompt, you write it like this".
what sucks though is that its super inconsistent whether the thing is gonna throw an error and ruin the flow, whether thats synchronous or async.
Moving fast in the beginning always has caveats.
In the meantime I'm doubling down on math and theory behind AI.
Baffled because there are too many rank-and-file tech workers who seem to think AI exciting/useful/interesting. It’s none of those things.
Just ask yourself who wants AI to succeed and what their motivations are. It is certainly not for your benefit.
That 50% is unit tests.
AI is an irrelevant implementation detail, and if the pace of your work is not determined by business needs but rather how quickly you can crank out code, you should probably quit and find a real job somewhere better that isn't run by morons.
LLM is a plague and I wish it had never showed up, the negative effects on so many aspects of the world are numerous and saddening.
I don't know any developers who use AI to that large extent.
Myself am mostly waiting for the hype to die out so we can have a sober conversation about the future.
All companies will end up with just one employee. If you don't agree with this, you don't know how to prompt.
In terms of hiring- I co-own a small consultancy. I just hired a sub to help me while on parental leave with some UI work. AI isn’t going to help my team integrate, deploy, or make informed decision while I’m out.
Side note, with a newborn (sleeping on me at this moment), I can make real meaningful edits to my codebase pretty much on my phone. Then review, test, integrate when I have the time. It’s amazing, but I still feel you have to know what you are doing, and I am selective on what tasks, and how to split them up. I also throw away a lot of generated code, same as I throw away a lot of my first iterations, it’s all part of the process.
I think saying “AI is going X% of my work” is the wrong attitude. I’m still doing work when I use AI, it’s just different. That statement kind of assumes you are blindly shipping robot code, which sounds horrible and zero fun.
I’m looking for a way out of tech because of it.
Overall, it sped up my learning greatly, but I had to verify everything it said and its code was a mess. It's a useful tool when used appropriately but it's not threatening my job anytime soon.
It is doing 0% of my work and honestly I am tired of 80% of HN posts being about it in one way or another.
Google AI summaries and ChatGPT have almost halved my traffic. They are a scourge on informational websites, parasites.
It’s depressing to see the independent web being strangled like that. It’s only a matter of time before they become the entire internet for many, and then the enshittification will be more brutal than anything before it.
I will be fine, but I have to divert 6-10 months on my life to damage control[0] instead of working on what matters to my audience. That happened by chance; other websites won’t be so lucky.
It's helping with a lot of toil work that used to be annoying to do, PMs can do their own data analysis without having to pull me out of deliverable tasks to craft a SQL query for something and put it up on a dashboard; I don't need to go copy-paste-adapt test cases to cover a change in some feature, I don't need, most times, to open many different sections of documentation to figure out how a library/framework/language feature should be used.
It's a boost to many boring tasks but anything more complex takes as much work to setup and maintain the environment for a LLM to understand the context, the codebase, the services' relationships, the internal knowledge, the pieces of infrastructure, as it does for me to just do the work.
I've been hybridising as much as I can, when I feel there's something a LLM would be good at I do the foundational work to set it up, and prompt it incrementally to work on the task so I can review each step before it goes haywire (which it usually does), it takes effort to read what's been generated, explain what it did wrong so it can correct course, and iteratively build 80% of the solution, most times it's not able to completely finish it since there's a lot of domain knowledge that isn't documented (and there's no point in documenting since it changes often enough). Otherwise it's been more productive to just do the work myself: get pen and paper to think through the task, break it down after I have a potential solution, and use LLMs to just do the very boring scaffolding for the task.
Does it help me to get unstuck when there's some boring but straightforward thing to do? Absolutely. Has it ever managed to finish a complex task even after being given all the context, setup the Markdown documentation, explain the dependencies, the project's purpose, etc.? No, it hasn't, not even close, in many cases it gave me more work to actually massage the code it wrote into something useful than if I had done it myself. I'm tired of trying the many approaches people seem to praise about and see it crumble, I spent a whole week in 2 of our services writing all the Markdown files, iterating through them to fix any missing context it could need, and every single time it broke down at some point while trying to execute a task so, for now, I just decided to use it as a nice tool and stopped getting anxious about "missing out".
With AI, the future seems just so much worse for me. I feel that productivity boost will not benefit me in any way (apart from some distant trickle down dream). I expect the outsource, and remote work in general to be impacted negatively the most. Maybe there's going to be some defensive measures to protect domestic specialists, but that wouldn't apply to me anyway unless I relocate (and probably acquire citizenship).
>Is your company hiring more/ have they stopped hiring software engineers
Stopped hiring completely and reduced workforce, but the reasons stated were financial, not AI.
>Is the management team putting more pressure to get more things done
with less workforce, there is naturally more work to do. But I can't say there is a change in pressure, and no one forces AI upon you.
I don't think I'm being paid to 1:1 convert a dumb crud app or rest api from one language to another, although of course you do that once a decade in a typical job.
Now that we can use Copilot, we have a new CIO and I don’t hear about it so much. There is still some AI hype, but it’s more about how it’s being used in our products, rather than how to use it internally to do the work.
Apparently sometime in the next year we’re getting a new version of Jira with some AI that can do user stories on its own, but I don’t see that changing much of anything.
The bottleneck has rarely been the actual writing of code, it’s been people making decisions and general bureaucracy. AI isn’t solving that. Copilot has also not impressed anyone on my team. As far as the code we work on, it’s pretty bad. There are a few niche things it helps with, mostly writing queries to pull values out of complex json. That saves a little time, but hardly 30-50%. More like 1-2%.
Management stopped giving us new people, while pressuring us to do more, for many years now. This was a trend long before AI and I haven’t noticed any major change. I’d say it’s been this way for over 10 years now, ever since they had the realization that tasks could be automated.
As of AI, I've been asked to test a partial rewrite of the current UI to the new components. For a few weeks I've been logging 10+ bugs a day. The only explanation I have, they use AI tool to produce nicely looking code which does not work properly in a complex app.
So to answer the original question of how my morale is? It is non-existent. I am quite open to fixing that, but haven't seen much that indicates now is the right time to search for something new.
They spend more time spotting and fixing bugs and basically have been feeling frustrated.
It's also annoying for the team in general. Projects that would otherwise take a couple of days have sometimes taken over 2 weeks, and it is hard to predict how long something will take. That adds a lot of pressure for everyone.
Like everyone said, my productivity boost is in 1-4% range and not more than that.
You might want to be less credulous around LLM vendor marketing. Outside of possibly the blogspam/ultra-low-end journalism industry, and maybe low-end translation, LLMs aren’t doing 30-50% of anyone’s work.
We were (finally!) given the go for even using AI just before summer vacation this year, and I was very excited, having been obsessed with AI 20 years ago. I was still excited quite a while, until I slowly understood all the limitations that come with LLMs. We can not trust them, and this is one of the fundamental problems: verifying things takes a long time, sometimes its even faster just writing the code yourself.
We do have non-core-product tasks that can greatly benefit from AI, but that is already a small part of our job.
I did find two areas where LLMs are very useful: generatin documentation from code (mermaidjs is useful here) and parsing GDB output!
Seriously, parsing GDB output was like an epiphany. I was for real blown away by it. It correctly generated a very detailed explanation of what kind of overwriting was happening when I happened to use a wild pointer. Its so good at seeing patterns, even combining data from several overwritten variables and parsing what was written there. I could have done it myself, but I seldom do such deep analysis in GDB and it did it in literally 10 seconds. Sadly, it was not that terribly useful this time, but I do feel that in the future GDB+AI is a winning concept. But at the same time, I spend very little time in GDB per year.
I use AI for taking info and restructuring it for me. Rewrite a Linear ticket in a proper format, take an info dump and turn it into a spike outcome or ADR doc that I can then refine. I also like it for the rote stuff I haven't memorized the structure of: building OpenSearch queries, writing boto3 snippets, etc. Other than that, my job is the same as it was pre-LLM hype. And from talking to other engineers, it seems that my experience is fairly standard.