Portrait

Devon H. O'Dell

Software engineer, debugger, and concurrency nut. Usually confused about something.

About Blog Twitter LinkedIn GitHub

About Devon

Computer Stuff

Work

I work at Fastly as a technical lead for a team working on performance, features, introspection, and debugging. Apart from writing code, this also means that I spend a good deal of time on helping my team members be successful. Serendipitously, my personal interests lie in debugging, concurrency, performance, and teaching. I’m not currently looking for new career opportunities, but I am always interested in sharing my knowledge, and you may be interested in my resume.

Software Projects

My contributions to software projects are varied, ranging from documentation help to web development, firmware and device drivers to network and systems programming. Below is a non-comprehensive list of open source projects I’ve worked on (and a bit about what I did / do for those projects).

Personal Stuff

Musical Interests

Though some might argue that the music I listen to isn’t particularly healthy, I do listen to a healthy amount of it. Occasionally, I try to scrobble to last.fm.

Instruments

Music is a passion, and maybe it follows that I try to contribute to this space as well. I’m not particularly proficient with any instruments, but I do play a MEINL cajon, an ESP Ltd H7-2015, and a Roland TD-11KV.

Tutoring

Whether you want to call it teaching, tutoring, or mentorship, I’ve always found one-on-one education to be the most helpful for me. In line with my passion for continuing education, I occasionally tutor people on subjects dealing with software engineering and computer science.

Lectures / Presentations

I enjoy giving lectures and presentations, though they’re mostly on software topics.

Building a Debugging Mindset

At QConSF 2016, I presented on a topic that has baffled me for years. Why are some folks more successful at debugging than others? Why’s debugging so hard? And what can we do about any of it? This talk is the result of a couple of years of spare-time research I’ve done into the pedagogical aspects of debugging, into psychology, computer science history, and to some extent a reflection of my own experience.

Currently, no video of this talk is available. I have created a rough transcript of the talk with slides for those interested. The slides themselves are also available on SpeakerDeck, but (like many of my presentations) are unlikely to be useful without context.

Debugging (Varnish)

I spoke at VarnishCon 2016 on the topic of debugging. The talk ranges from the philosophy of debugging to psychological factors involved in the effective practice and learning of debugging strategies. It finishes with some practical approaches and application of these approaches we’ve taken when attempting to solve issues at Fastly.

Slides are available on SpeakerDeck.

A video is also available

Using Race Conditions in Correct Concurrent Software

This talk is largely about linearization, and how this property is used to guarantee correctness in lock-free algorithms. I gave this talk at Strangeloop and OSCon EU in 2015. Slides for the talk are available, and so are videos for my presentation at Strangeloop and my presentation at OSCon EU. (I uploaded the OSCon EU video because there are a few good questions at the end that I didn’t get to answer at Strangeloop).

My colleague Nathan Taylor presented this talk at Surge 2015 with some additional material.

Nonblocking Algorithms and Scalable Multicore Programming

Samy Al Bahra’s ACM queue paper called “Nonblocking Algorithms and Scalable Multicore Programming: Exploring some alternatives to lock-based synchronization” was the topic of a presentation I gave to the San Francisco chapter of Papers We Love.

A video of the talk is available; the paper is an overview of the challenges behind concurrency in modern software.

Others

In no particular order:

I’ve also given talks at a number of other user groups, gatherings, and appeared as guest lecturer at JHU several times.

Writing

Blogging is a hobby, but I don’t keep up with it much. That said, I do enjoy writing. I coauthored two (now horrendously outdated) books on PHP: Professional PHP4 Programming and Professional PHP4 Multimedia Programming.

Contact Me

devon dot odell at gmail