I will occasionally ask Copilot for something when I’m in a hurry, and the there is some minor thing I don’t care about that someone is telling me needs to get done. The other 99% of the time, I’m doing it myself. Any time I reach for AI instead of doing it myself, I’m learning less, growing less, and understanding my code less. Why would anyone want this?
But you get multiple availability zones and regions with much lower capital cost! (But do you need them?)
Er, that's the same thing. The only change is that HR thinks my position is labeled "devops engineer" now instead of "sysadmin", but it's the same job.
saying “i am learning less, growing less…” is just so amazingly shortsighted, like farmers when first tractors arrived going “fuck this, imma walk this field in 100 degree weather - doing it myself”(sound familiar?).
But even if I didn't, I'd still choose the team that delivers 1 month later with high quality code, over the team that cranks out dozens of half broken features they have no idea how to support. Mandating I spend the same amount on a team able to barely maintain that team's mistakes. I know I'm just making the "buy once, cry once" argument, and I understand that's "not how business works" but I'm an engineer, not a manager trading company interest for a promo.
Local compute vs cloud compute is not the same distinction as that between pets vs cattle, but it has many of the same market participants, and with both Microsoft and Apple making moves to bundle AI capabilities with other cloud products for free with subscription value-add-on features is interesting. These features entice users into the vendor walled gardens, nudging users subtly away from local-first pets.
https://cloudscaling.com/blog/cloud-computing/the-history-of...
When automation actually does equivalent work in less time or at lower cost it will replace human labor. Right now LLMs cannot deliver equivalent work compared to an experienced and skilled human programmer. If you experience an LLM able to do your job that says more about your skills than the LLM.
If LLMs get close to doing any part of my work I will incorporate them, like I have previous “threats” like cloud computing. I won’t panic too soon or give up because I have enough experience and expertise to know better.
I can't predict what might happen, but right now LLMs don't do much of value in the domains I work in. They seem mainly to exist as excuses for stock pumping and managers cutting their labor costs to the bone. The people who don't get laid off cling to their jobs out of fear. The threat to (mostly junior) programmers comes from turning our work into a commodity, not from automation itself.
Maybe your analogy does apply. A person who can drive a tractor will indeed outperform a farmer in one important but limited way: covering more area in a day than a farmer on foot. But the person who can only drive a tractor likely won't have all of the skills and expertise of a farmer who knows the land, soil, crops, weather, etc. from direct experience. And the person who can only drive a tractor -- but cannot actually grow anything or manage a farm -- becomes more interchangeable and replaceable. Tractor driving already gets replaced by robots, but knowing how to run a farm does not. Likewise a good programmer offers a lot more value than just the code they write; in fact code itself has no value without the context of a business domain and a theory [1] of the system.
By the way, I'm one of those old guys who still use vim and the command line, as I have since the late 1970s, and will continue to do so. I can use IDEs and GUIs if I have to, I didn't get left behind, but those don't improve my efficiency or quality. They can slow me down and distract me with futzing with tools rather than getting real work done, and they don't work in all of the environments I need them to. I haven't had any problem keeping up with the IDE users.
given your age/time in the industry you may be able to coast to retirement and finish the career and say “vim got me through it all…” - someone with 10-years in will never be able to experience that
All tools take time to master, and then once mastered they can maintain an advantage over competitors that seem objectively better in some ways. I used VSCode for a year and ended up going back to vim. Nothing really wrong with VSCode but it wasn't a 10X or even 2X improvement for me. But I have internalized vim and the Unix/Linux command line tools to a degree that -- as you point out -- younger programmers don't have the runway to catch up with.
As a freelancer (and for a long time a f/t employee in various companies) I gradually figured out that the best value I can offer (and the best way to stay employed) is not how fast I can produce code, but how well I can understand the business domain and then tease out and translate requirements into software solutions. Optimizing for producing more or "better" code (however we measure that) I think sends a lot of programmers down the wrong path, one that leads to over-specialization, commodification of skills, and eventual replacement by outsourcing or AI. I think it will take a lot longer for LLMs to do the real work of software development, which has about as much to do with producing code as word processing has to do with writing an interesting book.
I also find it much harder to go through someone else’s code than to work with my own. If I’m just glancing at it, it seems to technically work, and it needs a rubber stamp… sure, that’s easy. If it doesn’t work, especially if it’s a logic issue rather than a hard error, that takes time to read and learn the context of everything that’s going on. Will someone in school today even have the skills to do that if they only ever use AI?
The impact of the "modern" IDEs of 20 years ago was distinctly measurable, and sensibly perceptible by anyone that tried them.
At the same time, it's not even clear if the gain from LLMs is even positive.
But if your claim was that neither was relevant enough to change the overall noisy productivity of developers, than yeah. At least not positively.
But on linux you can just can just figure it out once and "su install compiler-version text-editor-version debugger-version && cp dotfiles ~/.config"
Nah, the turn of the century IDEs were better enough that almost all the text editors adopted the relevant feature.
We mostly do not have pure text editors like there were back then. There's nano, and notepad++, but on the traditional holdouts, vi became an IDE, and emacs, that was already an IDE turned into a multi-language one too.
That said, those features were compelling enough for every editor to adopt, but didn't change the picture enough so that people had no choice but to use them. It is still perfectly viable to not use the IDE features of your favorite editor.
So far, I have managed to work out how to spot a hallucinating ChatGPT derived "organic blog post" but it is bloody annoying.
Back in the day, Linux related queries would generally end up in Gentoo, Arch, Ubuntu, Mint (int al) forums or wikis or perhaps Reddit and co, sometimes it would end up in TLDP by accident. Now we have a plethora of wankery "blogs" that clog up the search returns. Mostly very pretty and mostly following the same old pattern and mostly correctish and wrong at some crucial point.
I have to deal with a lot of pretty complicated and quite niche stuff, for example HA Proxy, Apache Guacamole, on Linux which itself (despite running mostly everything on our lovely planet) is also considered niche.
Windows related queries normally end up with a post on an MS site with a response that suggests that "SFC /SCANNOW" will fix everything from stiffness in the joints to cancer. That has always been the way since around the late noughties, thanks to a rather lax hiring policy becoming the norm in a large part of the world using internet points as a score for hiring. That is understandable and humans being lazy and abrogating responsibility is not a new thing. Now we have multi zillion <currency> things happening that claim intelligence and what looks suspiciously tulip flavoured.
Oh dear!
I understand how generative AI works better than most of the SWEs I work with, but I have absolutely no desire to incorporate it into my workflow. I like that I understand how the code I wrote works, but even if I didn't, I wouldn't trade this rediscovered enjoyment for anything, including the "promised" career velocity.
People are just willingly leaving massive landmines across their codebase waiting to blow their feet off and don't even have the experience to know when the code generated by the AI is bad or not.
To some extent.
> and incorporate into their daily work life.
No, not necessarily. Frankly it's of no use, or is actively counterproductive, in many fields.