<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/gophercon-uk-2026-jamie-tanna-6tqlridk2" -->

---
title: GopherCon UK 2026 · Jamie Tanna | daily.dev
description: A personal recap of GopherCon UK 2026 covering multiple talks: staying passionate as a developer in the AI era, AI-assisted coding case studies at Paddle,...
canonical: https://daily.dev/posts/gophercon-uk-2026-jamie-tanna-6tqlridk2
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: GopherCon UK 2026 · Jamie Tanna | daily.dev
og:description: A personal recap of GopherCon UK 2026 covering multiple talks: staying passionate as a developer in the AI era, AI-assisted coding case studies at Paddle,...
og:url: https://daily.dev/posts/gophercon-uk-2026-jamie-tanna-6tqlridk2
og:image: https://api.daily.dev/og/posts/6TqlRidk2.png
og:image:alt: GopherCon UK 2026 · Jamie Tanna
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# GopherCon UK 2026 · Jamie Tanna

**[Awesome Go](https://daily.dev/sources/awego)** · 16 min read · 1 upvotes · 0 comments

## Summary

A personal recap of GopherCon UK 2026 covering multiple talks: staying passionate as a developer in the AI era, AI-assisted coding case studies at Paddle, building Go web apps with HTMX/Templ/sqlc, treating MCP as the new API layer at Typeform, teaching CompSci with Go, zero-code Go instrumentation via OpenTelemetry/OBI, API design as a performance lever from Dave Cheney, building custom Go refactoring tools, and a follow-up London Gophers meetup with talks on goroutine lifecycle management and the Fyne-based FyshOS desktop environment. The author also offers feedback on talk length and speaker diversity for future editions.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://www.jvt.me/posts/2026/08/14/gophercon-uk-2026>

## Questions this post answers

### Should I build an MCP server as a separate service that wraps my REST API, or integrate it into my existing API?

Build the MCP server into the same web API rather than as an isolated wrapper around a RESTful or GraphQL API. This gives the MCP layer access to the same underlying code and business logic as the rest of the API, while letting you design semantically meaningful, LLM-friendly tools instead of an autogenerated pass-through, which tends to perform worse for agent users.

_Developers designing MCP integrations can follow daily.dev for practical architecture patterns like this._

### How can a team stop AI coding agents from breaking existing functionality during large refactors?

One approach is blocking the LLM from modifying Behaviour-Driven Development tests written with Cucumber, so large internal refactors that would normally touch unit tests can proceed without altering user-facing functionality. Combining this with 'hooks' (deterministic checks like always raising a draft PR) and 'hinters' (nudges toward non-deterministic best practices) helps keep agents on track during big greenfield builds.

_Teams adopting AI-assisted refactoring can track guardrail patterns like these on daily.dev._

### How can I review a large Go refactor that splits one file into multiple files without losing track of what actually changed?

Build a custom tool that compares the AST before and after the refactor and classifies each line as unchanged, moved, or moved-changed, rather than relying on a standard diff, an AI review, or test coverage alone. Go's standard library includes tools for parsing and manipulating Go code, making this kind of AST-based review tooling straightforward to build for a refactor spanning roughly 5000 lines.

_Go developers tackling large refactors can find tooling approaches like this through daily.dev._

## Similar posts on daily.dev

- [Personal highlights of PyCon Lithuania 2026](https://daily.dev/posts/personal-highlights-of-pycon-lithuania-2026-tcfeaqmkc) · Planet Python · 0 upvotes · 0 comments
- [Trip report: CppCon 2026](https://daily.dev/posts/trip-report-cppcon-2026-i153ahcvh) · Sandor Dargo · 0 upvotes · 0 comments
- [KubeCon Amsterdam 2026: Our Recap](https://daily.dev/posts/kubecon-amsterdam-2026-our-recap-yyodhp0rf) · MetalBear · 0 upvotes · 0 comments

---

Tags: [#performance](https://daily.dev/tags/performance), [#ai-agents](https://daily.dev/tags/ai-agents), [#golang](https://daily.dev/tags/golang), [#mcp](https://daily.dev/tags/mcp), [#conference](https://daily.dev/tags/conference)

[View this post on daily.dev](https://daily.dev/posts/gophercon-uk-2026-jamie-tanna-6tqlridk2)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"GopherCon UK 2026 · Jamie Tanna","url":"https://daily.dev/posts/gophercon-uk-2026-jamie-tanna-6tqlridk2","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/gophercon-uk-2026-jamie-tanna-6tqlridk2"},"datePublished":"2026-08-20T20:15:43.724Z","dateModified":"2026-09-13T19:08:27.299Z","description":"A personal recap of GopherCon UK 2026 covering multiple talks: staying passionate as a developer in the AI era, AI-assisted coding case studies at Paddle,...","image":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/0683573edef7e10d724bb9c5fe67b528?_a=AQAEuop","thumbnailUrl":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/0683573edef7e10d724bb9c5fe67b528?_a=AQAEuop","isAccessibleForFree":true,"articleSection":"Awesome Go","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"Awesome Go","logo":"https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/awego","url":"https://daily.dev/sources/awego"},"commentCount":0,"discussionUrl":"https://daily.dev/posts/gophercon-uk-2026-jamie-tanna-6tqlridk2","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":1},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"keywords":"performance,ai-agents,golang,mcp,conference","timeRequired":"PT16M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"Awesome Go","item":"https://daily.dev/sources/awego"},{"@type":"ListItem","position":3,"name":"GopherCon UK 2026 · Jamie Tanna"}]}
{"@context":"https://schema.org","@type":"FAQPage","@id":"https://daily.dev/posts/gophercon-uk-2026-jamie-tanna-6tqlridk2#faq","mainEntity":[{"@type":"Question","name":"Should I build an MCP server as a separate service that wraps my REST API, or integrate it into my existing API?","acceptedAnswer":{"@type":"Answer","text":"Build the MCP server into the same web API rather than as an isolated wrapper around a RESTful or GraphQL API. This gives the MCP layer access to the same underlying code and business logic as the rest of the API, while letting you design semantically meaningful, LLM-friendly tools instead of an autogenerated pass-through, which tends to perform worse for agent users. Developers designing MCP integrations can follow daily.dev for practical architecture patterns like this."}},{"@type":"Question","name":"How can a team stop AI coding agents from breaking existing functionality during large refactors?","acceptedAnswer":{"@type":"Answer","text":"One approach is blocking the LLM from modifying Behaviour-Driven Development tests written with Cucumber, so large internal refactors that would normally touch unit tests can proceed without altering user-facing functionality. Combining this with 'hooks' (deterministic checks like always raising a draft PR) and 'hinters' (nudges toward non-deterministic best practices) helps keep agents on track during big greenfield builds. Teams adopting AI-assisted refactoring can track guardrail patterns like these on daily.dev."}},{"@type":"Question","name":"How can I review a large Go refactor that splits one file into multiple files without losing track of what actually changed?","acceptedAnswer":{"@type":"Answer","text":"Build a custom tool that compares the AST before and after the refactor and classifies each line as unchanged, moved, or moved-changed, rather than relying on a standard diff, an AI review, or test coverage alone. Go's standard library includes tools for parsing and manipulating Go code, making this kind of AST-based review tooling straightforward to build for a refactor spanning roughly 5000 lines. Go developers tackling large refactors can find tooling approaches like this through daily.dev."}}]}
```

