David Gomes
  • Home
  • About Me
  • Speaking
Sign in Subscribe

Running a Sub-2h50m Marathon

I got more serious into running in 2023 and was able to run a sub-3 hour marathon in Lisbon that year. In 2024, I decided to take things up a notch and tried to go for a sub 2h55. If you want a bit more context about my history with
04 Dec 2024 5 min read

Just Have AI Build an App for That

I sometimes need to search for a website that will "convert a PNG to SVG", or "remove page from PDF" or "resize svg". And these apps are... okay. I don't really trust most of them with my data, and also a lot
06 Nov 2024 2 min read

Writing a Postgres Extension With Pgrx for Visual Query Plans

When I worked at SingleStoreDB, we built this SQL syntax for instantly jumping into a visual query plan from the CLI: sql> EXPLAIN UI select customer, sum(cost_cents) as revenue from notifications n inner join offers o on o.offer_id = n.offer_id group by ts, customer
22 Sep 2024 3 min read

Navigating macOS and VSCode with Emacs+Vim Key Bindings

I've recently migrated to macOS again. And while I've spent most of my life on Linux, it still feels great to come back to macOS, where most things "just work". But every time I've come back to macOS, I end up leaving
22 Sep 2024 3 min read

Comparing Different "SQL over HTTP" APIs

Several database products and database-as-a-service (DBaaS) providers support some sort of "SQL over HTTP" API, also sometimes referred to as a "Data API". These have a couple of different use cases: * Supporting environments where open connections cannot be cached/reused (so, essentially, client-side pooling doesn'
13 Aug 2024 5 min read
hiring-for-engineering-managers

Keeping Candidates Engaged After the Offer Has Been Accepted

This is the seventh blog post of a series titled Hiring for Engineering Managers. I plan to write a few posts on this topic since I'm incredibly passionate about how to hire for, and grow software engineering teams. Congratulations! The candidate has signed the offer and they'
11 Aug 2024 2 min read
hiring-for-engineering-managers

Letting Candidates Know They’re Not Moving Forward

This is the sixth blog post of a series titled Hiring for Engineering Managers. I plan to write a few posts on this topic since I'm incredibly passionate about how to hire for, and grow software engineering teams. The practice of "ghosting" candidates, i.e., not
14 Jul 2024 3 min read

The Experience of Deploying Next.js Apps on Cloudflare

I recently went through the process of deploying various small Next.js applications to Cloudflare. As part of working on a new command called "neonctl create-app", we built a way to automatically deploy Next.js full-stack apps (i.e., Next.js apps with a backend+frontend) to both
14 Jul 2024 5 min read

On Leaving MemSQL/SingleStore After 8 Years

When I joined MemSQL (now called SingleStore) as an intern back in July 2016, I never thought I'd end up working there for almost 8 years. It's been a truly wild ride, with lots of amazing stories along the way. As I come out of my
17 May 2024 3 min read

The 2023 Portugal Startup Law is Useless

Okay, I'm sorry for the clickbaity title — it isn't quite accurate — but I really wanted your attention. You see, in May 2023, law 21/2023 went into effect. It establishes a legal definition for a "startup" and a "scalueup" in the country
11 May 2024 1 min read

Growing a Tech Startup (MemSQL/SingleStore) in Portugal to 40+ Employees

When I joined SingleStore back in 2016 (the company was still called MemSQL back then), the entire Engineering team was based out of San Francisco, with a couple of people in Seattle. Our culture and processes evolved around everyone coming to the office daily. So, when I decided to move
09 May 2024 11 min read

My Notes from Attending KubeCon EU 2024

Over the past week, I was in Paris 🥐🥖 for KubeCon + CloudNativeCon. This was my first time attending, but I tagged along with two folks from our platform engineering team—Francisco and Miguel, who are a bit more experienced here. I previously wrote about my preparation, which was mainly focused on
25 Mar 2024 5 min read

CMU 15-721 Advanced Database Systems 2024 — Part 1

The CMU Database Group offers two main courses: * Intro to Database Systems (fall and spring) * Advanced Database Systems (spring) Both of these are quite well-known to me. The main reason for this is that they make all their lectures available on Youtube, and I’ve watched a few of them
11 Mar 2024 6 min read

Preparing to Attend KubeCon Europe 2024

As we’re one week away from KubeCon + CloudNativeCon Europe 2024, I figured I’d prepare in public and write about it here. If this sounds weird, keep in mind that the event lasts 4 days, and 223 talks will take place. Besides the talks, there’s workshops, unconferences, poster
10 Mar 2024 5 min read

Loading Strava Activities Into a SQL Database and Using English to Ask Questions

I’m a Strava user and log all of my workouts there. Recently, I’ve been wondering if I could find a way to ask questions about my Strava activities in plain English. Here’s some examples: * “How long is my usual run?” * “How frequently do I run per week?
27 Jan 2024 4 min read

How Much Money Do Database Companies Make? And How?

SingleStoreDB, where I’ve worked for the last 7+ years, has just publicly announced crossing the $100M Annual Recurring Revenue (ARR) milestone: This is a big deal for the business, and I’m obviously thrilled about it. Achieving this milestone also got me thinking about how much revenue database companies
23 Jan 2024 6 min read

My Books in Review From 2023

I try to read around one book per month. In this post, I leave you with some notes, not so much a review, about each of the 12 books I’ve read in 2023. Oh, and I’ve arranged the books roughly by the impact they’ve had on me,
29 Dec 2023 5 min read

Understanding Parquet, Iceberg and Data Lakehouses at Broad

In the past few years, I've heard a lot about Avro, Parquet, ORC, Arrow and Feather, but I also keep hearing about Iceberg and Delta Lake. As a "database person", I’ve been struggling to understand all of these different things, and how they relate to
26 Dec 2023 8 min read

Learning About Transaction Isolation Levels in Databases

I have been working at a database company for over seven years and I must admit I haven't quite figured out isolation levels yet. But I was in a meeting recently where we were discussing materialized views and snapshot isolation, and I just couldn't understand how
23 Dec 2023 4 min read

Separation of Storage and Compute, and Compute-Compute Separation in Databases

This blog post is intended to be an extremely simple and brief introduction to two concepts which I admittedly took longer than I would have wanted to understand. The two concepts are separation of storage and compute, and compute isolation for database systems. Hopefully, this blog post is useful to
13 Dec 2023 4 min read

Why All New Hires on Our Team Take on the Same Project

For the last few years, as our team grew, one of the biggest challenges we've had to solve was how to onboard new engineers onto the team. A big part of onboarding new folks is finding easy tasks for them to do that get them introduced to all
07 Nov 2023 3 min read

My Experience Building a Vercel Integration for SingleStoreDB

I recently led a project to build a Vercel Integration for SingleStoreDB Cloud. Throughout the process, I met a few different folks at Vercel, and had a really fun time with actually implementing the integration. Vercel’s official documentation for how to build this kind of thing is pretty good,
30 Oct 2023 4 min read

Working on Self-Managed Software vs. Working on Cloud Managed Services

I started my software engineering career at MemSQL (now called SingleStoreDB) and our product was 100% self-managed back then. This meant that our customers had to download, install and then maintain the installation of our database product on servers that they managed. Then in late 2019, we launched SingleStore Cloud
26 Oct 2023 4 min read

Running a Sub-3 Hour Marathon

My big fitness goal for 2023 was to do something that a few years ago would be completely unthinkable for me — to run a sub-3 hour marathon. To set some context, I only started running in early 2020 and I never did any sports my entire life. I managed to
09 Oct 2023 6 min read

The Dynamics of Flaky Tests and Which To Remove

I recently wrote a blog post titled “A Simple System for Measuring Flaky Tests in a Large CI/CD Pipeline”. We have implemented this system at work and it has been working wonderfully for us. After implementing this, we are now able to track the percentage of tests that fail
24 Sep 2023 3 min read
Page 1 of 3 Older Posts →
David Gomes © 2025
Powered by Ghost