Thomas Grill’s Post

↩️ I didn’t expect Python to send me straight back to 1999. A few weeks ago, I started diving deeper into Python.  What I didn’t expect was rediscovering patterns from the Smalltalk systems I worked on in 1999. Yes, Smalltalk. Back then I was knee‑deep in large, object‑heavy systems. I thought I had safely archived those memories in the “nice, but let’s not go back there” drawer.  But suddenly, Python’s dynamic nature and object model gave me a familiar déjà‑vu.  Did Python just wink at me? 🈹 My Vibe Coding Expedition  (a.k.a. Pair Programming with a Hyperactive Alien) Then I ventured into Vibe Coding — sketching code interactively with an LLM. Fun? Absolutely.  Predictable? Not quite. 😵💫 Ask for a design idea → get a chaotic buffet of functions you never ordered.  😵💫 As the project grows, the LLM starts to drift — forgetting its own methods like someone who walked into the kitchen and can’t remember why.  😵💫 Keeping the architecture clean requires long, surprisingly philosophical negotiations.  😵💫 And yes, sometimes the LLM becomes… stubborn. It happens. I learned quickly: CONTEXT IS EVERYTHING! So I started asking the LLM to write Markdown summaries of our decisions.  Otherwise, every new session felt like onboarding a colleague with complete amnesia. 🈴 And Then Came Skills, RAG, MCP & Tools  (a.k.a. “Congratulations, you’re now building agentic software.”) Somewhere along the way, I stumbled into the broader ecosystem: 👽Skills vs. RAG — realizing that sometimes the model doesn’t need more data; it needs a well‑defined capability.  👽MCP (Model Context Protocol) — suddenly I’m designing structured tool interfaces like I’m negotiating API contracts with an alien species.  👽Tools — because of course the LLM requires a toolbox now. Why wouldn’t it? At this point it became clear:  I’m not “just coding” anymore.  I’m orchestrating a small team of invisible interns with questionable attention spans. 📜 The Re‑Discovery: Spec‑Driven Development (SDD) Eventually I circled back to Spec‑Driven Development   (shoutout to the Martin Fowler article by Birgitta Böckeler: "Understanding Spec-Driven-Development: Kiro, spec-kit, and Tessl"). And I had to smile. Because in 1999, this was simply called: 😶 Doing your job properly. 😶 * You write the spec.   * You implement the spec.   * If you change the code, you change the spec first. 🙎♂️Back then it felt bureaucratic.  🤖 Today - in an AI‑assisted world - it suddenly feels like the future.   🧐The spec becomes the primary artifact.   🧐The code becomes the byproduct. A final realization about working with LLMs 👺 Their answers always make some sense — In Some Sense👺 #Python #AI #VibeCoding #SoftwareArchitecture #Smalltalk #AgenticAI #MCP #RAG #SpecDrivenDevelopment #TechHistory

For those interested in the deep dive on SDD, here is the Birgitta Böckeler article I mentioned (via Martin Fowler's site): https://martinfowler.com/articles/exploring-gen-ai/sdd-3-tools.html

Like
Reply

To view or add a comment, sign in

Explore content categories