Shaun Mahood Clojure/conj 2016 Interview

Shaun Mahood will be giving a talk at Clojure/conj 2016. He will be speaking about re-frame.

Follow him on Twitter and GitHub. How did you get into functional programming?

Shaun Mahood: I got into functional programming through Clojure -- I started watching some of Rich Hickey's talks and most of what he was saying made a ton of sense. I ended up watching and reading more and more over the following year or two, and eventually I had a project come up where ClojureScript and re-frame seemed like a much better fit than the other options I could find, so I dove in and haven't looked back. What is your talk about?

SM: I'm going to be presenting about re-frame, which is an application framework for ClojureScript. I've been working with it for about a year and I've recently gotten involved in the effort to update the documentation for the v0.8.0 release. What do you hope people will take away from the talk?

SM: I'm hoping attendees will gain a solid understanding of how re-frame works, how it can help them architect their projects, and what the process of building applications looks like. The concepts in re-frame are mostly easy to understand, and there are many ways to put them together, but if you buy in to the model that re-frame defines you can build some pretty complex applications that scale and perform well. What concepts do you recommend people be familiar with to maximize their experience with the talk?

SM: There's not a lot that attendees need to be familiar with, but previous experience with Clojure, ClojureScript, or Reagent would help. I'm hoping that my talk will be accessible to everyone, though it is not specifically targeted to beginners -- it's more that re-frame is so well suited for beginners that there isn't a lot of previous knowledge necessary. What resources are available for people who want to study up before the talk?

SM: The documentation is probably the best place to start, and there is also some good material on Lambda Island specific to re-frame. Where can people follow you online?

SM: The best place to catch me online is on the Clojurians Slack as @shaun-mahood -- I'm usually there and happy to chat. I'm also [@ShaunMahood]Twitter on Twitter if that doesn't work. Are there any projects you'd like people to be aware of? How can people help out?

SM: I don't have any specific projects to promote, but I think everyone should try getting involved with something they find interesting -- re-frame is the first open source project I've really gotten involved in, and even without working on the code I've found it to be very rewarding and interesting. It's provided a lot of drive to improve my abilities and dive in to understand things better, and I think it's also helped me improve in my ability to write software beyond just re-frame specific projects. Where do you see the state of functional programming in 10 years?

SM: In 10 years, I really hope functional programming is a bit more of the default for education and teaching new developers. I'm still stuck in a lot of my old habits and the ways I first learned to program, and I think a functional first approach would make understanding the fundamentals a lot easier. If functional programming were a superhero, what superpower would it have?

SM: I think my favourite super power of functional programming (and specifically how Clojure does it) is the ability to compose small things into a bigger whole - sort of like the giant robots of Voltron or the Power Rangers (though I prefer Voltron), but you can add as many pieces on as you want and it will still combine gracefully. Functional Voltron could add extra arms or legs without running into conflicts with the old ones, and they would still feel like they belonged and work well even if 12 legs and 5 arms is a stupid way to build a robot.