As a consultant I see so many companies using the latest and greatest buzzwords, forking out staggering amounts of cash for hardware and tooling and generally throwing anything they can at the wall to see what sticks.
The problem? Their teams still struggle to produce high-quality output and are often incurring unsustainable technical debt. Codebases are still impossible to navigate and there’s always that underlying dread that one day soon someone is going to discover what a mess everything is.
How can this happen? It wasn’t supposed to be this hard! Don’t we all know all this stuff by now?
Let’s take a look at some patterns and practices to reduce the cognitive load of navigating a codebase, maintaining existing features and adding new ones, and all while shipping high-quality products. Fast.
Here’s a version of Back to basics: simple, elegant, beautiful code that I delivered at DDD Brisbane 2015.
Cyclist. Runner. Hiker. Singer. Violinist. Budding skydiver. Photographer. Former semi-pro photographer. Ballroom dancer. Motorcyclist. Occasional sailor. Good with edged weapons. Red Frog. Legatee.
It should go without saying that any opinions, beliefs and other statements made here are my own, and do not represent in any way the views of any employer either past or present. Let's be grown-ups about this, shall we?
I'm Head of IT & Engineering at Etax, Australia's largest privately-held tax agent. Other interesting places I've been before Etax include Octopus Deploy, ThoughtWorks, Readify, Zap BI, Realex Payments and TRL.
I'm a fan of high-quality code, domain-driven design, event-driven architecture, continuous delivery and, most importantly, shipping software that works and that solves people's problems.
I have a number of small open-source creations, including Nimbus, ConfigInjector and NotDeadYet, and am an occasional contributor to several more.
I'm a regular speaker and presenter at conferences and training events. My mother wrote COBOL on punch cards and I've been coding in one form or another since I was five years old.