Upgrade to Pro — share decks privately, control downloads, hide ads and more …

[Golab 2025] The Gopher's Craft in the Age of AI

Sponsored · Ship Features Fearlessly Turn features on and off without deploys. Used by thousands of Ruby developers.

[Golab 2025] The Gopher's Craft in the Age of AI

Talk presented at Golab Florence in October 6th 2025

Avatar for Daniela Petruzalek

Daniela Petruzalek

February 02, 2026
Tweet

More Decks by Daniela Petruzalek

Other Decks in Programming

Transcript

  1. Who am I? Developer Relations Engineer at Google, originally from

    Brazil 󰎙, but living in the UK 󰏅 since 2019. My background is in backend and data engineering. Have been doing Go development (on-and-off) since 2017.
  2. A common Gopher’s trait is to take pride in readability,

    maintainability and testability of their code
  3. Vibe coding is a coding approach that relies on LLMs

    to generate working code by providing natural language descriptions rather than manually writing it
  4. Everyone in this room is capable of cooking, but not

    everyone in this room is a professional chef
  5. A Good Prompt Template Task: what you want to achieve,

    including context, constraints, etc. References: links to documentation, reference implementations, etc. Testing: example commands with output.
  6. Example Prompt Your task is to create a Model Context

    Protocol (MCP) server to expose a “hello world” tool. For the MCP implementation, you should use the official Go SDK for MCP and use the stdio transport. Read these references to gather information about the technology and project structure before writing any code: - https://github.com/modelcontextprotocol/go-sdk/blob/main/README.md - https://modelcontextprotocol.io/specification/2025-06-18/basic/lifecycle - https://go.dev/doc/modules/layout To test the server, use shell commands like these: ( echo '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-06-18"}}' ; echo '{"jsonrpc":"2.0","method":"notifications/initialized","params":{}}'; echo '{"jsonrpc":"2.0","id":2,"method":"tools/list","params":{}}'; ) | ./bin/godoctor
  7. Vibe Coding is “TDD on Steroids” RED: Start with a

    new feature request GREEN: Make it work PURPLE: Make it GOOD
  8. Gemini CLI Open source AI Agent that uses the Gemini

    model family for software development tasks. Can be used standalone or in combination with an IDE (e.g.: VS Code or Zed) github.com/google-gemini/gemini-cli
  9. Jules Asynchronous coding agent that integrates with GitHub and helps

    with fixing bugs, creating documentation and adding new features. jules.google
  10. My Current Workflow Business Value Technical Certainty High High Low

    TOP PRIORITY NOT DOING NEEDS RESEARCH NICE TO HAVE
  11. My Current Workflow Business Value Technical Certainty High High Low

    Gemini CLI + IDE NOT DOING (or Jules) Gemini CLI + Deep Research Jules SYNC ASYNC SYNC + ASYNC ASYNC
  12. Go SDK for MCP 1.0 Partnership Anthropic and Go Team

    Version 1.0 just released! 🎉 github.com/modelcontextprotocol/go-sdk
  13. Remember This Prompt? Your task is to create a Model

    Context Protocol (MCP) server to expose a “hello world” tool. For the MCP implementation, you should use the official Go SDK for MCP and use the stdio transport. Read these references to gather information about the technology and project structure before writing any code: - https://github.com/modelcontextprotocol/go-sdk/blob/main/README.md - https://modelcontextprotocol.io/specification/2025-06-18/basic/lifecycle - https://go.dev/doc/modules/layout To test the server, use shell commands like these: ( echo '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-06-18"}}' ; echo '{"jsonrpc":"2.0","method":"notifications/initialized","params":{}}'; echo '{"jsonrpc":"2.0","id":2,"method":"tools/list","params":{}}'; ) | ./bin/godoctor
  14. Don't be afraid to interrupt the AI Encourage tool use

    Have you tried turning it off and on again? Tips for a Successful Experience
  15. Want to Try it Yourself? Codelab: How to Build an

    MCP server with Gemini CLI and Go goo.gle/cli-lab
  16. Develop your prompting / story writing skills Prioritise your tasks;

    use async coding for the less critical ones Actively manage your context window Equip your toolbox with MCP servers Handcrafted code: for what you really care about Takeaways