Devoxx UK 2019
from Wednesday 8 May to Friday 10 May 2019.
Principal Engineering Lead at Murex, a leader in the financial market sector and the second largest French software house. I've been building software for more than 10 years and have led a realtime portfolio management back-end dev team for several years. My specialties/areas of interest are concurrent programming, distributed systems, the Java language, legacy code, refactoring and agile methodology.
As a Java developer, you entertain a love-hate relationship with concurrent programming. You’ve used it to build powerful solutions, but you’ve also spent sleepless nights hunting down extremely improbable limit cases. Java comes with a concurrency toolbox that is deceptively simple to use and allows us to exploit machine resources to their full potential. Concurrency bugs however, lie in the least obvious execution paths and wake up in unexpected situations. The technical expertise of the programmers writing the code and even high unit test coverage are not enough to safeguard against this. The good news is that many of the common pitfalls are avoidable with a handful of tried-and-tested best practices. In this talk we'll share with you 7 of the deadliest concurrent programming sins that we have seen and sometimes committed over more than 10 years of writing highly concurrent code. The application on which we have based the examples is used by top banks in the fin-tech sector with hundreds of distributed services hosting tens of thousands of threads. Come to this talk to learn rules of thumb that will help you avoid concurrency bugs that you would otherwise only see in production.