I don't like this framing. Does the market penalize people for going to see a movie or going skiing? The most effective way for someone to make money and someone's hobbies usually do not overlap and when they do turning a hobby into a job often results in one growing to hate the hobby.
The “hacker-friendliness” of software industry employment has been eroding in the past decade or so, and generative AI is another factor that strengthens the position of business owners and managers. Perhaps this is the maturing of the software development field. Back when computers were new and when there were few people skilled in computing, employment was more favorable for hobbyists. Over time the frontiers of computing have been settled, which reduced the need for explorers, and thus explorers have been sidelined in favor of different types of workers. LLMs are another step; while I’m not sure that LLMs could do academic research in computer science, they are already capable of doing software engineering tasks that undergraduates and interns could do.
I think what some of us are mourning is the closing of a frontier, of our figurative pastures being turned into suburban subdivisions. It’s bigger than generative AI; it’s a field that is less dependent on hobbyists for its future.
There will always be other frontiers, and even in computing there are still interesting areas of research and areas where hobbyists can contribute. But I think much of the software industry has moved in a direction where its ethos is different from the ethos of enthusiasts.
I am now a tenure-track community college professor. I’m evaluated entirely by my teaching and service. While teaching a full course load is intense, and while my salary is nowhere near what a FAANG engineer makes, I get three months of summer break and one month of winter break every year to rejuvenate and to work on personal projects, with nobody telling me what research projects to work on, how frequently I should publish, and how fast I ship code.
This quote from J. J. Thomson resonates with me, and it’s more than 100 years old:
"Granting the importance of this pioneering research, how can it best be promoted? The method of direct endowment will not work, for if you pay a man a salary for doing research, he and you will want to have something to point to at the end of the year to show that the money has not been wasted. In promising work of the highest class, however, results do not come in this regular fashion, in fact years may pass without any tangible results being obtained, and the position of the paid worker would be very embarrassing and he would naturally take to work on a lower, or at any rate a different plane where he could be sure of getting year by year tangible results which would justify his salary. The position is this: You want this kind of research, but, if you pay a man to do it, it will drive him to research of a different kind. The only thing to do is to pay him for doing something else and give him enough leisure to do research for the love of it." (from https://archive.org/details/b29932208/page/198/mode/2up).
My “brain” has always been a systems thinker. I was fortunate enough even in my first job to be directly in front of our customer and gathering requirements, not having the label for it then but trying to solve XYProblems, dealing directly with users and their pain points and seeing an entire data entry department built around my code. This was when I was 22 - 3 decades ago.
Now my brain helps me go from ambiguous, conflicting requirements, working with people, an empty AWS account and an empty git repo to a complete working solution.
Coding has always been the necesary grind between vision and implementation
Look at photography.
You have both - the point and shoot people and the ones that use photography as a craft.
And I am seeing that with LLMs as well. You do have craft people that find joy in figuring out craft the perfect one shot prompt or create a system that coordinates a bunch of agents.
That is also craft, but like photography, craft with a more capable tool.
It takes forever but I want to work the wood and develop actual skill. I don't want to just push wood through a series of saws, sanders, jigs and other machines. It has also made me much better at building “we need this now” type things (decks, cabinets etc) with power tools in general. I am much more precise, sensitive, and detail oriented.
I hope and feel there is something similar with coding and LLMs. A way to repurpose that hard earned sensitivity and recover some of the zen aspects as well. I am still figuring that out, part of it has been tiring but honestly a lot of it has made programming more fun too.
How is this post different than dozens that have come before it?
It's the same gnashing of teeth, just with different analogies each time.
Building AI agents is really fun and the problem of having them be reliable adaptable efficient is actually really challenging and I'm having a lot of fun with it trying to figure it out.
To me it's a lot like factorio or my personal favorite Dyson sphere program where at first you do everything by hand and then you automate and then you automate the automation.
For the first time in human history we can automate intelligence with a computer but just because we can automate it doesn't mean all the good automation is good and we need engineers who can figure out how to automate it reliably scale it deploy it maintain it.
And yes eventually we will automate the automation too.
The difference between "craft lovers" and "doers" is that one operates at a better fitting abstraction (that is more aligned to the values of capitalism).
You can say "doers" are just "craft lovers" in and of itself - there is little distinction between them - this is just reiterating the change from binary to high level languages.
These days, everybody is an expert photographer, taking thousands of irrelevant photos with their smartphones. The volume of photos has exploded, the quality of the best has minimally changed (i.e. before being photoshopped, etc.)
The current crop of AI-aided tools are comparable to the early digital cameras in phones.
Use a straight razor, which is predictable and you feel time flying and you end up with perfect shave.
I think because of the uniqueness or newness of the craft of programming - this shift hadn't actually occurred and you were seeing hobbyist programmers landing jobs and being able to output professional code by crafting it thoughtfully as there wasn't a major output difference previously. Now we are seeing that difference.
Food for thought, interesting article!
- Real developers like Rob Pike who hate AI.
- The IP theft that powers the models.
- The actual useful output of LLMs that is very low.
- The fact that 99.9999% of useful software was produced before AI.
- The fact that "nostalgic developers" are not interested in "writing" code, but understanding algorithms and creating beauty.
These articles lie by omission, direct your attention to the points they want you to discuss, present false dichotomies and are generally deceptive. If these people win, we are in for a horrible future.
jazz9k•2h ago
Craft people aren't losing anything. If anything, they are more valuable because they need to fix the slopware written by AI and the 'make it go' developers.
PaulKeeble•1h ago
Forgeties79•1h ago
gibbitz•1h ago
lmorchard•1h ago
tytho•4m ago
My understanding is that the switch statement was for npc character conversation text. That seems pretty reasonable, even in enterprise SaaS for something like translations. It might not be as easy to maintain in other circumstances.