Hi there! I’m a software engineer at Microsoft interested in cloud technologies, distributed computing and programming languages. I’m currently working on making WebAssembly (commonly referred to as “WASM”) run very well in the cloud. Beyond WASM, some of the technologies I currently use most are Rust, Go, and Kubernetes.

I have spoken at conferences extensively and have taught a wide variety of topics to various audiences.

And I am/was involved with some projects as well:

  • The KEDA HTTP Addon - I conceived and built this project to bring the ability to autoscale HTTP services on Kubernetes using KEDA. You can find out more about it at github.com/kedacore/http-add-on. I have stepped away from everyday work on this project to focus more on WASM technologies.
  • Athens - I’m a co-creator and core maintainer of the Athens project. Athens is a server for Go dependency management that you can host and run yourself.
  • Go in 5 Minutes - I produce Go in 5 Minutes, a series of short screencasts with tutorials on Go.
  • Modules in 5 Minutes - I wrote a quick reference for how modules work in Go: Modules in 5 Minutes
  • GopherCon - I’m a chair of Gophercon, which is the largest Go conference in the world.
  • Kubernetes SIG-Service-Catalog - I am an emeritus chair of the Kubernetes SIG-Service-Catalog group.

My History

In my 15+ years in software engineering, I’ve worked in lots of different roles. Here are some of the thing I’ve done in them:

  • I built a video aggregation system for capturing and publishing university lectures. We attached Mac Minis with webcams to carts and rolled them in and out of lecture halls.
  • I was a C++ / Cocoa engineer at Microsoft on the Office for Mac team. We figured out how to run (and ship!) lots of the code from Windows Office on a Mac. I worked on the Entourage product, which evolved into Outlook today
  • I built a distributed log aggregation system with Scribe. It transferred log data from edge locations and app servers, normalized it, and forwarded it to a data warehouse
  • I wrote Newman, the first REST client library for Scala. It takes prior art from Scalaz and other functional programming concepts and presents them as a consistent API. The original codebase disappeared, but I forked it from a backup on my GitHub organization
  • I helped build an untrusted code execution platform on top of the JVM. It was similar to a modern “containers as a service” product, but just for JVM languages. We used several JVM features to constrain resources and provide jails
  • I wrote one of the first Java APIs in the Scala language
  • I designed an HTTP-based streaming RPC protocol and write a functional (as in functional programming) server implementation using the Twitter Finagle core primitives.

Around the Web

You can also find me at @arschles on Twitter and arschles on GitHub.

I also blog at dev.to