The Idiot Vibe Coder

Retro-terminal blog engine

Post

I have no idea what the &#!* I'm doing

I’m not a professional programmer. I don’t have a CS degree. My technical "pedigree" is a patchwork of VBA, manhandling PowerPlatform code, and just enough C++ and Python to be dangerous. So when I could start asking a chat bot how to solve my programming woes I jumped at the opportunity.

In a simpler time, you know 24 months ago, Vibe Coding was barely a philosophy - it was:

  • Bombarding ChatGPT with code snippets and hoping they'd work.
  • It was a mental breakdown at 2am because I couldn't brute force my way into fixing an automation flow.
  • But it was also occasional bewilderment and amazement when output code blocks actually just worked.

The ping-pong match

My vibe-coding wizardry at the time was taking problematic code snippets, tossing them into ChatGPT with a rough guidance prompt and watching as this chat interface would fix code for me. I use the term "fix" loosely as it probably had a 50% success rate on a good day.

My brute-force workflow was a predictable loop:

  1. Write some terrible code that fails instantly.
  2. Panic copy-paste a random 40-line snippet into the chat.
  3. Attempt to jam an entire system architecture into a 2,000-character prompt, followed by a desperate "Pls help fix".
  4. Receive a confident, beautifully formatted response that referenced variables I never defined and used syntax from a completely different language.
  5. Paste it back into my tool. Watch it explode again.
  6. Repeat until 2 AM.

I could slowly hammer out prototypes in far less time than it took me to read every Stack Overflow post or Microsoft forum about what I was doing wrong - and that was already enough to get me hooked.

The Context Void

I was initially treating the LLM like a debugger, but as projects got larger and more complex the context couldn't fit into a single chat. Even with a giant context post to start a chat session, the models of the time quickly began to stray or hallucinate. And if you started a new chat, all of that previous context was lost to the void. It was like trying to get an idiot-savant with the memory of a goldfish to code for me.

I'd love to claim that I just turned a corner and immediately arrived at some agentic workflow that "just worked", but the tools weren't there yet and the noise in the AI space was (and still is) deafening.

Onwards and upwards

It was messy. It was inefficient. But it was the moment I realized that the barrier to entry for building software had fundamentally shifted. I didn't need to know how to write the perfect loop syntax; I just needed the patience to describe what the loop needed to do forty different ways until the vibe matched the output.

Through sheer volume of attempts and aggressive brute-forcing of syntax errors, functional workflows have emerged. And as time passed, better tools arrived. And eventually I stopped spamming contextless pleas for help and started building systems.

This series, "Humble Beginnings," is a log of that chaos. Welcome to the recovery.

RECOVERY LOG SOURCE: GPT-3.5 (CIRCA 2024)

Comments