EVC #7: Testing, testing, testing

Founder Bolt with Keith Horwood from Autocode

“Fix specs” is probably one of my most common commit messages. The loop looks something like “Write code -> Push to CI -> Tests break -> Fix them -> Rinse and repeat”. Our test suite takes ~4 minutes to run between units and integration tests, etc so it’s not that bad, but I’ve worked at places where a run might take 8-15 minutes. I wrote a little bit about how static code analysis is changing, and I hope that testing is the next one. I’d love to see more intelligence around testing: is this new feature you’re deploying tested enough, and can a product create tests scaffolding for new models and such? Can I just run a subset of tests to test new changes rather than everything (see Launchable)? Can a tool scan my code as I write it and run a small subset of tests to catch issues earlier, rather than waiting until I push it to CI?

I think there’s a lot of developer productivity to unlock just by making tests feel like superpowers, rather than net-negatives to the development workflow due to all the overhead they bring. As usual, if anyone is building something in this category, please do reach out :)

Fun Reads

  • A Kubernetes Service Mesh Comparison: service meshes have been a hot topic for the last year or two, but this is a pretty good breakdown of the overall space and how they compare.

  • NVIDIA GTC 2021 Keynote: NVIDIA recently had their early keynote and announced a new data center CPU which specializes in hosting their GPUs for AI workloads. They also announced the Tao framework to help orchestrate edge fleets for AI use cases. In semi-related but sad news, still haven’t been able to get my hands on a RTX 3080 :(

  • A 5 Keys Keyboard: I’m a sucker for cyberdecks and other types of small electronics. This is a fully working, open source keyboard that only has 4 keys and a modifier!

  • Logica by Google: Google recently released a new open source logic language called Logica (Logic + Aggregation) aimed at solving some of SQL’s shortcomings in terms of reusability. I haven’t done any logic programming since using Prolog in school, but I’m hopefully going to hack around on it soon, seems sweet.

Founder Bolt ⚡

On the founder bolt today we have Keith Horwood, founder of Autocode (previously Stdlib). Their product is a combined IDE and hosting platform with built-in best practices for software development: environments, maintenance, rollbacks, logging and more. They also have a large catalog of connectors that makes it easy to integrate APIs with just one line of code, it’s pretty neat! He’s a fellow Halo player, and recently wrote a cool piece on the “SaaSification of Rails”.

What’s one productivity hack that you really love?

This is going to sound cheesy, but running. I'm usually coding, writing, and answering e-mails all day and running gives me the opportunity to emulate strategies and conversations, play with ideas and think through things that I never spend much time on when I'm jumping from one thing to the next. Helps with prioritization.

What’s the latest product your engineering team has adopted at work?

Maybe a little late, but Discord. It's great for our developer community management and I find the voice channels a lightweight way to instantly collaborate with team members. That's been helpful while we've been completely remote due to the pandemic.

What technology/architecture are you the most excited about trying? What about getting rid of?

I've heard good things about Rust and I'm interested to play more with Deno. Our stack is very minimalistic overall and we cut bloat pretty frequently so there's nothing I'm looking to get rid of right now. 

What’s one side project you started but never finished?

A game called Sunfall, available at https://play.sunfall.co/. At the start of the pandemic the only way I had to feel in control was to build things, and I didn't want to risk interfering with our product to satiate a coping mechanism. I'd always wanted to see if I could build a Minecraft clone using WebGL. Over the course of a few weeks, I spent my nights and weekends building a voxel engine with a tiny bit of Animal Crossing inspiration. I'll do something more with it one day -- either open source the engine or build an actual game. For what it's worth -- the whole thing is hosted on Autocode!