Functional Programming and living past the edge of civilization with John De Goes


Is John De Goes your Scala hero? An Entrepreneur, Functional Programmer, OSS contributor, speaker and author he is definitely an inspiration to many. With a passion for Functional Programming John has spoken at many different conferences and we can't wait to hear his Scale By the Bay talk but in the meantime check out this interview from the Scale by the Bay team with John. Find out more on how he discovered FP and his challenges.

'Known for his ability to take very complex concepts and explain them simply, John A. De Goes has been writing Scala software for more than eight years at multiple companies, and has assembled world-renowned Scala engineering teams, trained new developers in Scala, and developed several successful open-source Scala projects.

In advance of his talk “Scalaz Stream: Rebirth” at Scale By the Bay 2018 on November 16, we spoke to John about his passion for Functional Programming, making the community friendlier and more engaged, and using Functional Programming to build a whole new world.

How did you discover Functional Programming and how did it get you where you are now professionally?

I fell in love with functional programming when I discovered the incredible benefits of introducing immutable data into a 400k LOC Java code base—bugs went down, and the code became easier to understand and easier to test. Since then, at three separate companies, I’ve used functional programming to build incredible teams and amazing products without the resources of a large company. Two of these companies were acquired, and the third is still going strong. I attribute the success of my teams to functional programming.

What’s your next big plan running your own business? 

With the benefit of age and experience, I hope to do something more impactful and more meaningful than I’ve ever done before.

What’s your biggest challenge and how are you going about solving it?

There aren’t any mainstream principled solutions for building distributed systems, which is a huge challenge. I think functional programming in general, and algebra in particular, holds tremendous promise in this area. If you constrain your problem, you can liberate your implementation, which allows much stronger guarantees in the presence of distribution than general-purpose frameworks can ever provide.

If you were to describe yourself and what you do in one word only, what would it be?

Frontiersman. I live past the edge of civilization. It’s rough and pretty isolated but there’s a chance to build a new world.

How can Scala folks learn from Haskell and vice versa?

Scala can learn from the decentralization in the Haskell community and its singular focus on functional programming.

Of course, like Scala, Haskell has its own brand of politics and remains a research language, but the effects of this are mitigated because there’s more decentralization.

Haskell can learn from the relative success of the Scala programming language. Scala is not large compared to Python or Go, but compared to Haskell, it’s huge, and this mostly resulted from a killer application (Spark) and early adoption (Twitter), which happened because Scala was more accessible to mainstream programmers. If Haskell just had Java-like syntax but with the same semantics, it would probably be 5-10x more popular.

Things that shouldn’t matter to programmers (like curly braces and dot syntax) turn out to matter more than we’d like.

How can we make our overall communities stronger, friendlier, and more engaged?

Communities are chaotic systems so a few people can have a massive impact (look at Twitter and Spark). We need to attract and cultivate more great leaders, who put aside politics and egos and use their talents to build amazing software and help others realize their incredible potential.


If John De Goes is your Scala hero then don't miss the chance to attend his Functional Scala training this December in London. We have had unbelievable feedback from the last workshop and we want to make sure you can take advantage of this opportunity. So why not just grab your ticket below?

Not only will you improve your Functional Scala skills but how incredible will it look on your CV plus you're allowed to boast a little bit that John de Goes taught you personally, we are definitely shouting about it!

The workshop can be attended both remotely and locally so if you think you would love to attend but maybe have a few questions then let us know, we can help with whatever your query. Just give us an email at

We can't wait to see you there!