Remote Teams vs. Themselves (part 1)

Jan 30 2025

If you’ve ever worked on a remote dev team, you know the struggle — different time zones, miscommunications, and the inevitable "Why is this broken?" moment when half the team is still asleep. The beauty of async work is that things keep moving even when you log off. The downside? When things break, you might be waiting hours for answers.

The narrative you are about to read is based on real interactions with teams I've personally experienced.

This is a day in the life of John, Aaron, and Tina — three technical experts spread across different time zones, trying to keep their priorities on track.

Characters:

- John (Eastern Time): Frontend dev, TypeScript aficionado, loves his cat

- Aaron (Pacific Time): Backend dev, has memorized regular expression rules, caffeine junkie

- Tina: (Mountain Time): Network Engineer, night owl, enjoys role playing games

---

Interior: John’s House - 8am ET

John, bleary-eyed, greets his cat and fires up his IDE

John: Alright, Col. Mustard, time to make some magic happen! Let’s integrate this front-end with the backend services Aaron promised us—surely, no problems today. Right?! [yawns]

John pulls up the API notes and attempts a request.

John: Merlin's beard! A 418?

A 418 HTTP status code means "I'm a teapot." It was originally defined in RFC 2324 as an April Fools' joke in 1998 as part of the Hyper Text Coffee Pot Control Protocol (HTCPCP). The intent was to indicate that the server refuses to brew coffee because it is, in fact, a teapot.

He checks Teams, but Aaron is offline.

John: Okay you know what, I’ll just solve this myself. How hard can writing a few API services be?

…It’s harder than it looks. John sends a message to Aaron.

John: Aaron, when you get online, can you explain why I’m getting a 418 (real funny by the way)? I thought we agreed on all of this yesterday...

---

Interior: Aaron’s House - 5:30am PT

Aaron’s phone buzzes pulling him out of a deep sleep. He rolls out of bed, get's ready for the workday, pounds a Red Bull, and logs into the VPN.

Aaron: Hmm? Well, I sent everyone the spec update last night, not sure what the issue is here.

He opens his IDE and starts checking out the code, and sees the message from John.

Aaron: Okay, okay, I’ll handle this before I start my third coffee...

Aaron calls John.

Aaron: Hey man, what’s up?

John: Soooo yeah what's the deal with this API call, I can't get it to work at all like we discussed.

Aaron: I made some updates to the data contract last night to make the service respond quicker and sent a note through the ticketing system — didn’t you get it?

John: Ticketing system? You know we use Teams for updates, not that archaic thing!

Aaron: Look, the infrastructure team only checks the ticketing system. We put everything there so they don’t break the systems. It’s... complicated.

John: I see - it would be great if everyone would use the same tools, this is super confusing.

Aaron: It really is. Also, I put a 418 in for when you send bad data. It's an easter egg. Good one right?

John: Yeah...real nice. Could you send me the updated spec here in Teams so I can fix this?

Aaron: Sure thing. I'll drop it in the group channel.

---

Several hours later...

Interior: John’s House - 11am ET

John: Alright, that should be it. Let's try this... and— wait, now a 503? What did you guys change now?

Aaron: Hmm 503? That’s not from us... let me check.

Aaron’s screen refreshes.

Aaron: The Network team was planning some WAF upgrades— maybe they are testing something? Let me see if Tina is online to help us with this.

---

Interior: Tina’s House - 8:30am MT

Tina was up late working and was not online to help Aaron. There are other network engineers on Tina's team but they are located on the other side of the world and are not available either.

A Web Application Firewall (WAF) is a security system that monitors, filters, and protects web applications from external attacks by analyzing HTTP traffic.

Aaron: Ugh, Tina isn't answering my messages, I can never get ahold of anyone on that team when I need them. I guess I'll just have to wait until someone comes online or see if I can get a hold of someone on the offshore network team.

A few hours pass - Tina wakes up and notices the messages from Aaron.

Tina: Hey Aaron, sorry for the delay, I was up late working on some patches and just saw your messages. What's going on?

Aaron: Tina! We’ve got a 503 on the new API we've been developing. Any chance you're seeing anything weird on your end?

Tina: I don't think so, but let me check.

She logs into the network monitoring tool and groans.

Tina: Okay, looks like the Internet Service Provider (ISP) at the data center is having an outage. That’s probably why the health checks are failing.

John: Of course...I was just about to send a status report to my Project Manager about how everything's blowing up. Can we get it back up and running quickly? I’ve got to leave for hot yoga in a bit...

Tina: Yikes, I’m only running on 4 hours of sleep and there's a new zero-day, but I’ll try. Hold on…

A zero-day (0-day) is a software vulnerability unknown to the vendor, leaving no time ("zero days") to fix it before attackers can exploit it.

She checks her console.

Tina: Ugh, yeah looks like it's the WAF patching... The data center’s down. I’ll have to call them or revert the patch, but they’ve all gone home for the day. Looks like it’ll probably be tomorrow before it’s fixed.

John: [sighs deeply] Fantastic. Just fantastic…

Aaron: Hey, at least we got a bunch of patching done today, right?

Tina: Yeah....right....

Head on over to "part 2" for some practical tips on how to avoid some of the challenges our team experienced above.

share the love

The views and opinions expressed on this blog are the author's own and do not reflect those of their employer, past or present. Any content shared here is for informational purposes only and should not be taken as professional or legal advice.