Do you know how system architecture changes over time to meet increasing traffic? What does it take to design a hypothetical e-commerce site that scales to millions of users? In real life, you will never create an architecture of that scale from the start. It will be a gradual process. You may start by design a bare minimal site that handles hundreds, perhaps thousands of users.

It will probably look like the following.

How we build a high volume e-commerce website has changed over time. From the LAMP stack to the MEAN stack and many iterations in between. What would it look like to design a site today to take full advantage of what the most popular cloud providers have to offer?

A serverless architecture is what we came up with. You don’t have to manaually manage any services with this architecture. And it scales horizontally with traffic.

Photo by Karin Hiselius on Unsplash

These images are so long.

Lessons from an early startup: Seek validation from 2nd degree connections (3rd is okay too)

Seeking validation is the opposite advice I would give from a psychological perspective, but a lot of things are backwards for startups so... 🤷‍♂️

I’m assuming that:

  • you’re in an earlier stage startup (pre-product-market fit)
  • you’re actively researching and working on the idea
  • you’ve heard that validating ideas is a good exercise

Hopefully it’s clear what we’re talking about so the followup will be observations of why and how.

If you haven’t heard this advice before, then it is my honor to be the first to tell you.

Why should I validate (or invalidate) my ideas? What does it do for me?

It saves you time, energy, headache, and…


System design interviews are an essential part of any software engineering interview loop. They are increasingly more important as you advance your career.

How do you know you are ready? You probably have heard the working backward method. Interview preparation is no different. Let’s get into the head of an interviewer and examine the goals of a system design interview. I hope this could help you get into the right mindset before you start preparing for an interview.

I am not an authority on system design interviews. …


Docker has become the de-facto solution for teams to host their web applications. Turning a modern web application into a docker image, aka dockerization, is simple and straight forward. But over time, like us, you will find yourselves with longer build times and ever-increasing docker image size.

These issues cause team productivity to suffer. You waste precious time waiting for the docker image to build and deploy.

This article documents the steps we took to reduce a docker image size by 17 times from 2.1G to 127MB. If you are like me, you probably don’t have the patience to read…

We are a group of engineers who came together after being laid off in 2020. Being laid off sucks! Especially during this tumultuous time.

“We were not ready!” is the understatement of the century. We needed time to prepare for interviews, we needed to compete with many just as capable engineers for the limited number of positions. Those scary thoughts lead us to reimagine what an ideal job search experience should be.

We started with a few questions:

  • What if my resume is working for me while I prepare?
  • What if my colleagues and friends can vouch for me in…


The only tool built for remote system design interviews.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store