Jed Wesley-Smith is a Principal Engineer and programming philosopher at Atlassian, where he has been widely involved in architecture, performance and concurrency. Jed came to functional programming as a general solution to writing concurrent code. He is interested in techniques that minimise the potential and eliminate the possibility of errors in software. Jed is deeply appreciative of the irony of being called “academic” despite having no formal training whatsoever.
YOW! Lambda Jam 2014 Brisbane
Functional Programming has shown the benefits of removing mutation and side-effects, resulting in programs fundamentally simpler and more composable. Nonetheless, many of these programs still rely on applying side-effects to external systems such as databases, file-systems or external services. This talk looks at applying these ideas to systems architecture, and how it can make whole systems fundamentally simpler to build, operate and reason about.
Functional approaches to architecture have other key benefits such as being naturally suited to audit and reversion of state to previous versions. They tend to have lower operational risk associated with them.
This talk looks at the history of systems built with an underlying functional architectures such as journaled file-systems and databases, event sourcing, and content-addressable storage, as well as the application of these ideas in programs such as Lucene and git.
We’ll see that there is an underlying philosophy of FP that can be brought to most aspects of system design and architecture, even while presenting a mutable face to the world.