Architecture Homicide

Architecture Homicide

I’d spend a couple of hours studying, planning, and understanding a problem, just to solve it in minutes.

Introduction

Today, We will be talking about a very important topic in our Industry, actually, it’s one of those big oceans where a diver can never reach its bottom, and that my friends, is Software Design

But before we dive into anything, let’s ask ourselves a question of “Why should we care?”

The weekend ends, the weekdays start, you arrive at the office, yet another bug, yet another patch here, a patch there and lots of crappy, iterative, duplicated routines you have to make, and somehow you managed to survive yet another week, UNTIL, the deadline hits ya hard You begin scrambling any library you want off Github, you sew a couple of different solutions together, your force unwraps are all over the place, and the crash rates are probably below the ground from the last release, users are downrating your app left and right, and it all boils down to the “MANAGEMENT WHO JUST CAN’T UNDERSTAND!” Or “THE MARKETING SHOULDN’T HAVE HYPED US THAT BIG” Or “{Placeholder for any excuse you want here}”.

Sounds familiar, right? (Or not yet that is…)

We are smart ones, we should know better, and that’s what Software Design is here for…

Back in 2019…

I was in a Bootcamp called [LintSchool], and my sole purpose for it all back then was this man, @Me9id

He was good with Design, and everyone in our community knew him for that, so it was an opportunity to learn from the best of us in the best of topics IMO

Two of Meguid’s famous quotes about Software Design when we had our first refactoring session about refactoring a shitty code that mimics an Uber Clone was…

Software Design is all about knowing where to put what

Be careful not refactoring a mess with another mess that is when we tried to implement OCP

Later on, after we were done with the 3rd Session in Software Design, he asked us this question

Why do you think that people outside of Egypt, mostly the elites of the elites in Europe and the good ol’ Silicon Valley are able to Juggle jobs quickly and switch positions and mostly they don’t have the term Specialization rather a Software Engineer?
 — Meguid

Back then, I had no clue, maybe they worked hard? maybe they were smarter (that’s my 21 years old me talking so, yea…)

But his answer was better than what I anticipated

They get uncomfortable with the most uncomfortable topic, the Art of the Software, which if you do the math, is largely 95% of what we do on any stack, and 5% other is just a different Syntax, so If you master the concept, you approximately mastered the Art of Software Engineering
 — Meguid

And so began my journey of mastering the long last art.