JAX speaker interviews

Nigel Runnels-Moss on how psychology and cognitive science play a role in programming

Coman Hamilton

JAX London speaker Nigel Runnels-Moss speaks to JAXenter ahead of his session. Read on to see why Nigel is not looking forward to Java 9 and see what advice he would give to young developers.

Ahead of JAX London, we caught up with speaker and Agile expert Nigel Runnels-Moss, otherwise known on Twitter as @sleepyfox. Nigel is a software expert who has worked in the industry for over 25 years. He is interested in the areas of social dynamics, methodology and organisational change. Nigel also runs London Code Dojo to help professionals rediscover the joys of coding. On Tuesday October 14th, Nigel will present on “The Dark Side of Software Metrics” and discuss what software quality really means.
JAXenter: At the JAX London you’re going to be talking about the “organisational (mis)behaviour” that software metrics can cause. What kind of misbehaviour?
Nigel Runnels-Moss: Ever seen a manager push a team to ‘increase our velocity’? What happens? Stories curiously get larger over time… Ever seen a developer asked to give a ‘rough estimate’ that mysteriously appears the next day  on a project plan and next week becomes a team commitment? What happens? Developers get very evasive about any kind of estimation, or even any kind of communication with management at all.
Ever seen teams rewarded for having fewer bugs? What happens? Bugs reported by testing or support get classified as ‘WAD’ (Working As Designed), ‘Not a bug’, ‘Won’t fix’ or get rounded up together and all classified as a duplicate of the ‘UI fault’ super-bug… There are better ways of measuring things, but first we have to understand what can be productively measured, and what can’t; how the selection of scale and instrument affect the measure, and what are the bounds of error or certainty that the measurement has. All too often our culture persuades us to mistake measuring for managing, but it’s not.
You’ve got some interesting ideas on how areas like psychology and cognitive science can play a role in programming. In what kind of ways do you think multi-disciplinary sources can influence software development?
Most of the really interesting advances in Science seem to have come about through collaborations between disciplines; when I was at University I was fascinated by Artificial Intelligence: the conjoining of Computer Science, Neurobiology, Systems thinking, Learning Theory and Psychology. Now we have Complexity Science, Exobiology, Sustainable Development, Quantum Information Processing, Cybernetics and many other interesting collaborations. For too long Science has been insular and favoured specialisation over collaboration, now it is time to integrate Sciences with each other, and with other disciplines – an excellent discourse on this is Stephen Jay Gould’s book “The Hedgehog, the Fox, and the Magister’s Pox”. We have more to learn from each other than our hubris will allow us to admit.
The internet of things – is it the next revolution in programming? Or just another overhyped trend?
I’m not a prophet! Many of us have been talking about
distributed computing and network systems for decades, so perhaps the IoT is ‘just’ another forcing factor. One thing that I can say for certain is that it makes the already difficult situation of ‘not enough programmers’ much much worse, but that’s a whole other topic of conversation…
Are you looking forward to Java 9? Why (not)?
No; Java is the new COBOL. For me, the most interesting thing about Java is not the language, but the ecosystem of alternative languages that have evolved around the JVM – which has given us not only the usual suspects of Groovy, Scala, Clojure, Jython and JRuby – but also Nashorn, Renjin, Ceylon, Joy, Ioke and Kotlin, to name but a few. The JVM is an incredible feat of engineering, but the future is not Java.
What kind of music do you listen to while coding (if any)?
Whilst I’m sure discussing peoples’ musical tastes de rigueur, I probably won’t be popular for saying that the research is telling us that we’re more productive without most kinds of music, see for instance this article: I now use to provide an ambient noise soundscape which helps cover intrusive external environmental noise (cow-orkers, telephones etc.) whilst remaining free of lyrics or distracting melodies. Try it and see for yourself.
Any advice for young, budding Java developers out there?
Use the community: London Java Community, London Code Dojo, London Software Craftsmanship Community – one of the best things about London is the wealth of tech community events. If you’re not in London, find like-minded people in your own locale, join up with them and help each other learn and improve. Practice practice practice! Learn new things, stray outside your comfort zone, as the farewell message of the Whole Earth Catalog said: “Stay hungry, stay foolish”.
Coman Hamilton
Coman was Editor of at S&S Media Group. He has a master's degree in cultural studies and has written and edited content for numerous news, tech and culture websites and magazines, as well as several ad agencies.

comments powered by Disqus