Make money doing the work you believe in

𝗦𝗲𝘃𝗲𝗻 𝘁𝗵𝗶𝗻𝗴𝘀 your system needs before it goes to production.

A checklist:

1. 𝗛𝗲𝗮𝗹𝘁𝗵 𝗰𝗵𝗲𝗰𝗸𝘀: can your load balancer tell if a server is alive? Not just "port is open" but "can this server 𝗮𝗰𝘁𝘂𝗮𝗹𝗹𝘆 𝘀𝗲𝗿𝘃𝗲 𝗿𝗲𝗾𝘂𝗲𝘀𝘁𝘀 right now?"

2. 𝗚𝗿𝗮𝗰𝗲𝗳𝘂𝗹 𝘀𝗵𝘂𝘁𝗱𝗼𝘄𝗻: when you deploy, do in-flight requests complete or get 𝗸𝗶𝗹𝗹𝗲𝗱 𝗺𝗶𝗱-𝗿𝗲𝘀𝗽𝗼𝗻𝘀𝗲?

3. 𝗖𝗶𝗿𝗰𝘂𝗶𝘁 𝗯𝗿𝗲𝗮𝗸𝗲𝗿𝘀: if a downstream service dies, do you 𝗳𝗮𝗶𝗹 𝗳𝗮𝘀𝘁 or hang until timeout?

4. 𝗦𝘁𝗿𝘂𝗰𝘁𝘂𝗿𝗲𝗱 𝗹𝗼𝗴𝗴𝗶𝗻𝗴: can you search your logs by request ID, user ID, or error code? Or is it just 𝘂𝗻𝘀𝘁𝗿𝘂𝗰𝘁𝘂𝗿𝗲𝗱 𝘁𝗲𝘅𝘁?

5. 𝗠𝗲𝘁𝗿𝗶𝗰𝘀 𝗮𝗻𝗱 𝗮𝗹𝗲𝗿𝘁𝘀: do you know your 𝗽𝟵𝟵 𝗹𝗮𝘁𝗲𝗻𝗰𝘆 right now? Do you get paged when error rates spike?

6. 𝗥𝗮𝘁𝗲 𝗹𝗶𝗺𝗶𝘁𝗶𝗻𝗴: what happens when a client sends 10,000 requests per second? Does your system 𝗽𝗿𝗼𝘁𝗲𝗰𝘁 𝗶𝘁𝘀𝗲𝗹𝗳?

7. 𝗥𝗲𝘁𝗿𝘆 𝘄𝗶𝘁𝗵 𝗯𝗮𝗰𝗸𝗼𝗳𝗳: when an external call fails, do you retry intelligently or 𝗵𝗮𝗺𝗺𝗲𝗿 𝘁𝗵𝗲 𝗱𝗲𝗮𝗱 𝘀𝗲𝗿𝘃𝗶𝗰𝗲?

Most interview designs skip all seven. Mentioning even 𝘁𝗵𝗿𝗲𝗲 𝗼𝗳 𝘁𝗵𝗲𝘀𝗲 in the last two minutes of an interview 𝗰𝗵𝗮𝗻𝗴𝗲𝘀 𝘁𝗵𝗲 𝗼𝘂𝘁𝗰𝗼𝗺𝗲.

Which of these seven does your current production system do well? Which ones are missing? Most teams have 𝗯𝗹𝗶𝗻𝗱 𝘀𝗽𝗼𝘁𝘀 in at least two.

May 24
at
9:11 AM
Relevant people

Log in or sign up

Join the most interesting and insightful discussions.