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".

Sentry workshop image

Sick of your mobile apps crashing?

Let Simon Grimm show you how to fix them without the guesswork. Join the workshop and get to debugging.

Save your spot โ†’

Top comments (0)

Sentry workshop image

Flaky tests got you down?

Learn how to merge your code without having to hit โ€œrerunโ€ every 5 minutes ๐Ÿ˜ฎโ€๐Ÿ’จ

Save your spot now.

๐Ÿ‘‹ Kindness is contagious

Engage with a sea of insights in this enlightening article, highly esteemed within the encouraging DEV Community. Programmers of every skill level are invited to participate and enrich our shared knowledge.

A simple "thank you" can uplift someone's spirits. Express your appreciation in the comments section!

On DEV, sharing knowledge smooths our journey and strengthens our community bonds. Found this useful? A brief thank you to the author can mean a lot.

Okay