Three inspiring developer experiences

I love trying out new developer tools. Since I started building Beneath, I’ve probably tested dozens of developer tools looking for great ideas to steal inspiration.

One thing I’m always on the lookout for are features that make me go “wow”. Developer tools tend to cover a lot of complexity, so that kind of experience isn’t all that easy to create. In this post, I’ve put together three “wow” experiences from different developer tools that I think are a great source of inspiration.

Example 1: Project setup in Vercel

The first example that comes to mind is Vercel’s project setup. Vercel is a platform that helps frontend developers deploy websites.

The “wow” experience is unmistakable the first time you create a new project in Vercel. You just select a template, connect to a Git provider, and boom! It creates a repo, builds, and deploys the site globally right away. It feels pretty magical to have a website with CI/CD up and running before even pulling the source code.

Vercel bundles several best practices for modern web projects, such as CI/CD, branch deploys, serverless functions, and edge-caching. Today, even for a personal web project, those features are awesome to have, but normally each of them add more complexity. I think it’s impressive the way Vercel has managed to combine all these features in such a surprisingly simple way.

Example 2: Python package management in Replit

The second example I want to highlight is Replit’s package management for Python. Replit is an online IDE that lets you write and run code in the browser. It has many neat features, including the ability to run web services and collaboratively edit code. I’ve used it several times for user workshops for testing Beneath’s Python developer experience.

The “wow” experience I want to highlight is the way Replit automatically installs Python packages. If you’re in a Python environment in Replit, and you try to run a Python file that imports an external module, Replit will detect if it’s not already installed and add it to your environment using Poetry, a brilliant Python package manager.

In contrast with Vercel’s project setup, this is certainly a small feature, but I’ve had some traumatizing experiences with Python package management, and I almost universally forget to run pip install ... when running Python code, so when I first encountered this feature, I couldn’t help but smile!

It was also my first exposure to Poetry, a tool I’ve since used for all my Python projects. While credit really goes to Poetry for a lot of the hard work of this feature, such as getting rid of requirements.txt, I think it’s definitely clever how Replit spotted the opportunity to leverage Poetry to transparently provide such a delightful feature.

Example 3: Ad-hoc queries in BigQuery

The last example I’ll share in this post is running ad-hoc queries with Google BigQuery. BigQuery is a serverless data warehouse that’s part of the Google Cloud Platform. As with most data warehouses, its core feature is running SQL queries that aggregate or transform large datasets.

Even after years of using it, BigQuery continues to elicit a “wow” from me when I need to quickly run an ad-hoc SQL query on a large dataset. Unlike most data warehouses, BigQuery is completely serverless and so massively parallelized that it runs most queries in seconds from a cold start regardless of the data size. I just open the console, type a query, click run, and get a crazy fast response.

In this video, I ran a query against one of the built-in public datasets. It aggregated a 509gb dataset with more than one billion rows in 2.8 seconds from a cold start with no prior configuration. I didn’t have to deploy a cluster, or even consider the memory or disk requirements of the workers. BigQuery console isn’t a particularly great user experience, but it’s hard not to be awed at the scale of compute power BigQuery is able to unleash in an instant.

Wrapping up

The three developer experiences highlighted in this post are pretty different. In the case of Vercel, they have managed to integrate several complex features in such a thoughtful way that the end experience becomes simpler. In the case of Replit, they have created a delightful affordance by cleverly baking in a powerful package manager. And in the case of BigQuery, the serverless query engine allows them to run surprisingly fast queries from a cold start. Despite these differences, I think they all share a delightful simplicity.

I feel like I’ve only scratched the surface of “wow”-worthy developer experiences. In this post, I’ve focused on modern developer services, but it’s crazy to think about the magic embodied in many of the tools we take for granted, like compilers and text editors. I’ll be writing more on this topic in the coming weeks.

I’d also love to hear about your favorite developer experiences. Share them with me on Twitter. If I get enough good input, I’ll compile a longer list!

© Benjamin Egelund-Müller 2021