loading...
Cover image for Paying the bill for tech debt - working from home

Paying the bill for tech debt - working from home

fokusman profile image Ferit 🌟🕌 ・2 min read

working from home (27 Part Series)

1) Starting remote work journey - Day 0 2) Starting the journey of remote work - Day 1 3 ... 25 3) Starting the journey of remote work - Day 2 4) Remote work journey - Day 3 5) Remote work journey - Day 4 6) Remote work journey - Day 5 7) Remote work journey - Day 8 8) Remote work journey - Day 9 9) Remote work journey - Day 10 10) Working from home - Day 11 11) Working from home - Day 12 12) Working from home - Day 13 13) Working from home - Day 14 14) Working from home - Day 15 15) Working from home - Day 16 16) Working from home - Day 17 17) Working from home - How to deal with big PRs? (Day 18) 18) Working from home - Make your software easy to change (Day 19) 19) Don't do Health Sprints - Working from Home journey(Day 20/21) 20) How to handle bug requests? - Working from home Journey (Day 22/23) 21) You should not be afraid of a conflict 22) Can developers challenge product decision? 23) Feedback, Feedback, Feedback - Working from home 24) Paying the bill for tech debt - working from home 25) How a wrong Hook can DDoS you - wfh edition 26) Calming down and starting architectural topics again - wfh edition 27) First relaxing week - wfh edition

Thanks for reading! I'm writing about my remote work journey thanks to covid-19 forced me to 😂 I'm writing now almost a month now (Day 29/30)

Did you ever had this moment where you have to control yourself to not say "I told you" ? 😂

What happened is that for an AB-Test, the common-sense was to not create a pagination feature for an API-request but rather accept that filtering is done in a Web Application (over 5000 items).

We released a new version and for two days it DDoS'ed basically some parts of our systems. 😅

Attack

How did this happen?

From my understanding and observation it was a cascading effect of multiple existing "legacy" codebases which resulted in this issue.

  1. We were switching from an API Endpoint which was connected to our DB to another teams Endpoint. We agreed that asking that Endpoint "Give me 5K items with detailed information" is an accepted behavior ⚠️
  2. Our web app was calling the endpoint for each render and until now, it was not discovered. Problematic Redux architecture ⚠️
  3. Wrong understanding of React and Memoization ⚠️

The outcome was multiple rollbacks, many people stressed and definitely some missed orders.

Personally, I think the root cause here is that technical debt was not handled properly over some time. Especially our chrome web extension has a rather outdated codebase. The incident is basically the bill software teams pay whenever we move on and say "I will tackle it later".

We practice Continuous Integration (CI), Continuous Delivery (CD) and many other things (continuous learning) but I see continuous refactoring (CR) is totally missing. When growing as an engineer, this is definitely something one should discover from Junior to Senior.

As I started to be more opinionated, here is a past post, why a health sprint is not the correct way:

Personal

First day of #Ramadan kicked in. And this is what my wife prepared for our kids:

Alt Text

We want to provide our kids a positive cultural bias towards our religion (islam). My wife and I, both born in Germany, never felt accepted or comfortable representing our religion. So we want our kids to feel as much self-confident as possible about their identity. We don't know if this works, but at least they have fun 😅

This also means the next ~30 days I'm fasting between 16-17 hours / day. The first day worked well and one learning is that I can stop drinking coffee immediately.

Take care!

Cheers,

Ferit

working from home (27 Part Series)

1) Starting remote work journey - Day 0 2) Starting the journey of remote work - Day 1 3 ... 25 3) Starting the journey of remote work - Day 2 4) Remote work journey - Day 3 5) Remote work journey - Day 4 6) Remote work journey - Day 5 7) Remote work journey - Day 8 8) Remote work journey - Day 9 9) Remote work journey - Day 10 10) Working from home - Day 11 11) Working from home - Day 12 12) Working from home - Day 13 13) Working from home - Day 14 14) Working from home - Day 15 15) Working from home - Day 16 16) Working from home - Day 17 17) Working from home - How to deal with big PRs? (Day 18) 18) Working from home - Make your software easy to change (Day 19) 19) Don't do Health Sprints - Working from Home journey(Day 20/21) 20) How to handle bug requests? - Working from home Journey (Day 22/23) 21) You should not be afraid of a conflict 22) Can developers challenge product decision? 23) Feedback, Feedback, Feedback - Working from home 24) Paying the bill for tech debt - working from home 25) How a wrong Hook can DDoS you - wfh edition 26) Calming down and starting architectural topics again - wfh edition 27) First relaxing week - wfh edition

Posted on Apr 27 by:

fokusman profile

Ferit 🌟🕌

@fokusman

Senior Software Dev from Berlin. Working at ZalandoTech.

Discussion

markdown guide
 

What's in the bags? Sort of reminds me of an advent calendar 🙂

 

It is basically inspired by advent calendar 😀.

It's a mix of sweet stuff (kinder riegel, kinder surprise ...) like 10-15 bags.
The rest is:

  • Matchbox cars, Pixi-Books, coloring bath, balloons, self-made vouchers (5 good night stories)

When we have Eid in 4 weeks, they will get a bigger present (instead of money) 😃