Things I learned in 20158th January 2016
A quick list of things I learned while building things in 2015.
The people are the work
The work is the people and the people are the work. Regardless of whether you waive hands, design, write or code.— Nick Dunn (@nickdunn) June 25, 2015
I'm fortunate to work with some excellent people. I learned to remind myself that there's always other things going on behind the scenes. When the work isn't always ground-breaking or even rewarding, remind yourself that the work is the people and the people are the work.
Grunt, Gulp, Brocolli, Brunch or npm? Bower, Jam, Duo, Ender or npm? Jasmine, Mocha, Tape, Intern or Protractor? Mustache, Handlebars, EJS or Jade? React, Angular, Backbone or Knockout?
The ecosystem moves at such a fast pace that keeping up is a nightmare unless you're in the weeds daily. I've learned to lock down dependencies and use as few tools as possible.
A microservice architecture isn't always the right approach
DHH said it best in describing Basecamp as a "majestic monolith". Choose an architecture based on what your team shape can support.
We've reached peak styleguide. There's even a conference.
I've learned that they only really work if they are living documents. If they are standalone entities, separated from production code or workflow in any way, their usefulness is significantly devalued.
At Friday we're close to hitting the sweetspot of genuinely living styleguides.
Iterate your practice
2015 was the year of process for me. So much newness.
I've run a lot of Scrum projects but I find it increasingly frustrating. So Long Scrum, Hello Kanban explains my thoughts exactly. Scrum enforces rigid ceremonies and ideals that are often crippling. Use with caution.
I've learned that when iterating your process, introduce new things one. at. a. time. We tried adding the concepts of Kanban, throughput, cumulative flow, #noestimates, domain modelling and a new technology stack allatthesametime on one project. Don't try doing that.
Continuous learning, like continious delivery, should be little and often.
People like to belong
Engineers are often introverted souls, but we all need a feeling of purpose and belonging. Peer groups are so important. I've got some thoughts around communities of practice that I hope to shape into words soon.
I'd never come across experience maps before working at Friday. They've become our de facto representation of a target customer experience. Coupled with swim lanes and they become insanely clear articulations that board room folk can grok. More in 2016 I hope.
I still don't know where the acceptance testing sweetspot is
2015 was a baptism of fire for me in terms of exposure to acceptance testing tools. I still don't feel like Cucumber is the right tool. I've seen it used a lot simply as a way to document tests (as opposed to articulating behaviour to business folk), at which point it feels like an overblown vanity tool.
There's a sweetspot somewhere and I've yet to find it.
I've learned more in 2015 than any other in my career. If I learn half as much again in 2016 I'll be a happy bunny.