Devoxx Poland 2019
from Monday 24 June to Wednesday 26 June 2019.
James has worked in software delivery since the 1990s when TDD was something you studied but never did, pipelines were for carrying oil and Agile and Lean were words you used to describe athletes.
James worked in a startup for 9 years where he learnt about Agile transformations and breaking up the monolith the hard way, through bitter experience. In 2015 he started a new life as a ThoughtWorks consultant and now finds himself disappointed, shocked and delighted in almost equal measure every day.
See also https://www.jamesbirnie.com
When we talk about architecture in software, what does it mean? If you ask 10 technology professionals "what is architecture?", you get about 15 different answers.
Sometimes an organisation (usually one crippled by legacy software, legacy business structure, legacy methodologies and legacy culture) has a role called "enterprise architect". This role is almost always counter productive. Instead of planning how to deliver value through new software and structures the prevailing culture forces this role to perpetuate the legacy in all of its forms. At best this places constraints on teams by telling them how to use existing systems to extract new value. At worst this culture actively obstructs new value by only telling delivery teams what they CAN'T do.
So how should we view architecture and architects? How should we understand, and measure, our architecture and how can we make sure that our architects both add value and help value to be added? In this talk I'll explain how modern architecture and architects should work, based on our experience of helping complex organisations to move away from their legacy culture and systems.
Quantum computers are real and are starting to be used for some interesting applications. As well as many applications in finance, organic chemistry and complex dynamical systems there is an ugly elephant in the room. That elephant is Shor's algorithm.
Given a sufficiently powerful quantum computer, Shor's algorithm can factorise numbers in polynomial time. I have implemented it on a quantum simulator and it has been used on real quantum computers. When quantum computers are powerful enough nearly all the encryption techniques that we currently rely on will be useless.
The time is still far off when RSA will be useless but I will share some compelling reasons why we need to be taking action right now to avoid potential catastrophe in the not too distant future.
Do you practice TDD? What about BDD? What about H (Hypothesis) DD?
Did you know that SDD (Stackoverflow Driven Development) is a thing? What about Fowler Driven Development or Marketing Driven Development?
I spent some time working with some colleagues on the A to Z of *DD. The result was a full alphabet of things that at least one of us had experienced during our careers. Some serious, some less so, some good, some undeniably indifferent to bad to plain stupid.
But out of all of this I wondered what should REALLY drive our development? In this lightning trip around the alphabet of absurdity I will tell you the one guiding principal that we should all stick to when deciding what should drive our development.