John A De Goes bio photo

John A De Goes

Twitter LinkedIn Github

Post-LambdaConf 2016

Last week, 370 people from all around the world descended to Boulder, Colorado.

Not to discuss politics or religion. And not because they all thought alike, but in spite of the fact that they did not.

They came to LambdaConf 2016 to learn about and share their passion for functional programming, a flourishing and dramatic simplification of the way we build, combine and reason about software.

Some people came for the talks and workshops, and others for the professional networking, but none left without catching a glimpse of the future of software development and reigniting their passion for learning.

All this happened amid the hailstorm that has become known as The LambdaConf Controversy. AKA, the conference’s decision not to ban a neo-reactionary from the conference.

Some people (in the minority) thought the conference would have no content, but three long days packed with four concurrent tracks proved them wrong.

Some thought minorities would not attend or speak, but the conference had a far higher percentage of minorities than in 2015 (at least double).

Some thought the tone would be negative, but the conference was overflowing with graciousness, open-minded discussions, and brilliant acts of kindness.

Some thought the controversial speaker would break our code of conduct or delve into politics, but he upheld his promise and his talk never strayed (many thought it was quite interesting!).

In just three days and against all odds, LambdaConf 2016 proved all the naysayers wrong — on every single count.


Despite the success of the conference on every possible level, there are many lessons I have learned from this incident.

First, if I had a do-over, I would handle the situation differently. Instead of polling speakers, I and the other staff would have had one-on-one conversations with people until we came to firm conclusions.

With this approach, I never would have been in the situation of backing a policy that, at some level, I hadn’t yet completely owned.

I don’t think it would have changed the policy, but it would have changed how we arrived at and presented the decision to the public.

Among other positive changes, I think it would have resulted in less speaker backlash and only a couple days of controversy rather than several weeks.

Second, I would have engaged more on social media. Not to everyone, mind you — there’s not much you can say to people who take pleasure in insulting you, defacing your photos and rewriting your bio.

But I would have engaged with some people, demonstrating both kindness and reason. I would not have done so with the intention of changing anyone’s mind, only to support all the people who supported us.

Finally, I would have tried to identify, dialogue with, and support those who share the same values as me, even if they went in a different direction.

Better decisions are often easier to make in hindsight, of course. What’s done is done, and rather than dwelling on the past, I choose to look to the future.

The Road Ahead

Some functional programmers had very strong anti-LambdaConf views, and were waiting on the sidelines for the event to happen. I sincerely hope these people do not become bitter just because the event was successful.

The success of the conference does not mean our decision was “right”. Nor does it mean fringe political views are going mainstream (as far as I know, there was exactly one neo-reactionary in a crowd of 370).

It just means there is a space in this world (however small!) for an indie conference that rigorously ensures professional conduct at the event, but leaves other matters at the door.

Personally, I welcome every single person to next year’s edition, and I guarantee that differences in politics, religion, or views on LambdaConf will have no affect on speaker selection or attendee screening.

That, after all, was the point of this whole affair.

If you can treat others with kindness, dignity, and empathy, and otherwise uphold the pledge, and you pose no safety or trust threat, then you will be warmly welcomed to the conference — even if you hate our conference policies (or hate my ugly mug, which I really couldn’t blame you for!).


In the wake of the controversy, MoonConf sprang up as an alternative to LambdaConf. The conference was located in Boulder, and ran the same dates.

Courtney and I went over to MoonConf to hand-deliver some delicious chocolate cupcakes, as a token of goodwill. Then on the last day of LambdaConf, two organizers of MoonConf (Alex and Jason) were kind enough to invite me for coffee, and I had a chance to chat with them.

After this conversation, I can say that I am very happy they put the alternative conference together. They worked hard to provide a much-needed learning opportunity for those who no longer wished to attend LambdaConf.

Alex shares my philosophy of “no hate” and my appreciation for non-violent communication, and we have both been in the difficult position where others expected or pressured us to hate, but we refused to (that’s not who we are!).

As the controversy has demonstrated, some people will exclude themselves from conferences precisely because of who those conferences allow (or do not allow) into their spaces.

Personally, I want all developers to benefit from functional programming, and this means I want conferences like MoonConf for every community of developers.

In general, there are not just two communities, but a large number of them:

  • Conferences that do not allow attendees with outspoken anti-LGBT views may shun women and people of color who are religious fundamentalists.
  • Conferences that do not allow outspoken neo-reactionaries may shun people of color, women and people in the LGBT community.
  • Conferences that require attendees advocate particular objective human rights or moral beliefs (however benign or commonly accepted) may exclude those who, like myself, publicly reject morality as incoherent.
  • Conferences that allow communists who have publicly advocated physical violence against capitalists may discourage people of color, women, and people in the LGBT community who are pro-capitalism.
  • Etc.

LambdaConf will not prefer one of these groups at the expense of another, but that’s a personal preference, not a moral one.

Conferences like MoonConf can play a vital role in creating protective learning opportunities for people who will not attend a conference that is as as broadly inclusive as LambdaConf.

So not only do I support what Alex and Jason have done, but I am delighted at the success of the conference, and I hope they find a way to continue helping everyone benefit from functional programming. (In fact, maybe I’ll even be able to play some small role in that!)

I encourage others to adopt this positive and pluralistic view, which is really the only one consistent with the official LambdaConf position on the matter.

LambdaConf 2017 & Beyond

LambdaConf 2016 is probably the strongest entry in the history of the conference, but there is always room for improvement.

While we are still collecting feedback, I’ve already got enough feedback to know some improvements we will make for next year:

  • More Haskell and other languages in the ML family. The original schedule had much more Haskell & related content, but the dynamic changed post- controversy. We ended up with a very strong Scala lineup, but weaker Haskell / ML content than last year.
  • More advanced material & original research. In addition to more advanced sessions (e.g. on dependent-typing in Haskell, type theory, and more), we’ll have a whole section devoted to novel applications of FP and original research.
  • Pre-configured cloud environments for all workshops. Nothing to install, setup, or configure. Just bring a computer with a browser.
  • An even stronger alt track, with more niche languages, libraries, & concepts. This year we only had 1 full day of alt content. Expect triple the content for next year.
  • Streamlined process for speakers. We’ll look at off-the-shelf software but also look at developing something specifically for LambdaConf.
  • More continuity for beginners. We’ll introduce a new class of speaker called LambdaConf Instructor, who will be responsible for ramping up beginners over the course of an entire day’s worth of content. These instructors will have especially strong teaching chops and start and end at pre-determined points in the learning curve.
  • Streamlined process for checkin & activities. The pre-checkin worked fairly well, but people forgot to bring tickets with them. We’ll probably move to a hybrid digital process for next year.
  • Better activity organization. We’ll have dedicated volunteers and a whole activity schedule that people can review weeks in advance.
  • Continued low prices & scholarships. LambdaConf 2016 tickets started at around $360 (with discounts), for three and a half days of content, activities, meals, swag, and much more. For next year, we’re going to keep early bird prices low, and hopefully give out even more scholarships.
  • Stronger support for families. We want dozens of children at the next LambdaConf, and part of achieving that goal will require great content and activities for kids and significant others.
  • More surprises. The trading stickers were a big hit this year, and helped get everyone talking, but we’ve got even more cool ideas that we didn’t have time to implement this year.

In addition, we are committed to publishing our process for speaker selection (being completely transparent about the whole process, something that almost no one else is doing), and work on the second major iteration of our code of conduct (with input from anyone who wants to participate).

Between now and the next edition of the conference, don’t be surprised to see another sideline event or two pop up, with a particular niche focus that is complimentary to the main event.

Finally, in 2017 we’ll introduce a second, scaled-down version of the conference at an international location. This is not to compete with the Boulder LambdaConf, but to provide an opportunity for others who love what we’re doing but cannot afford the cost of an international flight (few can!).

The emphasis for the international edition of LambdaConf will be on amazing content, propagating LambdaConf culture, and keeping prices affordable so that everyone who wants to attend can do so.


Despite all the controversy, thanks to loyal speakers, attendees, volunteers, and sponsors (HaskellBook, Workiva, SlamData, Hell Yeah, Status 451), and thanks to the singular efforts of the folks at Status 451, LambdaConf has never been in a stronger position.

The staff and I are excited to use that position to further spread functional programming to developers everywhere.

We promise all our supporters that we will continue to think with our brain, and feel with our heart — producing physically and verbally safe events that overflow with a tremendous diversity of people at every stage of learning.

Educational events that transform the way attendees (and maybe even the entire industry!) build, combine, and reason about the software of tomorrow.

From where I’m standing, that future is looking very bright indeed!