I’m not a programmer because I wanted to program.
Thus AI is incredibly exciting to me because it makes it easier to make computers do things.
I’m not a programmer because I wanted to program.
Thus AI is incredibly exciting to me because it makes it easier to make computers do things.
I became a programmer because I want to explore the edge of what's possible. I'm finding it still satisfying when I'm doing it via LLM. They're only good at spitting out entire projects when those projects resemble many that already exist.
Unless you are into it, you’ll realize that it’s quite a grind and your time is much better spent getting somebody who is into it (and thanks to that became an expert to it) get computer to do what you want faster and better.
There’s nothing wrong with trying it, if anything to find out whether you are into it or not in the first place. If you stick to it, chances are you are into it—just like you don’t become a carpetner simply because you want to have furniture: perhaps that’s one of your initial impulses, but you are also mentally compatible with the process and tick some other boxes.
On that note, what does it mean to be “into it” when it comes to programming? What is a “good” reason to become a software engineer? To me, it’s about the inclination to tinker, the eventual payoff of the dopamine rush from seeing puzzle pieces fall together, and the desire to own the process, do things by yourself even as you stand on the shoulders of giants.
Between these things, LLM-driven development strikes me as somewhat weak on tinkering (there may be some, but less, and much less precise and deterministic), and very weak on the desire to do things by yourself. Of course, that shouldn’t invalidate anyone’s personal experience.
I guess ideally I'd get a job that is perfectly aligned with this profile (a work in progress!), but AI allows me to deal with the reality I have now in a much more pleasant and productive way.
I saw 1 study which suggested this.[1] Were there more?
The other part of the job/hobby that I've always found enjoyable is in striving for "perfectly" minimal/clean designs where the code reads more like functional requirements than messy implementation detail. You look at the code and it is obvious that nothing can be taken out, and no more minimal implementation is conceivable. A bit like an impressionist painting perhaps, where every brush stroke counts, and all you are left with is the essence of the thing being captured. I would proudly consider myself to be a hardcore geek, but there is no doubt an aesthetic/artistic component to software done right, a goal you know has been achieved when at the end of a project you re-read the code and gloat over how beautiful and minimal it is!
This part of the satisfaction of software development will sadly be disappearing as the role of coding is taken over by AI, but perhaps there will still be some satisfaction in minimal design, if not in minimal implementation.
Try “Digital Prophet”. It worked for David Shing.
But I, on the other hand, do not find LLMs “incredibly exciting”. Maybe I’m the odd one here, but one of my requisites for getting the computer to do things is for it to do them correctly and efficiently. It needs to do the thing I want, and do it right. But it should also not waste my time and other worldly finite resources doing it. LLMs fail at both, and as such (for me) they don’t make it easier to make the computer do things, they make it more frustrating.
Worse is that now I have to deal with the increasing torrent of shit code that’s being put out by people with zero care or understanding for what they do. Meaning that now I’m being bitten even more frequently, and it’s just a matter of time before I’m affected by an unnecessary, incompetent, and wholly avoidable error. Not to mention the increased spread of misinformation, lies, surveillance, spam, and phishing, all while wasting earthly resources we do not have the luxury of spending right now.
Coding for me is more reading than typing, because any time I'm not exactly clear on the code I want to write, it's because there's some aspects of the problem or the tools to solve it that I do not grasp well. So, I usually have a lot of documentations around me for the stuff I'm working on. And that means I don't like LLM for that, because there's no clear signal for wrongness.
And when I'm clear on the code to write and I find it tedious, that usually means that it's time to abstract away the tediousness. LLMs won't help with that, because it's more of a perspective shift than a clear methodology.
LLMs, in its current forms of offering, is like asking a random stranger in a bar. They may know the answer or not. They may give you an incoherent answer even if they know or fabricate stuff when they don't know. But there's still a plus, is that you may still get "I don't know" or silence instead of a wrong answer. Like getting an empty list when making a web search. Which is a good signal by itself.
Using AI has been exciting because I can now just focus on designing the user experience and architecture at a high level and do less of the typing out stuff by hand. I still have to steer it in the right direction, though, because it does make mistakes but it does beat just typing it out by hand.
I see this one is popular and high on DDG: https://github.com/massCodeIO/massCode
But there's no screenshots or example usages, and it's not obvious to me how it works.
Is it like a local search engine you install? Is it an LSP? An LSP that's lighter than rust-analyzer could be useful for this kind of thing.
Edit: I searched for "What is a snippet manager" and DDG search returned a bunch of useless-looking listicles, but their AI actually told me and linked to an article explaining it: https://www.codiga.io/blog/code-snippet-definition/
Edit 2: I guess it's meant to be used as a VS Code extension. It might work as a standalone app but it would be a little unwieldy. I don't think my favorite text editor has a web view built in, so I couldn't install massCode in there
I no longer recall, I’ve been using them for something like two decades.
> But there's no screenshots or example usages, and it's not obvious to me how it works.
See SnippetsLab for a good example of a snippets manager.
https://www.renfei.org/snippets-lab/
> I guess it's meant to be used as a VS Code extension. It might work as a standalone app but it would be a little unwieldy.
I prefer it as a standalone app. I don’t use VSCode nor would I want integration with my text editor. Snippet managers generally have ways of being invoked from anywhere, or you can type a few characters and have them replace the text, or you can search them from launchers like Alfred.
LLMs can be a lot faster if you're tossing together an initial prototype with a lot of UI. I could type it all out or copy-paste bits and pieces, but just giving a few sentences of what I want and letting it go build is much faster.
There is no LLM which could ever be faster than a well-configured snippet manager for stuff you’ve done before. Not to mention you won‘t get random bad text thrown at you.
Some will go into computer science to push the limits of what is possible. That takes a rigorous understanding of the science, not just throwing stuff into an AI.