One of my favourite stories about product / engineering / scaling / really knowing your customer:

📈 I worked on an e-commerce project which had been very successful and started handling a lot of volume, straight away.
This was before virtualisation and elastic scaling, so the servers we had were the servers we had. Keeping the site running in busy times was hard.

An odd behaviour started: the site would crash on the hour, every hour. To the minute.

🤯 We couldn't figure out why.
There was no rush of traffic to the site, but the servers got crazy busy and started falling over. We were baffled. What's more, it wasn't consistent - sometimes it was in the evening, sometimes in the day.
At the same time, we had an issue with the back office part of the site. One page, the order list, showed all pending orders, and because the site had been very successful, this page had become heavy - a page weight of ~5MB.
This was 15 years ago, and 5MB, refreshed constantly by 100+ call centre agents, was killing the client's internet connection.

💡 We came up with a pragmatic solution: the call centre agents would rely on the browser-cached copy of the order list.
They'd load the list, open individual orders in new tabs, and then close the tab and revert to the already-loaded page to work on the next order. They were advised to only reload the main screen once an hour or so.
I happened to be working in client's office one evening, when the site was crashing on the hour, and the mystery was solved.
🕗 As the clock struck 8pm, the call centre director walked out of his office and called out to the whole floor: "Now... everybody refresh their order lists!"

Because the main site shared servers and DB with the back office software... it promptly crashed. Whoops. 🤦‍♂️
And why did it only crash sometimes? It depended which call centre manager was on shift - only some of them had started asking for the hourly refresh to be done on the hour. We would have NEVER figured that out.

• • •

Missing some Tweet in this thread? You can try to force a refresh
 

Keep Current with Sam Phillips

Sam Phillips Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

PDF

Twitter may remove this content at anytime! Save it as PDF for later use!

Try unrolling a thread yourself!

how to unroll video
  1. Follow @ThreadReaderApp to mention us!

  2. From a Twitter thread mention us with a keyword "unroll"
@threadreaderapp unroll

Practice here first or read more on our help page!

More from @samsworldofno

8 Jan
🙋 Frequent question from #founders who are just getting started:

> How do I hire my first developer, when I'm not technical? How do I know they can code?

Here's how to do this with confidence, using the questions and techniques I've used interviewing *hundreds* of engineers.
> How do I know they can code?

Good news: you're not looking for code. You're looking for product validation, for learning and for solutions to user problems.

Focus on finding product-focused engineers who can work with you to validate, learn and solve. No tech chat needed.
In an interview, I always start with a simple question:

> Please can you tell me about a recent project you've worked on that you were proud of?
Read 38 tweets

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3/month or $30/year) and get exclusive features!

Become Premium

Too expensive? Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal Become our Patreon

Thank you for your support!

Follow Us on Twitter!