(no title)
wibbily | 2 months ago
I like problem solving too. But I also like theory and craft, and in my naïveté I assumed most of us were like me. LLMs divorced craft-programming from tool-programming and now it seems like there were never any craft-programmers at all.
It feels like the group I was part of was just a mirage, a historical accident. Maybe craft-painters felt the same way about the camera.
viraptor|2 months ago
This reminds me of the Google/Oracle Java case where one of the example "copied code" fragments was some trivial code with null guards. Anyone could write this and end up with the same code. Human/LLM/whatever doesn't matter. That fragment just needed to exist.
embedding-shape|2 months ago
Most of the times, I write software not to write software, but to solve a problem somewhere, often times not related to software itself. Other times I feel like the UX of some dev tool is bad, and if I just quickly fix that, I can solve my problem faster, so down the rabbit hole we go, which is a different type of experience.
Other times I'm focused on figuring out an elegant design/architecture for something that isn't problem solving, but more "neat piece of software", either a library or some other type that needs some sort of interface, be it library API or actual UI. Then I'll go into "craftmanship" mode and then most of the work actually happens away from the computer, mostly with pen and paper or whiteboards.
I still think the latter is needed for improving the former, and high-quality and easy to maintain code is more important than ever, and if you only do the former, you'll get stuck at a ceiling while only doing the latter, you'll also get stuck if there isn't an actual need (at some level, "fun" can be a need) for it.
estimator7292|2 months ago
When I was growing up as a programmer I observed JavaScript and swore I would never, ever touch webdev. As I got older that list kept growing to include mobile, then Apple, then desktop in general.
I like my little world of C where everything must be crafted with care or it just plain doesn't work.
And it's not that there isn't any embedded slopware, but the constraints are so much tighter that you can't really get away with the same level of bad code on 1KB ram and 4KB flash that you can on a 32 core desktop CPU with practically infinite resources.
viraptor|2 months ago
I hope you track the progress so you're not surprised one day. The research side is way past embedded C and VHDL was of interest a year ago https://dl.acm.org/doi/10.1145/3670474.3685966 In embedded code, recent LLMs can do just fine with popular architectures. It's down to the spec and test harness whether embedded C works or not. The moat is not that big.
square_usual|2 months ago
wibbily|2 months ago
An example. I've been writing a Lisp, and I'm using GNU Readline for text input. Later I found out that Readline can't be built for WebAssembly, and I decided to have Claude write a podunk replacement for it. I now have a bit of code in my Git, attached to my name, that I didn't write
What did I lose by doing that? My goal wasn't "to write a Readline", that's why I was using it in the first place. But my goal also wasn't "to have a working Lisp interpreter" or even like "to know how a Lisp interpreter works". It was a desire to Know More. Surely I'd have learned something useful (in some form) by doing all the minutiae myself. Or would I have learned more by doing none of it and printing out the SBCL source to read over coffee?
Sorry, I ended up rambling. I don't have any answers. I think I'm just butthurt by the "X, Y" sort of comments you mentioned and the solution is (as always) to touch grass
xeromal|2 months ago
MisterTea|2 months ago
tonymet|2 months ago
I’ve always enjoyed the craft of software engineering, though even I admit the culture around it can be a bit overly contemplative .
Nevertheless, there is room for both personalities. Just hang out with likeminded people and ignore the rest.
tikhonj|2 months ago
braebo|2 months ago
Or find ways to integrate with the rest, challenging one another to facilitate growth.
wkjagt|2 months ago
munksbeer|2 months ago
Why?
Intellectual curiosity is a good thing. When I first went to university, I thought I was going to be a physicist. It turns out my brain was really well wired for programming, being logical, rigorous, particular about detail, I like predictability, not a high risk taker without fully understanding and accepting the risks, etc.
But when I first started off as a programmer, I wrote physics simulations for fun (not work). I'd write little games, I wrote neural nets and fuzzy logic (gives me a chuckle), back in the 90s when the field was new. All of this was "my thing", and I barely cared about the code I wrote to achieve this. I absolutely loved it, because coding was a tool to explore my intellectual curiousity.
I could say the exact opposite, that I feel a bit sad that people care more about the characters they type on a screen than the concepts they explore.
As I morphed into a professional software engineer, I grew to understand the importance of high quality code and engineering (I mean architecture decisions). I have had a long, successful career by refining my craft. I care about the quality I produce for my future self and others, and the success of the product as a result of this quality.
But at the heart, I am still just an intellectually curious person, and one day I may stop working professionally and at that point, I think I'll love using AI to write code and help me explore concepts. I very much look forward to it in fact.
wiether|2 months ago
Furthermore, given how they behave in a cult-like way, it feels like they are straight-up delusional.
People working as consultants for big retail chains, talking all day long about "the craft". Nobody cares. They sell trash. They don't put marble in their store. They don't want fancy software. Furthermore, if, by trying to force "the craft" to their peers, all they do is making the life of others miserable... Just stop. Please.
Now my approach is as follow:
if stakeholders are only interested in two things (how-much it cost, when it's ready), which is 99% of the case at $JOB, then make something that does the job and that won't make you hate yourself if you have to maintain it in a year
if I'm the stakeholder, like creating internal tooling that nobody asked for but that will solve issues, then yes, I do things as good as I want them to be
same for working on FOSS on my personal time
port11|2 months ago
EDIT: child commenter is right, my bad.
nurettin|2 months ago
I am really worried for the next generation of programmers fully dependent on llms.
port11|2 months ago
“It bothers me that so many cashiers don't care about the craft of service and payment point connection.”
“It bothers me that so many butchers don't care about the craft of choosing meat cuts and selling meat tailored to the customer.”
We expect of developers craft, passion, after-work commitment, life-long learning, and so on, and so on. Many other professions are free of or lighter on such expectations.
I agree that it's alienating to see sloppy, automated code crop up simply because people want to get paid. Code used to be this cool domain… But I'm not shocked, since our society evolved towards commoditising absolutely everything.
Even thoughtful messages to loved ones are now available through LLM-hallucinated apps. We're done here, pack up your expectation of humanity staying, ahm, human? Disheartening.
Viliam1234|2 months ago
m463|2 months ago
People won't care that much if their daily life software is developed by artisan developers, offshore coders or ai. They will just need to get things done and won't be able to tell who wrote the code.
That said, I still think there will be a spec, and that spec will mostly be written by humans.
ivanjermakov|2 months ago
Or just about making money :(
fnoef|2 months ago
Nowadays, the craft can be practiced at your home, by yourself.
bigyabai|2 months ago
Plus, code-based meritocracy flat-out doesn't exist outside the FOSS circle. Many of the people you know are clocking-in at a job using a tech stack from 2004, they aren't paid to recognize good craftsmanship. They show up, close some tickets, play Xbox during on-call and collect their paycheck on Friday.
The people who care might be self-selecting for their own failure. It's hard to make money in tech if your passion for craft is your strongest attribute.
oehpr|2 months ago
If something is working but it is ugly, sketchy, or I feel there may be a more apt abstraction or generalization of the problem, every other human being on the planet has persistently turned that situation into an exhausting argument. If the code works, it works, right? And all this shit I talk about is pointless because it works. And I have to fruitlessly construct an argument that would appeal to someone who cares nothing other than a complete ticket.
LLMs are at least not needlessly combative and incurious as to think that every approach but the first one we try is a pointless waste of time.
codyklimdev|2 months ago
After all, my work (for the moment) is just about pushing features to keep the PMs happy ¯\_(ツ)_/¯
unknown|2 months ago
[deleted]
unknown|2 months ago
[deleted]