Software craftsman, founder and organizer of Paris user groups for F# and Domain Driven Design I'm mainly focused on creating software delivering true business value which aligns with the business strategic initiatives and bears solutions with clearly identifiable competitive advantage.
I worked for many companies in SIRH, e-commerce and financial fields and I have a great experience in solving theirs real problems since more than 13 years.
I'm currently working for a big French bank for the Forex financial field building reactive applications in F# and C#. In the free time I run my startup project on applying machine learning with F# to recruitement field, speaking in conferences and user groups, writing blogs and articles in a French magazine for coders "Programmez !".
In object oriented programming world, writing code for the success of your project is often not enough. You have to bear in mind various frameworks and libraries like ORMs, IoC, mocking and testing and so on and so forth. Writing code is also complex: finding the right abstractions, or applying S.O.L.I.D principles and design patterns are meant to keep your code extensible and refactorable, but require the experience of a senior developer - and ultimately, they have little to do with delivering business value. This is just noise !
Signal-to-noise ratio is a measure used in science and engineering that compares the level of actual information conveyed by signal, to the level of background noise. We can see business value as signal, and noise as everything that is not directly used to deliver business value, like frameworks, libraries, complexity, lack of expressiveness.
In this talk, we will explain how bringing F# to an actual project helped improve the signal and reduce the noise. The conciseness of F# helped de-clutter the code from useless language constructions. Its convenience made many programming tasks much simpler, and its very powerful type system prevented many common errors, and also helped expressing a really powerful domain model. Getting rid of mocking frameworks for testing, ORMs for databases, and using just functions, focusing on building functionality and delivering business value, made the whole experience a real pleasure !