We’re Christoph and Nate, and each week we discuss a software design problem and how we might solve it using functional principles and the Clojure programming language.
We cut our teeth and built our careers in imperative and object-oriented languages, but when we discovered functional programming, it was exciting! We saw the potential. Solving learning exercises like Koans, 4Clojure, and Advent of Code was fun, expressive, and the REPL made it easy and fast to experiment our way to a solution.
But as we tried to create larger and more complex software with Clojure, it was often quite frustrating. We found ourselves getting stuck, fumbling around for solutions, and struggling with some of the same challenges over and over.
Over the years, we’ve worked out all sorts of solutions and have become convinced Clojure and function programming are a super-Blub, a secret weapon to fight against the tarpit of complexity in growing code bases.
We’re here to share what we’ve figured out, the way we think, and how we approach software design in Clojure and functional programming.
Christoph is a programming fanatic with an unyielding appetite for the challenge of entrepreneurship. After a heady binge of grad school—earning a master’s degree and most of a PhD—Christoph decided to ditch the politics of academia and take his newfound love of user-centric design and functional programming back into industry.
Since then, Christoph has been hooked on making high-performance data-pipeline and automation systems with ridiculously-responsive, user-friendly interfaces.
When he’s not spending time with his lovely wife and four, unusually active children, you can find Christoph working on the next big thing for his business, App Sauce.
Nate’s been fascinated by technology his entire life, and is particularly interested in how it is used to make our lives better.
Over the course of his career, he’s built a webmail client from scratch, travelled to the Olympics to provide email services to athletes, and automated the creation of infrastructures in AWS. He’s also introduced more bugs than features along the way.
After living in the kingdom of the nouns for many years, Nate found functional programming (and Clojure) and was immediately hooked. Now, he works on highly performant code that is easy to understand and fun to work with.
When he’s not at a computer, it’s most likely because he’s off on adventures with his beautiful wife and two energetic kids.
He blogs somewhat regularly at endot.org.