David Gomes

  • Home
  • About Me
  • Speaking

Defining Database Developer Experience

Table of Contents * What's not discussed here? * The 8 Pillars of Database DX (in no particular order) * #1 Observability * #2 Deployment * #3 Configurability of Tradeoffs * #4 Predictable Pricing * #5 Programming Language SDKs/Drivers/

February 27, 2023

Analyzing How Much Time I Spend in Meetings (using SQL and Python)

tl;dr: I will show you how I ran some simple analytics on my Google Calendar history over almost 7 years. I used SingleStoreDB for this, but it should be straightforward to do

February 13, 2023
hiring-for-engineering-managers

Taking the Initial Phone Screen with Candidates

This is the third 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,

February 03, 2023

What Should Software Engineers Work on as They Grow?

A plethora of outstanding literature exists with the goal of helping software engineers make a greater impact and grow in their careers. Just a few examples include: * Staff Engineer by Will Larson * The

January 21, 2023
hiring-for-engineering-managers

Accountability Mindset for Hiring Engineers

This is the second blog post of a series titled Hiring for Engineering Managers [https://davidgomes.com/tag/hiring-for-engineering-managers/]. I plan to write a few posts on this topic since I'm incredibly passionate

December 18, 2021
hiring-for-engineering-managers

Getting Creative with Looking for Candidates

Back in 2004, Google had this cryptic highway billboard sign that was trying to get people to apply to engineering positions there [https://www.npr.org/templates/story/story.php?storyId=3916173]. I

November 30, 2021

Leveraging the TypeScript API to find issues in your code

Did you know TypeScript has an API that allows you to write scripts that make certain checks on your code? It's very rarely useful for application developers, but it's used by IDE plugins

December 02, 2020

Reading Documentation Upfront

Before I was actually getting paid to write code, I got extremely accustomed to picking up new frameworks and libraries very quickly. I'd bootstrap a new web application in Rails in one week,

September 27, 2020

Experimenting with TypeScript 4.0's Variadic Tuple Types (Variadic Kinds)

I wrote some code over 2 years ago that couldn't be properly typed with either Flow [https://flow.org/] or TypeScript [https://www.typescriptlang.org/], but with the introduction of Variadic Tuple Types

July 05, 2020

Distributing Pick<T, K>/Omit<T,K> over union types in TypeScript

Disclaimer: this article assumes intermediate knowledge of both TypeScript and React. Concepts you should be familiar with include Higher Order Components [https://reactjs.org/docs/higher-order-components.html] and utility TypeScript types such as

January 03, 2020

Should you annotate or let TypeScript infer the types?

Lately, I've been thinking about how one can decide whether to annotate or let TypeScript infer the types of variables/expressions whenever it can. If you don't know what Type Inference is, refer

December 18, 2019

Porting 30K lines of code from Flow to TypeScript

We recently ported MemSQL Studio [https://www.memsql.com/manage/]'s 30 thousand lines of JavaScript from using Flow to TypeScript. In this article, I describe why we ported our codebase, how it

January 13, 2019

Maintaining overridden type definitions for a dependency with TypeScript

Recently, I was struggling with integrating redux-form [https://redux-form.com/] into a TypeScript [http://www.typescriptlang.org/] project. I hit a couple of bugs in the type definitions for this project, and I

January 02, 2019

What I wish I had known before starting to use Flow

I've been using Flow [https://flow.org/] at work for more than a year and there's a few things that I really wish I had known from the start. Some of these could

August 15, 2018

Looking back on a year and a half of remote work

Around a year and a half ago, I transitioned from a full time onsite position to a full time remote position (same employer). Many friends and coworkers tried to pick my mind on

August 06, 2018

Exploring Bucklescript's Interop with JavaScript (in Reason)

Disclaimer: this is a blog post version of the talk I gave at the ReasonML Munich Meetup [https://www.meetup.com/Munich-ReasonML-Meetup/events/245697054/]. If you want to watch the talk, it's on

February 03, 2018

Writing ReasonML bindings for JavaScript APIs

If you haven't heard about Reason, you should probably look into what it is [https://reasonml.github.io/] first. However, if you have a JavaScript background and have just recently heard about Reason,

December 23, 2017

The Old York Times — Shift APPens 2016 Hackathon Project (Post Mortem)

This past weekend two friends (Pedro Paredes and “Michel” Duarte) and I took part in a hackathon held in our hometown — Coimbra, Portugal. It’s called “Shift APPens” and participants are allowed to

February 27, 2016

The Ludum Dare 34 Meetup in Coimbra

This past weekend I organized a local Ludum Dare meetup in my hometown, Coimbra. For those of you who haven’t heard of it, Ludum Dare is a game making competition that is

December 14, 2015

Big Startup Events Feel More Like "Startup Zoos"

You might have heard about events such as Web Summit [https://websummit.net/] or TechCrunch Disrupt [http://techcrunch.com/event-type/disrupt/]. In these events, dozens to hundreds of startups sit along in tiny

November 08, 2015

My 2015 Summer Internship At Unbabel (YC W14)

This summer I was lucky enough to grab an internship at Unbabel [http://unbabel.com], a Y Combinator startup that provides a language translation solution - "AI Powered Human Quality Translation". Because they

September 19, 2015

Having fun with Competitive Programming

Competitive Programming refers to a sport where participants (contestants) have to write solutions for a set of given problems in a certain amount of time. The solutions themselves have to be correct and

August 23, 2015

Codebits VII, 2014: My Post Mortem

Codebits [http://codebits.eu] is the largest and most important hackathon in Portugal. I participated for the first time from this last Thursday to Saturday. It. Was. Amazing. As a hackathon, it includes

August 03, 2015

The Shift APPens Experience

Last weekend, I took part in a hackathon organized right where I live - Coimbra, Portugal. The name of the event is Shift APPens [http://www.shiftappens.com] and around 50 people took

February 26, 2014

elementary OS Luna Released

elementary OS [http://elementaryos.org], a free software project I’m heavily involved in, has seen its latest release come to life just two days ago - elementary OS Luna. In fact, all

August 02, 2013