Vibe coding - Second thoughts

Being completely open, I used to quite enjoy doing some development when I was a lot younger, and through my two careers, I’ve done some scripting. I am not a developer though by any description.

I have a few small tasks I do regularly on my Mac mini server which I wanted to automate. I find Keyboard Maestro confusing in its syntax, so I thought I’d have a crack at doing them in Shortcuts. I’ve done it before to create a branching packing list in Shortcuts which is imported into OmniFocus.

My Turbo Pascal knowledge doesn’t work in shortcuts (there’s no For loop, the functionality is there, but it’s not called For … Until.), so because I couldn’t find a way to use Apple Intelligence, I used Claud.ai to Vibe Code in shortcuts.

I can see the appeal. it did take us 4 rounds to work out how to get to get the full filename. I don’t think it really helped me learn tough.

The analogy that came to me was using a car GPS to direct you to a destination.
When I used to do a lot of driving to 1 time locations back in my 20s, I was regularly plan my route and if I knew 80% of the way there I’d focus on the extra 20%. These days I use GPS and if I was asked to make the same journey again a week later without, I doubt I could for anything but an easy journey.

With Vibe coding, it felt the same, I was getting to where I was needing to be, but I wasn’t learning.

And my requirements were really simple, if not I’d be concerned about the quality of code, and as a developer I’d be concerned about my skills waning over time.

Has anyone else done any vibe coding? any thoughts?

2 Likes

I’ve attempted no coding, but I can see the same problem happening with writing. This is why I have decided to strictly limit my use of AI when it comes to my writing. What minimal skills I have, I don’t wish to have atrophy.

1 Like

My current thinking is that vibe coding does not help you learn per se but it can help you learn. I am a physicist turned software engineer and used it for two projects.

First I helped my father develop a little python app for some software testing he needed. In that project I did not learn a much. Expect from how to use AI.

In contrast to that I learned more in a second project where I am trying to get sticky keys visualised in the menu bar. Here, I learned more because I actually checked the code which ran into limitations of how much Apple allows access to system level information.

I am not sure how transferable my experience is but as a self-taught software engineer it helps me where I have a few holes in my knowledge and get to know sind standard solution to problems through AI. The only thing is whether my second experience can be called vibe coding if I check the code.

Our dev team has found (at least) two great benefits to AI development tools.

There are some really mundane parts of software development and the opportunity to offload those to a robot for a quick solution is greatly appreciated.

There are lots of proof of concept or quick test work that has to be done in software development where scalability and security don’t matter. Getting to that point so quickly with AI is an incredible asset to a development team (and the company they work for).

In both of these contexts, it can have some learning benefits as well as the final result benefit.

“Vibe coding” has been an interesting development. We’ve done experiments around it with non-coders, junior developers, and senior developers. I wouldn’t consider it as a learning exercise- it’s more purely a product development (final result) exercise. At least, that’s what we’re finding.

There is a middle-ground.

Claude is great at answering questions about code - which is particularly important in an age when documentation is not as detailed as it was for Turbo Pascal and when there can be so many issues related to dependencies or system configuration.

A middle ground is to try to code it yourself but ask Claude to help if/when you get stuck. Or ask Claude specific questions (like “What is the Shortcuts equvialent of a Pascal For loop?”)

I think vibe coding is much more useful/effective for someone like you (and me) who has the background to think like a programmer but is too busy with other things to get 100% up to speed on the syntax of current frameworks.

2 Likes

This is the part I can see, if you compare it with a hackathon I can see the clear benefit. but not for production code.

For production code, we’ve only found it to be useful when you’re mentally stuck on a problem and you just need to see a different way to approach it. You might take the suggestion (carefully reviewed) or it might just get you thinking about another way to think through possible solutions.

1 Like

I mostly agree. AI adds swaps coding work for code review work. Whenever the review is harder than the coding, it does not add much. However, when the affected code is closer to an “endpoint” rather than deeply buried in the inner workings of the system it can help. If you have good tests.

In many real world cases the code base is historically grown and has mixed test coverage. So AI is not used heavily in our team.

1 Like