Now that you've made the Faustian bargain at this low low introductory price, how long until they start ratcheting up the price? How long will you be able to bear it?
You're still allowed to do things the old fashioned way you know. Given the rapid skill degradation that results from LLM-driven coding usage, I'd recommend it if you want to retain any skill at all.
What felt like a creative endeavor now feels and is even more treated by society and other software engineers as grossly mechanical.
And to me too that hurts. I think a lot of people whose identity or passion was tied to this feel like that.
It is very much a "what is painting purpose now that photography exists ?" or "what is craft in an era of industrial mass production" moment for some of us. There are answers but finding them require exploration and being willing to change what we are
I think that's their deeper point
I am pretty old, and it does take conscious effort to give up my cherished skills and plunge into new things professionally, but it’s the only way for me. And I am not exaggerating “clueless” here - I continue my practice of expertise via making all the mistakes. When I am new to something and there are others not new, I lean on them and have my lacks very clearly seen. When I am more isolated, I take pains to have very conservative release plans.
But it is worth it: I get that pleasure of understanding a lot more often with new stuff than with the same old.
Now it's all AI generated. You don't know if you're reading a novel human's take on a pattern or an LLM's attempt to reproduce. Worse; even if the AI presented something novel it produces at such a rate it's a needle in a haystack.
I feel cautious of any claim people make about their use of AI. I'm not even anti-AI; I use it. But at minimum wish there were a mechanism to know where the lines were.
The feeling of helplessness doesn’t come from the fact that you can’t get out of the AI hype but the fact that advertisers have captured the attention of large portions of the population.
I can assure you, it's not. You just need to avoid the areas where this is prevalent.
> You don't know if you're reading a novel human's take on a pattern or an LLM's attempt to reproduce.
In the end of the day, if it's an elegant solution why does it matter! If anything then it sharpens your senses to check whether it's great or trash. A sense that one should have had with human code already, now it just feels more important (but it really isn't because it was important before too).
Not if your company decides to be "AI-first" and puts agent use on your job results.
Have some agency in your life. Sometimes people here write stuff as if being in control of their lifes is unthinkable.
I've been a developer for just over a decade and my usage of LLMs is minimal. It takes a similar amount of time to review as it does to just write it myself. How much time do you have for your tasks? I rarely have deadlines quicker than a few days. It wouldn't even matter if I got it done faster since the bottleneck is decisions in the next meeting or waiting to hear back from another team. Dev time was always trivial and irrelevant. Even back in the 2010s, my need for stackoverflow and google had become minimal.
What else are you doing with your time? How much discussion does your team even have if the nuances of the code aren't important to you?
But when it goes right, you can only get credit if you wrote it yourself.
If you're risking being blamed, that should be balanced with credit.
Web search engines are mostly for quick navigation this day as a lot of sites don’t bother with a good navigation menu. It’s faster to search the title of the page than to deal with the offered navigation widget.
> Reading and writing code is just another form of literacy, so I don't get this perspective at all.
Same here. I read and write code just like I read and write English (which is not even my second language). Coding is trivial. Most of the time is spent on communication (with the team and the stakeholder) and on reading documentation (so that you know the implications of using a function or what’s inside an object at a point of time). And even the latter is shortened as you got more familiar with the libraries.
Not sure if it helps with the feeling of futility or not. For me, it doesn't really help that much because ultimately I want the skills and knowledge I gathered to benefit me in some way. For example, previously I would be able to better understand computers and software, be an "overall better" programmer, better thinker (in terms of computation). If the results you get are not used in any way, it's on the same level as memorizing rule sets for some obscure game that no one knows or cares about.
Maybe pivoting to something else like philosophy could make sense as a hobby.
Of course, there's always going to be some demand for knowing computers, knowing programming languages first-hand, etc. Writing or auditing code for critical systems. Teaching the next generations of people that will do critical systems. Some people are optimistic in that they are going to fall into that demand. I'm not optimistic about myself.
You can see this in the real world. The people who are getting the most out of AI are the ones who already have experience coding without AI.
CEOs don't want to admit it but AI can't code anything non-trivial on its own.
If you're worried about not being able to write git commit messages anymore, then you might have been in the wrong career in the first place.
The whole point of AI is to reproduce things that used to be mass produced. AI isn't generating high quality compilers or OS kernels, for example, because we haven't found a way to mass produce those yet.
I suggest you stop listening to clowns like Elon Musk and Super Mario.
> Managers are pushing non-trivial code that experienced engineers shouldn't be writing anyway.
non-trivial code shouldn't be written by experienced engineers? Please explain
> If you're worried about not being able to write git commit messages anymore, then you might have been in the wrong career in the first place.
How did you come to this conclusion? I am concerned about verbose AI documentation, 10 lines of commit message, MR comments with 50+ lines, the typical AI workflow that we all love: One huge commit with 10000+ changes.
> The whole point of AI is to reproduce things that used to be mass produced.
In your opinion, you mean? Because AI is doing everything which involves thinking. Art, Code, Music.. not "mass producted" things..
> I suggest you stop listening to clowns like Elon Musk and Super Mario.
Sounds like you are not really reading, thinking, writing.. only writing i guess?
Sure, AI can generate your logo, or mix some music that you can play at a party, but at some point, people will call you out for feeding them garbage.
That's when you'll have to hire an experienced graphic designer to design a proper logo, and an experience DJ to create a proper mix based on your audience's mood.
To me AI is just like an IDE. It does stuff that I don't want to do so that I get to work on the fun stuff. Huge win.
This does retain the joy of coding for me and takes away the pain of what is commodity and hard to do without tiresome meetings (mostly UI/UX and API/MCP as my products don’t differentiate on these).
Let's be honest here: how many actually distinct paradigms are we really talking about here? I challenge you to name more than 5 which are not just flavors of the same core approach. Bonus if they are actually all relevant for production software.
Why it should be relevant for production software?
That's not true at all. In first place, what you can think is good for production, i can think otherwise.. Beside it there is a lot of things/paradigms/languages that we learn, to help us to either understand better the basics or because it is easier for beginners. There are a lot of Science and Research that you can just throw away, but that was super important for further development. Pascal, Smalltalk, Minix are example of technologies, that we learn(ed) and not necessary are widely used in production. Haskell helped me to understand is pure immutability is actually practical or not, and so on..
Python and Lua being probably the most similar of the bunch. The point is not that you would use any of these production (although you could), the point is to get your feet wet in a new setting. You see what's different and what's the same. I think it's a very important part of maturing as a programmer.
I was asking about paradigms. These are 6 languages and the distinct paradigms they cover are hardly 6. Unless we have different notions of what a paradigm is.
I see imperative and functional paradigms covered in your list. Am I missing anything else? Object orientation could be counted as a separate paradigm but how much different that is from basic imperative programming is already somewhat debatable.
There’s OOP with message passing (Smalltalk, Objective C) and there’s OOP with functional flavor (CLOS in Common Lisp).
I do agree that collecting paradigms is more interesting than collecting languages. Like logic programming (prolog), array and stack programming (uuia).
All of those languages are very different in how they handle concurrency, safety, objects, meta programming, etc, in ways that force you to adapt how you approach and deconstruct problems. Certainly not as much as a whole different paradigm would, but still in ways that are valuable to explore.
For declarative, where you describe what you want, not how to get it, you have Prolog, Make and SQL (maybe others but I haven't heard of them). Yes, they technically aren't purely declarative as they usually have an escape hatch to imperative for performance reasons, but you can get quite far with them just in a declarative style.
The imperative, where you tell the computer how to do something, you have procedural (Pascal, Ada, C, BASIC, Cobol, Fortran) that's your classical programming style of actions working on data. There's object oriented (Smalltalk, Java, Erlang) which structures things a bit differently than procedural, where data is told what to do (via methods or message passing). Functional languages are more about avoiding globals and controlling side effects (and typically are lazily evaluated, but I don't think that's foundational to functional). You have concatenative (Forth, Postscript, Joy) which centers around a point-free style of programming (implicit data on the stack instead of explicit in variables) and data-flow (or array-centric) languages (APL, J, K) which work natively on array data.
Each of these paradigms have their pros and cons. Procedural if you have a lot of actions on a small set of types. Object oriented if you have a lot of types and a small set of actions. Functional if you want easy-to-reason about code. Data-flow to help with parallelism. Concatenative if you don't want to name piece of data. Declarative to have the computer figure things out for you. All of these I can see a reason to use in production.
Now I use AI to build things I genuinely like and actually use. Nothing particularly fancy.
I built a weather website that I use all the time when planning hikes. I also built a generative hiking-route tool: give it a starting point and a distance, and it tries to find interesting paths for you. I’ve made plenty of small helper tools for work and health, and now I’m wrestling with Open WebUI, trying to make it work exactly the way I want while repurposing an old Android device as the server.
Do I miss nerding out over implementing a B-tree, or learning async programming in F#, Go, Crystal, Nim, C++, C#, JavaScript workers, or Java green threads?
I don’t know, man. Maybe a little.
But it has also never been easier to say: “Hey AI, teach me this concept using five examples. Give me one task, then evaluate my solution. And teach it in this particular style.”
We lost something. I genuinely think we did.
But I also think we gained much more.
It’s okay to mourn what was lost, as long as you can still look forward.
perspective shift 1: the people that never cared about programming/engineering finally left the room. the people chasing the trends, trying to grift, or just after money are finally gone. we can finally be in a room and just talk about good engineering. the people we as engineers never wanted to hear from are off attempting to force the world to use a tool that everyone 40 and under passionately rejects (this is spicy for HN terms, but the avg joe hates AI. people aren't stupid - they know they only stand to lose from it in the longer term).
perspective shift 2: I just read Zen, and the Art of Motorcycle Maintenance. It taught me a lot. I came away from that book understanding what "quality" means at a very philosophical level, and it gave me a lot of confidence for some fuzzy thoughts I already felt. it's too abstract to explain here, but it does a good job of explaining that there is perceived and strong difference between caring something into existence, verses just generating something into existence. this book breaks down how quality is not some artifact that lives in what you're making, and or is some feeling you get when you look at something that is aesthetically pleasing - quality is an event that occurs before you mind has differentiated yourself from the thing subject/object you're admiring - and in that moment, quality arises from the care you give it. there must exists energy and care towards what you're doing for quality to arise. generating anything with AI will never bring that fruition.
many people try to counter this stance by saying that they iterate with AI forever, and assume that iteration is a the same as the caring event described in ZATAOMM - but the difference is that grading output is not the same as creating/authorship. it's must a read and deep study I think if you're into programming and this mental state
perspective shift 3: This talk from Brandon Sanderson called We are the Art [1]. I personally do a lot of creative coding - like games and such. this talk does a great job of breaking down how art and creation ultimately lives in the person. I won't summarize here, just a must a watch
perspective shift 4: I got off all the mainstream social media site bc the PR machine for AI is relentless. of course you're going to feel like crap when every site says, future generations will be homeless, K shaped economy, permanent underclass, etc. you gotta log off these sites to create some distance with the beast - it's not you, the world really is just messed up rn. Also I barely browse HN anymore. this place is the public square for VCs and people who lost hte plot with technology - I just happened to be here, and wanted to help my fellow programmer grinding through the same mental trenches I was in
perspective shift 5: go find some programming communities on discord. I'm in a discord with like 5000 active members that really care about coding, and doing so without AI. this is a very active discord. once you realize there is a strong community still building like this, it really showed me we're not low in numbers, and there still a large group of people that will celebrate engineering efforts done by hand. and there are still people that need to understand these machines at a very deep level - you're efforts aren't wasted
perspective shift 6: look at AI on the job as a way to get your work done faster to get home to do real programming. work code can be trash, home is where the real work is done. The analogy I’ve been telling myself is that it’s like going into a gold mine - no one wants to be in the mine, but i do like leaving with gold. i gotta pay the bills, but i don’t need to love it.
perspective shift 7: The overall environment we live is just depressing and is reminiscent to Fahrenheit 451. I came away feeling closer to the author and protagonist than my first read. specifically the kind of hubris/ignorance found in all the side characters of F451 mimics what it feels like to talk with ai optimists. also, the way F451 is a world filled with people that are actively disengaged and comfortable being passively entertained feels almost too real. this book draws a lot of parallels with modern times, and it's a nice book to remind you that other people have felt this way in times of large technological change - and you're not crazy to feel depressed.
Go start working on that side project you use to be really passionate about. me and all the other serious engineers are excited to see it
God I wish, they've all become annoying loud "thought leaders"
Once you know them for who/what they are, and you learn to be comfortable enough with not following them closely, or not knowing what the hip thing is right now, then you can learn to let go of that (almost) insatiable need to keep up. Let them have the room - and the mental energy it requires.
Amateur - learns construction on free time ad hoc/by doing, builds a cabin, enjoys living in it
Connoisseur - reads lots of books on construction, might build a cabin to verify competence, enjoys thinking about it
Professional - went to school and works in construction, enjoys the paycheck, doesn't have a cabin
I haven't read the motorcycle zen book yet, but I imagine that is the loving amateur angle, whereas for me I just thrive in knowledge. Translating that to the current AI hellscape, I kinda like that the code crafting bit is a bit less pronounced where I can instead focus on getting to know the system/model/domain of my work. It helps with the dystopian feelings I sometimes get from being in the mine. But if you are a passionate coder, I would imagine that letting someone else build your cabin would be extremely provoking.
Thank you for this post.
This sounds very closely related to "ownership", something we've been trying to get rid of through agile/scrum and "bus factor" talk for over a decade.