[HN Gopher] A set of Idiomatic prod-grade katas for experienced ...
       ___________________________________________________________________
        
       A set of Idiomatic prod-grade katas for experienced devs
       transitioning to Go
        
       Author : medunes
       Score  : 86 points
       Date   : 2026-01-07 19:53 UTC (4 days ago)
        
 (HTM) web link (github.com)
 (TXT) w3m dump (github.com)
        
       | medunes wrote:
       | I've been transitioning to Go after years in other ecosystems,
       | and kept running into the same problem: I could write correct Go
       | code, but not idiomatic Go.
       | 
       | Most material focuses on syntax or algorithms. In practice, what
       | caused friction were production mismatches: context cancellation
       | and goroutine leaks, errgroup vs WaitGroup tradeoffs, HTTP client
       | hygiene, error wrapping semantics, allocation control,
       | embed/io/fs for dev-prod parity, etc.
       | 
       | I started collecting small, constraint-driven katas that isolate
       | one such mismatch at a time. Each kata defines explicit pass/fail
       | idiomatic constraints, rather than providing solutions. The goal
       | is deliberate practice, not "best practices" or tutorials.
       | 
       | This repo is curated by someone transitioning to Go, for others
       | doing the same. It's not meant to be authoritative. If you're
       | experienced with Go and spot incorrect, unsafe, or misleading
       | constraints, issues and PRs with rationale and references are
       | explicitly encouraged.
       | 
       | I'm especially interested in feedback from people using Go in
       | production on where these constraints are wrong, incomplete, or
       | missing important edge cases.
        
         | CyberDildonics wrote:
         | What is the difference between a "prod grade kata" and a
         | practice project?
        
       | typeofhuman wrote:
       | I wish it had solutions.
        
         | poly2it wrote:
         | And automatic tests in some cases.
        
       | maxloh wrote:
       | Could you please add a LICENSE file to the repository? MIT or any
       | Creative Commons licenses would be a great choice.
        
         | jamietanna wrote:
         | I'm not sure why this has been flagged - its not possible to
         | copy code from the repo, as it defaults to All-Rights-Reserved
         | (aka proprietary)
         | 
         | Unless that's explicitly the intent, in which case that's fair
        
       | kace91 wrote:
       | The instructions mention "Reflect: Compare your solution with the
       | provided "Reference Implementation" (if available)" but not a
       | single line of code is present.
       | 
       | Is this an artifact of it all being ai generated, or work in
       | progress?
        
       | twodave wrote:
       | This honestly just looks like a bunch of ChatGPT output. There's
       | almost no code (I checked maybe half a dozen topics). Not sure
       | how useful this is for anyone besides the author. Why would I
       | look at this instead of asking an LLM?
        
         | MrDarcy wrote:
         | I'm sure this is useful for me who is a staff+ engineer
         | building a team who are transitioning to go.
         | 
         | Including these Kata in AGENTS.md is extremely useful.
        
       | nicois wrote:
       | If the idea is to have devs implement each kata, wouldn't it be
       | more effective to provide not only automated tests, but also code
       | which should be used as a basis for each challenge?
       | 
       | For example, if supporting a dev tag to serve assets from the
       | filesystem, why not include a simple webserver which embeds the
       | contents?
       | 
       | This would allow aspiring gophers to go straight to the high
       | value modification of a project rather than effectively spend
       | most of the time writing scaffolding and tests.
        
       ___________________________________________________________________
       (page generated 2026-01-11 23:00 UTC)