Here is a partial (in both senses) script of what I took away from @JAX Finance in London last week. I went there as an ex-HFT infrastructure architect and more recently into multi-channel API streaming for Fintech UI developers (streamdata.io), so interested in Financial IT best practices in our new SaaS+Mobile+API-first world.
The day started with what I was expecting to be an institutional communication from ING on their IT transformation. And Henk Kolk, Chief Architect, got me wrong. With a rare lucidity on the current tech environment (“Software is eating the world” M.Andreesen; “Speed is market share” A.Cockroft), ING has devised a pragmatic and bold plan to turn new technologies to their advantage. With Farley & Humble as gurus (BTW, both Thoughtworkers), continuous delivery is drawing the entire IT organization to agility and self-responsibility. Challenging this journey, I did some research and found this great report from the tranches that ING communicated at InfoQ: http://www.infoq.com/news/2014/06/ing-transtition-to-devops.
On the organizational side, ING has set the rules to stay in control of the process while facilitating it: developers have been re-insourced and considered a core competency. At some point, I thought Eric Schmidt was talking: “Partners are welcome, outsourcing not preferred”; “Continuous delivery in all our teams”, “Nothing beats engineering talents”, “We distinguish by building great software”. From the Valley Giants, it sounds like ING has managed to appropriate itself not only the technology but also -and most importantly- the culture. And my favorite in this talk: Henk’s AC/DC quote from Let There Be Rock applied to energized dev teams:
There was fifteen million fingers
Learnin’ how to play
And you could hear the fingers pickin’
After this energizing keynote, giving much hope on the evolution of Retail Banking, I switched to trading/investment banking, with Peter Lawrey (First StackOverFlow silver, Java guru) showing us what could now be achieved in HFT, with its low-latency and deterministic constraints. Low-latency depends mainly on processing time and throughput. In this session on determinism, I realized constraints have not changed since I took some distance on this technically-fascinating world, but performance has exploded: 25ms end-to-end treatment, 99% of the time ! Peter shared some of its £XXm-worth software architecture tips:
- determinism: look at 99.99% distribution, you need large data set (8 days of data)
- look at latency distribution : record output of API output (Eric’s note: to avoid quantic observation bias http://www.sciencedaily.com/releases/1998/02/980227055013.htm)
- uncommited sync = fast (1 microsec) : but “cost of disk space is proportionate to the size of the company” (so true!)
- produce less than 1 GB/hour of garbage, and you can get along 1 day
- Java 8: short-lived objects can be numerous, avoid long-lived
During the second session on low-latency, John Davies from C24 covered throughput, and the impact of working with binaries. In summary: binary data is 10 times smaller, so 10 times faster. In summary on HFT: the race to the nanosec is not over, and is still per se fun, even though debatable/debated (Eric’s note: an interesting view is Flashboys by Michael Lewis, featuring mostly ex-Radianz Inc. folks).
After these tours of Retail Banking rock and Trading fun, my curiosity drove me to an area I had not explored for a while (telecoms): Graph theory. Jim Webber from Neo4j showed us applications of graph theory to social network optimization (Eric’s note: classic since 6 Degrees by Karinthy then Guare), then, to real-time risk/security management against phishing. All this with a good dose of graphics, british humour and a real speaker talent.
I had to miss many sessions on algorithmic trading, and even Java 8 streams, but enjoyed the presentation of Sam Adams who has organized (sorry I can’t refrain) a Tea Party in the Forex market with the LMAX exchange.
On the DB side, Christian Gross covered the To be SQL or to be NoSQL DBA existential question, confirming that there is no silver-bullet for all usage, and that best use of NoSQL so far is Google’s core business. I appreciated his image to explain sharding:
Last talk I could attend was the most aspiring, called Beautiful Structure. The subject itself resonates with my attention to aesthetic architecture as the most efficient way to tackle performance issues. And the talk was delivered by an ex-ISS architect, Chris Chedgey, now at structure101. As much as I enjoyed the pix, what I enjoyed most was the substance of Chris’ exposé, that could be summarized as simple and homogeneous is beautiful. A plain old modular architecture is scalable and allows teams to progress in parallel: watch dependencies, levels, cumulative component dependency and their locality. During the session, I caught myself dreaming of Chris working with Steeve (https://github.com/steeve/france.code-civil) to optimize our Civil Code with the same angst for beauty and simplicity, in the interest of all citizens: how many dependencies exist? are they local? are levels well defined ?
In the evening, I was glad to join the Fintech Meetup kindly organized by Zee and sponsored by Xignite. We came with a few French entrepreneurs and financiers, to meet with Stéphane the #fintechrevolution @xignite, Edwina @StartupBootcamp, Paul @dreamstake, @philmccauley (“Fintech is the new Oil, because ‘money does not exist, as money owed is no longer repayable by states”), and Jason @flexewebs on Banking & UX considerations, illustrated with clear penciled pix. Key takeaways: “Design=How it Works” (S.Jobs) and closing the loop in UX design.