How do I design systems in Google: designing An URL Shortener

Abracadabra
9 min readJun 24, 2024

Background. When coaching backend engineers on system design interviews, I found the real gap is in work experience on architecting systems. That’s why YOE is a strong indicator of one’s fluency in system design. For example, someone with 8-years experience is senior, but most of the working hours are spent on meetings, logistics, coding, and domain knowledges. The time for fundamental, generally applicable, and critical practice on system design is only a tiny fraction.

In this series of posts, I want to scale, at least in part, my 1:1 coaching that has helped many engineers. In essence, it’s an apprenticeship experience where we design common systems together. I hope to enable my readers to gain the essence of my 15 years of building distributed systems in a much shorter time. In-person coaching achieved that; let’s see how it works for the readership.

Lastly, I apologize for the click-baiting title.

Problem introduction

URL shortener is a service that takes a long URL and converts it into a shorter one. This shorter URL redirects users to the original long URL. URL shorteners are widely used for sharing links on platforms where character count is limited, such as Twitter, or to make links easier to remember and share. Examples include bit.ly

--

--