Don Goodman-Wilson

Engineer & Tinkerer

View my full CV on LinkedIn

I’m a philosopher-engineer experienced in architecting amazing products with successful early-stage startups.

My heart lies in engineering cool products with smart, friendly people. I currently work as Sqreen's Head of Developer Relations, raising developer awareness about web application and API security and building relations with developers. Throughout my career I have engaged a broad range of technologies: chatbots, webapps, desktop apps, streaming media, embedded hardware, and even the model railroading industry. I’ve proven my grit by achieving my PhD philosophy, and my training in the philosophy of mind and neuroscience informs my work as a chatbot builder. When I am not working, I love traveling, sailing, foreign languages and enjoying all life has to offer with my wife and daughter by my side.

Work

Sqreen

I head Sqreen's developer relations program, focusing on building awareness around the need for web application and API security; I work closely with our product and marketing teams, and I am also responsible for the Sqreen brand, and Sqreen's swag strategy. As a side project, I am also actively working to organize the Parisian developer relations and developer marketing community.

Slack

Projects

As a senior developer advocate, I led the Developer Tools team within Developer Relations. I focused on building and educating our community of developers through workshops and talks, and crafting tools to help developers succeed on the Slack Platform. Our tools to date include open source SDKs, debugging tools, code examples, and tutorials. Prior to working with DevRel, I worked as an engineer on nearly every part of the Slack technology stack, including the backend and native clients.

Screenhero

Projects

I have worked on everything from meddling with mice and USB streams at the kernel level in C, to responsive single-page web apps in JS and Ruby, to business finance, business development, and marketing. As the first employee at this early-stage startup, I had to wear many hats, and be ready to quickly respond to changing needs in a fluid environment.

Railstars

Projects

As the founder and sole employee, I was responsible for all aspects of my own business. In addition to operating and growing the business, I designed, tested, manufactured, marketed, sold, and shipped custom electronics for model railroad applications. When not working on my own products, I also engaged in OEM design consulting for a number of external clients working within the model railroading industry. Finally, I was very active working with the National Model Railroading Association—the industry standards-setting body—in developing a new standard for reliable device networking specifically for model railroads, Layout Command Control.

Selected Talks

Good Security is Good UX link

As many designers will tell you, the best parts of any UX are the invisible parts—the parts that just work, that your customers never have to think about. We call this empathy. Consider: When our app is not secure, we risk exposing our customers to the pain of data loss, or identity or monetary theft—not very empathetic, is it? User empathy ultimately demands taking application security seriously.

Betting on Horses, God, and Your API link

Early stage startups often justify not investing in security because the likelihood of getting hacked is so ridiculously low that the risk can be safely ignored.

I think this is a terrible argument. I want to convince you that security is an existential concern for your startup. I will use philosophy to convince you that I am right. And then I will use philosophy to justify talking about a new super-secret product we are working on at Sqreen that can help protect your APIs, webapps, and other lovely things that run over HTTP. And, if we have time, we might do a little analytical intuition-polling, and some decision theory too. What the hell.

Pascal's Wager and You

This is a lightning talk I gave at PyCon 2017

Early stage startups often justify not investing in security because the likelihood of getting hacked is so ridiculously low that the risk can be safely ignored.

I think this is a terrible argument. I want to convince you that security is an existential concern for your startup.

Amazing Teams

Slack took to the road in the Spring of 2016 to celebrate both the work we’ve done so far and our best ideas to move forward with the Amazing Teams Tour—an afternoon of talks and inspiration for using and building with Slack. At the Toronto and London stops, I gave the technical keynote, providing an overview of the Slack Platform and live demonstrations showing how easy it is to get started developing Slack Apps.

Chatbot Psychology

A philosophy of mind for the chatbot revolution. Complex, intelligent chatbot behavior is easier to achieve than you might think. You don’t have to lean heavily on AI voodoo to create a compelling bot experience. A quick stroll through the history of robotics reveals that we can achieve a great deal, starting from very little. Let’s tear down the roadblocks to creating amazing chat bots by understanding how complexity can arise from simplicity.

HTML5 Meetup

A conversational revolution is upon us. More and more services, from Lyft to Skype, are providing a conversational user interface, and using messaging apps as their distribution channels and runtime. In this talk, I demonstrated to web developers how to expose their service as a conversation, demoed a few cool examples, and talked about the Slack platform and the Slack fund. Q&A can be viewed separately here.

Engineering Constraints for Collaborative Screensharing

Collaborative screensharing places some interesting and unusual constraints on live streaming video. Minimizing latency while maintaining legibility of on-screen text means that buffering video is a non-starter. In this talk with Faraz Khan I walk you through these constraints and explain some of Screenhero’s engineering solutions including our no-buffering approach to rendering streaming video.

eFounders Insiders link

A fireside chat with the eFounders community. Quentin Nickmans and I spent an hour in conversation about Slack, the Slack Platform, and the opportunities for the Paris startup community.

Building your Slack bot: 10 steps to do it right link

A 45 min. hands-on workshop with the Paris startup incubator TheFamily. I demonstrated how to build a working Slack bot from scratch, including the best practices and the mistakes to avoid when building a product on the Slack Platform.

Build-a-bot Workshop

A 3-hour workshop designed to take the novice chatbot builder from zero to savvy. In this workshop, I walk participants through using Botkit and api.ai to build a travel agent bot. To date, I have run this workshop at SAP Innovation Center Silicon Valley and twice at Slack Melbourne.

Talkabot Workshop Slack Breakout Session link

Building bots for Slack is unlike any other messaging platform out there: Slack is a collaborative multiplayer environment where users care less about quirky endearing personalities and more about getting work done. What are the best practices (and anti-patterns) for building effective Slack chatbots? This session will help you understand how to build Slack bots that users will engage with.

Projects & Fun

Just want to see the code? Some of my stuff is open source.

Luna link

An embedded HTTP(S) server and web framework in modern C++, Luna is designed to be easy to use and integrate with any C++ project that needs to serve HTTP endpoints. Luna’s core philosophy is that it should be easy to use correctly and difficult to use incorrectly. Of course, it should be robust as well.

Deadbolt link

A Mac menubar utility to help you remember to lock your Mac. Deadbolt automatically locks your Mac when you remove a USB device of your choosing such as an iPhone or Yubikey, or you can set a global keyboard shortcut. Deadbolt leverages existing habits (taking your phone with you) to help you remember to keep your machine locked when you step away. Authored in Objective-C.

Soundbar link

Just listen to SoundCloud. That’s it.

A Mac menubar utility for playing Soundcloud playlists. Soundbar plays your Soundcloud music without being needy all the time, hidden in your menu bar. Use shortcuts to skip a song or to save it for later. Fully customizable. Authored with Pavel Maček in Swift and Javascript.

Featured on Product Hunt on 29 December 2016.

Statlerbot & Waldorfbot link

Invite Statler and Walfdorf, the lovable hecklers from the Muppet Show, to your Slack team. These conceptually simple bots engage each other in dialog to make fun of your posts in Slack. Built with Luna and Engine in modern C++, these bots demonstrate how complex bot behavior can arise from very simple stimulus-response pairings. They also serve as the starting point in an ongoing experiment in bot-to-bot communication.

Engine link

Connect your desktop app, backend, or game to Slack. Engine provides a statically typed, reliable, and simple to use C++ interface to Slack’s Web, Real Time, and Events APIs using modern, idiomatic C++.