I like vibe coding!
I find vibe coding useful!
I like being able to code in languages I'm not very familiar with in order to achieve a task. I like IT. (Networking, building computer systems, virtualisation, services etc.) I like coding (with and without LLMs). I like electrical and electronics and IoT. I like mixing them all up. Getting systems going. My goal with these home projects are working systems. Not to spend the rest of my life becoming expert in lots of individual disciplines which would be impossible for me any how because whilst I can be very focused on individual domains and become very competent in them, that competency then has to compete for head space with other competencies and I end up just becoming confused. Chronically exhausted. Cognitively drained. I know there are some people who can be brilliant at everything but alas I can't. I've been very good at some things in the past that I can barely remember now. Skills learned that simply have not been required or that actually get in the way (professionally). I divvy out the larger part of my cognitive capacity for work and what I need to know in depth for that, which doesn't leave a lot for home interests.
I've also found LLMs useful professionally for production code. Obviously I don't automatically trust what they say and I steer with careful prompts and learned techniques. They are helpful when I "know" something can be done in a particular way but I can no longer remember implementation detail but I know I'll know-it when I see it. I know what smells etc. and know what to look for. They help with mitigating brain fog. I wouldn't use their outputs as-is for sensitive code. Strict performance or security related. I wouldn't accept output in production code if I wasn't already very clear about what it's doing in every respect. But a lot of code just requires cookie-cutter average-mediocracy etc. that just needs to be good enough and where composition and architecture constrains the scope of potential for mischief. If you already know the shape of what you want and what works and how that shape fits in with other shapes and functionally you know how to qualify and quantify what goes into and out of that shape, and you know how to get the LLM to provide that shape then it can be a lot quicker than typing a lot of stuff out! It's possible to avoid technical debt "slop".
I'm in my 50's now and I've spent so much of my life learning skills and talents that are of no interest to people and that I have now forgotten anyway. I like making things. I like creativity. I like learning. It's "what I do". It's what I spend my time and money doing. For fun. It seems to be an alien concept to most people I meet. To me LLMs are a creativity accelerator and learning aid. They can aid in critical thinking even! I've always found the best way of learning to be trying to explain something in detail to someone else. Often forcing me to confront my assumptions and biases etc. Smarter LLMs with effective prompts can be very valuable for this process. I wouldn't believe anything an LLM tells me just because it tells me and especially if it seems to dogmatically insist on something (red flag to me though they've often proved me wrong lol in extended arguments) ... but the same goes for books and people and YouTube videos and cultural entrenched belief systems & biases and so on. People don't seem to consider how books erode critical thinking for example! We're currently influenced by memes that LLM's have an almost exclusive property in that respect! Rather than the opposite if so desired and so employed. Ironically I think.
Having said all that - if I want to learn something in depth, then while LLMs can be useful in setting up learning materials and approaches, introductions and revisions (with external references) ... I would probably leave them to the side during focused learning sessions just because they can be too tempting a shortcut and a distraction. I have terrible handwriting but I still find it useful for my focus to write things out, by hand. It's just another way of forcing me to look at something. And then building something from learned concepts without LLM assistance. And where fixing problems/errors are excellent opportunities for learning. But with limited cognitive load capacity and time, learning things in depth now is a luxury and presupposes I'm not trying to really achieve anything unless that learning is a gateway to some useful achievement. For a professional with very narrow focus - being very competent within just a few (skill) domains or where those skills are transferable and form building blocks for more sophisticated solutions, then spending time learning well is important. Well enough to have sufficient insight to then know when it's OK to break rules etc. Knowing the tolerances of things. If they're actually recognised and remunerated for their hard-won and/or natural talents. [Then there's problem domains of course - whether that's just the one, or grouped abstraction sets or whatever]. In my experience though people like that can be like the portrayal of Sherlock Holmes where they maybe brilliant at something but entirely ignorant of others. I like systems so I try to think in basic terms in physics and wider technologies and sciences and look at their common "themes" like Simple Harmonic Motion for example or how mathematical thinking can be applied to functional programming and projections etc. or to databases with sets. I have learned formal logic and implemented a fair bit of planned logic with the soldering iron when I was young lol. Generalisation. Wider abstractions. Models. Philosophies even, sometimes. That can be applied to multiple disciplines and scenarios. I suppose I think more holistically. And then more industrially perhaps with mimic diagrams in my head and pipelines etc. lol. I love c# because it affords so much "composition". But my thinking is still riddled, I'm sure, with quirks and omissions and corrupted/biased thinking of course.
To me "full stack" goes beyond database/api/graph/frontend type thinking. Like many others I made my own PCB's in the 80's, a basic NAND I think logic chip at University - probably p-type substrate NMOS simple thing or something, learned about ASIC design, OS principles and so on. Tuned circuits and transistor profiles. Made my own radio circuits. Learned how to use logic analysers for 8-bit at least diagnosing of issues at hardware level. Maybe 16-bit in the 90's. I forget. I think in a "wider" sense to many coding professionals (which doesn't necessarily make me better than them at the job!!! - just to be clear). But my thinking is "different" to many. I've looked at so many things. Keep up with latest news in so many things. Have a basic awareness of so many things. That relate. Forgotten so many things. :( Lost competency in most of the things I've ever learned. :( Although I still retain a sense - a learned intuition, of what works, what questions to ask and so on.
If someone wanted to pay me a lot of money (they never have lol) for being a very competent developer within limited scope then I might leave the LLM(s) at home. If a company actually valued some Computer Science and standard patterns, insight into conventions and evolving design philosophies, and a good idea of costs for stages and components of end to end projects and life cycles, liabilities and vulnerabilities and net benefits and so on. At the moment, under those conditions, if paid to be so knowledgeable and expert, I would be better off without the LLM I think (for vibe coding). I'd brush off old notes and practice kata's again and so on. Well. I'd like a hybrid approach maybe using LLM's as a 2nd pair of critical (prompted) eyes still and for test writing and for documentation aid but not vibe coding the project. But for [piece] work that's a limited component in scope and if not paid enough to want to be so expert or where the expertise is not warranted or needed or wanted anyway - if expertise like that can be obstructive even to the team dynamic and company priorities, and if already familiar with technology and code base etc. then LLM's / vibe coding can be quite useful I think. Or for scoping out an idea just to check for barriers, sometimes. Choosing a more likely path for the "pit of success". In any case, LLM use for coding is going "beyond" vibe coding now anyway with multiple agents cooperating in maturing approaches that increasingly sidestep or mitigate at least issues from "vibe-coding". The topic is almost becoming academic in relevancy. But for me, vibe coding is an enabler. I have another month or two before financially I have to get another job (compulsory redundancies at my last workplace) and I'm trying to get as much finished at home as possible with a principal aim of reliable systems making the most out of my limited resources that will "intelligently" assist me - especially in mitigating my very real issues with brain-fog now-a-days. And obviously a component of that is implementing my own (local) AI ideas. Without vibe coding, I would have no hope of achieving my aims in the timescale available to me and the cross-discipline incl. physical-builds I'm doing. I don't have all the skills I need - at the top of my head anyway. I don't have the cognitive loading capacity. With vibe coding, I have a greater than zero chance of achieving some of my aims. If I don't get distracted by articles like this which encourage me to indulge in commenting after 1am in the morning when I'm too tired to think straight or communicate comprehensively.