Monday evening sun is shining and the wind is blowing me one step back when I take two forward. Gofore’s HQ in Tampere, peltokatu 34. Thirty or so developers, and of course the promise of warm sauna, and two hours of talks about the hot topic of vibe coding.
GDG Tampere pulled together three speakers with three interesting topics, three different angles. Here’s what I took away.
Gofores sauna lobby felt like the inspiration for my new basement lounge ❤️
”I Vibe Coded a Circuit Board”, Jari Timonen, Lead Cloud Architect at Codento
The one that stuck with me most, mostly because of my masters in embedded devices.
Jari’s talk was about using AI for hardware design, specifically PCB layout with KiCad. The honest summary: AI can help, but it’s still firmly in toddler mode when it comes to demanding hardware design. and its always nice if you know someone with the actual expertise to check your design.
A few gems from the talk:
- Gemini Deep Research turned out to be genuinely useful for the research phase, especially when you feed the output of one iteration back as input for the next round. Iterative prompting, not one-shot.
- KiCad +
kicad-happyhelps with routing paths and design rule checks. Saved real time on the busywork. - Custom PCB ordering from China: JLCPCB will produce 5x 4-layer boards fully assembled for around €150. Anyone who remembers what hardware prototyping used to cost will find that number pretty wild.
- Gemini Gems: you can create a domain expert persona, load it with your datasheets, specs and related books as a base, and have a consistent specialist to interrogate.
The quote that landed: “LLMs are like doom scrolling.” The implication: they’re compelling, they keep you engaged, and you might not notice how much time passed or how little signal you extracted. And if you happen to wake up in the middle of the night to just write one more prompt your having a AI SPYCHOSIS!!
”Slow the F* Down”, Pekka Kokkonen, Technical Lead at Gofore
The best title of the night. And the most honest talk.
Pekka didn’t come with a success story. He came with a post-mortem: a real project that went sideways when vibe-coding too fast, and then a methodical breakdown of how they recovered. You don’t see that kind of post-mortem honesty at meetups very often.
Key ideas, based on these three talks:
-
“Software Fundamentals Matter More Than Ever” by Matt Pocock
-
Grill-with-docs: an AI pattern where the model asks clarifying questions until it has genuine shared understanding before generating anything. Don’t skip this step.
-
Create the shared design concept first. PRD (Product Refinement Document) as the common ground between humans, between sessions, and between agents. (how to write PRDs for AI agents)
-
Slice vertically, not horizontally. Instead of building the whole auth layer, then the whole API layer. Build a thin slice that’s testable end-to-end. This enables TDD. TDD + deep modules. (further reading)
-
DDD (Domain Driven Design): a shared language across human, AI, and code. When the vocabulary is consistent, hand-offs work. When it isn’t, things break quietly.
-
Share skills between developers so different AI implementations don’t keep overriding each other’s work. The PRD helps anchor this. This changes the 20k+ line PRs to more manageble sizes.
MCP, Agent Sandboxing & Other Bits, Aki Ristkari, Lead Cloud Architect at Reaktor
The third talk touched on MCP (Model Context Protocol) and the practical realities of agent tooling:
- MCP should return structured results. That’s actually the main thing to get right. ~100 lines of code gets you a working MCP server; production-readiness takes much more, but the core concept is small. MCP becomes the only path to an outcome, so the model routes through it naturally.
- Skills vs. MCP: skills are things the LLM can use if it chooses. MCP tools are often the only way to reach a certain outcome, so the model is directed toward them. Different affordance.
- agent-safehouse and nono: tools for sandboxing agents. (overview of the sandboxing landscape)
- Checkov for Terraform: apparently a must-have. Security/policy validation for IaC. In the end MCPs are easy to build and try and you should do it, but PRODUCTION is still a PRODUCTION and needs more work on top of the base MCP is working.
The Room
52 registered. GDG Tampere crowd is practitioners, people who write code for a living and want to think out loud about where things are going. Good conversations in the hallways. Nice to validate with someone else that agents are genuinely useful in the right context; I’ve been using them daily and occasionally wonder if I’m in a bubble.
Sauna was open. Water was actually hot this time (no cold shower required). I caught the commuter train home when the schedule ran long. No ragrets.
Gofore’s new Tampere space is nice, first time for me in there. Food and beverages were great.
Pasta, corn, peas, pickles, sun-dried tomato, ham, blue cheese, mayo dressing
What I’m Thinking About
Nothing fundamentally changed in my view towards AI but again more ideas started bubbling up. The direction feels right. But the “slow down” framing is a useful corrective. The instinct to vibe forward is strong. The discipline to align first, design the shared concept, then build. That part is harder than any prompt.
Further Thinking
Some things I have read that pushed back on the general optimism.
Agentic Coding is a Trap: The sharpest counter to the night’s general optimism. Argues that “orchestrator mode” creates cognitive debt: only a skilled developer can catch the generated code going wrong, yet that same skill atrophies the less you write yourself. Also flags vendor lock-in (Claude Code outages have already frozen entire teams). Same point as Pekka’s “slow down”, but taken further: slowing down isn’t enough if you stop coding entirely.
Don’t Vibe Code; Delegate: Vocabulary matters. Calling models “copilots” triggers the ELIZA effect; we’re hardwired to trust things that speak to us. “Delegate” is more honest. You give instructions, you verify outputs, you stay responsible.
The Vertical Codebase: TkDodo on codebase structure, not AI-specific. Group by domain/feature, not by type. The AI angle: vertical codebases are dramatically easier for agents to navigate without cross-cutting side effects. Pekka’s vertical slicing advice might matter even more as an AI prerequisite.
The “slow down” and “agentic coding is a trap” arguments aren’t contradictions, they’re the same warning at different zoom levels. Pekka’s version: slow down within a project. Lars Faye’s version: slow down across your career.