Speaker Topics - No Fluff Just Stuff

The Functional Web

Functional programming has become all of the rage. We've spent a great deal of time talking about how thinking functionally changes the way that you write code. We've discussed functional languages like Clojure, multiparadigmatic languages like Scala, object-oriented languages with functional features like Groovy and also how we can apply functional style in Java. I've spent some time discussing the intersection of functional programming with the SOLID principles of object-oriented development. In most of these discussions, our examples tend to be “out of context.” The vast majority of us are coming to an NFJS show as web developers, and many times over the last year I've heard some form of the question “How does this affect me as a web developer?”

In this talk, we'll attempt to answer that question. We'll look at traditional server-side web frameworks that encourage programming in a functional style, and see how that changes the way we develop web applications. We'll also spend some time looking at how we can write JavaScript in functional style, and examine the benefits that brings. We'll then move into languages like Coffeescript and Clojurescript to see what they bring to the table. Finally, we'll discuss functional design patterns for the web, such as the view that web UI's can essentially be thought of as functional transformations of application data. You should come away from this talk feeling better equipped to apply functional style and associated frameworks to your web developement efforts.


About Matt Stine

My passion is taking a metaphysical approach to software engineering: what is the nature of the collaborative game that we continuously play, and are there better, more contextually-aware ways to play that game?

By day I lead a team tasked with taking a first-principles-centric approach to intentionally enabling programming language usage at the largest bank in the United States.

By night I write and teach my way through a masterclass in software engineering and architecture targeting early-career software engineers working in large-scale enterprise technology organizations.

What is the primary goal?

To win the game. More seriously: to get 1% better every day at providing business value through software.

Who am I?

I'm a 22-year veteran of the enterprise software industry. I've played almost every role I can imagine:

  • Software Engineer
  • Software Architect
  • Technical Lead
  • Engineering Manager
  • Consultant
  • Product Manager
  • Field CTO
  • Developer Advocate
  • Conference Speaker
  • Author
  • Technical Trainer
  • Technical Marketer
  • Site Reliability Engineer
  • Desktop Support Specialist

I've worked at Fortune 500 companies, a tenacious teal cloud startup, and a not-for-profit children's hospital. I've written a book, and I've hosted a podcast. I've learned a lot along the way, including many things I wish I'd known when I first got started. And so now I want to pass those learnings on to you, especially if you've only just begun your career.

More About Matt »