Fergus On:

Information Security. Software Engineering. Radio and Electronics. (And the occasional hike.)

Go: Implicit Interfaces and being an Englishman Abroad

Go's implicit interfaces look underwhelming until you define them at the consumption point, not the implementation. I've watched developers new to Go miss this entirely by forcing familiar OOP patterns. Keep interfaces small and local—cleaner architecture, no boilerplate.

When 'design patterns' become 'anti-patterns'.

Design patterns give you a shared language for architectural decisions. Treating them as rules instead of ideas ends up boxing in the implementation. I use them to communicate intent, not to prescribe structure.