2016-10-26
I got some nice feedback after the three part Docker article series and had the chance to have a few deeper chats with managers from companies big and small.
They all had their unique situation and while they fight their own daemons day to day, they all have developer experience high on their agenda, and agreed that Docker has a huge part to play there.
We talked about their team structure, their tech legacy and factors that prevent them from going full offense on old processes.
In those talks I emphasized a few things on how to get started to build change from the ground up and have culture do the dirty work. I also decided to share a few of those points in an article. So here it is.
If there is anything I learned during the years of managing developers is that getting people to change is hard. I mean HARD in all caps, if not impossible.
Changing their working environment though yields better results faster, sometimes instantly. And the best news is that you have control over it.
Tooling is a key part of developers daily experience. It’s not hard to see that people do what is easier for them and as much you can fight the tide, why would you? The same time you can make the right thing easy and have people naturally opt for the desired behavior.
It doesn’t require to have a fully staffed platform team or toolsmith team - although it certainly helps, you can get started by having one of your engineer work a full day on the most annoying problem they face. Picking a problem and a person shouldn’t be so hard, just follow the inside jokes and find the person yelling the loudest and you quickly find good candidates.
A lot of damage can be done in one day, and if you timebox the effort, you can be sure of finding a pragmatic solution to your most annoying problem. The only thing left is celebrating the small scripts and promote sharing.
Knowledge is never evenly distributed in your team, plans on the other hand always assume the cutting edge.
You would expect you have Git proficiency in your entire team, and everyone has multitude of scripts to automate their daily work. It’s not quite true on the edges.
Therefor it is crucial to reinforce the knowledge of Git, Continuous Integration (CI) and have your team master Docker basics in order to not be bogged down with technicalities.
Tooling hides the complexity, but the listed skills will never be sparred from developers. They are a baseline in a nimble technical organization. Especially as Docker is becoming as ubiquitous as Git.
Investing in your release process has multitude of upsides.
Are you running Kubernetes?
You can bootstrap logging, metrics and ingress with my new project, Gimlet Stack. Head over to gimlet.io and see if it helps you.