You will never understand it all
At the opening to the annual JAX conference in Mainz, Germany, developers were reminded of how little they know, and the one fact that they need to remember.
“Chance favours the prepared mind,” says Adrian Colyer, quoting Louis Pasteur at the start of his opening keynote speech at the enormous JAX 2015 conference in Germany. It’s impossible to know everything, Colyer tells an audience of over 2,000 developers – an appropriate message for a conference of this size with over 200 sessions.
Using a slide from Simon Wardley, the former SpringSource CTO explains that the more you understand about IT, the more you realise how little you really know. Although novice developers are quick to enter the “I’m an expert” phase, the true expert phase comes when a developer sees all the information that they will never understand and admits that they, like Jon Snow, know nothing.
You will never bridge the gap between what you know and what you know that you don’t yet know (you know?). But you can prepare your mind, says Colyer.
Shifting an approach towards systems as organisms is “brutally hard and painful”, says Colyer, this time quoting Asim Aslam. And it’s even more painful for those that wait. That’s why developers need to prepare their minds for what’s happening in IT.
Colyer explains the current paradigm shift as the breaking up of large singular units of old technologies into smaller ones. We’re moving from deploying every six months to every month, every week, and maybe even a few times a day. The lifecycle becomes more fine-grained. That in turn makes the business move faster and be more reactive.
You can’t deploy massive monoliths on such a short timescale. By necessity then, the lifecycles become smaller and smaller, which brings us towards microservices. That in turn effects the organisational structure, which becomes more fine-grained as developers become more autonomous within a DevOps approach.
Meanwhile the data partitions mean that developer teams can move 1/20th of their data somewhere else within the system. Containers are yet another new addition to the IT world that is breaking down the runtime environment into finer grains. Finally, Colyer explains that we used to have one machine for many users. Today, we have one user with multiple machines.
Colyer’s illustration of the change to a fine-grain IT is convincing. It seems now all that remains is for developers to understand the technological break-up while accepting how little they can really know about it all.
Take a look at Adrian Colyer’s JAX 2015 opening keynote slides below.