DEV Community

Cover image for Working from home - Day 17
Ferit 🌟🕌
Ferit 🌟🕌

Posted on

Working from home - Day 17

General

Exhaustion still exists. Weather is getting better, enjoyed some time outside with the kids. Yes, outside 😅

We are 23 of 24h at home, yet for an hour / day we need a walk or two.

At the same time, my father in law got unlikely and he needs to go to the dentist, yet he is a high-risk person with now some missing teeth. This was a quiet emotional event and still we don't know what will happen on Monday.

My wife gave them one of the kn-95 masks as they have definitely a need rather us. For them the risk is life or death (78y old, 68y old).

I'm now looking forward to the weekend.

Now the third week without a friday prayer. As a muslim this is a really tough situation. I never read or experienced that globally friday prayers are canceled, even hajj in Mekka most likely will not happen this year or should be delayed.

Work

The whole day I was trying to setup my local environment. This scala backend seemed easy to setup but than it took me hours + help from another co-worker to realize that you shouldn't provide relative paths in configuration variables.

Also another co-worker started a "Draft PR" with 3k LoC. When I had a first look, I could reduce the whole changes and additions to ~2K but still it's huge. It should have been an AB-Test but this is like a beast.

I think, I will need to escalate and block this. Ask for sliced PRs, more iteratively. The risk to merge 2-3K of new LoC into a Chrome Extension with delayed review policies due to Corona is too high. Even using a Experiment Flag, as it is not clean integrated. This PR + Scala Monolith frustrated me and I had a longer discussion with my Lead. The outcome is below:

TIL

Dear Developers,

who think "Why putting effort? It's an MVP, it's a Test, it's greenfield.." do you know how hard it is to work with such codebase? Not after a month. Like after 4 years? I'm in that situation, it's a great challenge but honestly, the codebase is a mess. Yes, it has some good parts (clean naming, some structure) but it has so much tight-coupled logic, so much double or even triple API Calls because of wrong React + Redux usage etc.

Let's learn from well-known professionals:

Or my Lead shared a really great thing from Clean Architecture (Robert C. Martin):

you can only get 3 of the 4 of iron cross, good, cheap (in budget), fast and done

This means, only 3 of these 4 things are possible in a software project.

How do you manage / decide on which one?

  • changing timeline (last thing business usually wants)
  • adding resources (only works if added early in a big project so that the net is contribution)
  • compromising quality (this is a deception, it seems you can compromise quality and move faster, but its never faster in long run to compromise quality)
  • negotiating scope

Another quote from my Lead:

A good team drives project to be Good enough, Fast enough, Cheap - budgeted enough, and Done as much as necessary

This reminded me of one learning I had when reading DHH (Basecamp) Book "It doesn't have to be crazy at work".

Basecamp always plans for 6 weeks and if they realise the initial plan was too big, they slice and cut on the product / requirements. This means, Basecamp is always negotiating scope.

My personal view is that negotiating scope seems to be the only one of the 4 pillars, where you can get stuff done, be on time (fast) and still deliver quality.

I think, Clean Architecture and Clean Agile are ranking higher now on my "next books to read".

Top comments (0)