Software Engineering

Latest Posts

How to stay junior forever

A step by step guide for staying junior forever

The Bloat in Software Engineering

An evening rant about the unnecessary bloat in Software Engineering

Using AsciiDoc to write my two books

In the past six months, I wrote and self-published two books related to Software Engineering. Let me share with you the workflow and tools I used to do so.

On APIs and their responses

Since the dawn of the web, humans created CRUD APIs. And we were instructed that modification verbs should return the modified resource in response. But, should they?

Why engineers should focus on writing

All engineers are good writers... of code. But I believe that in order to a become better engineer–you should improve your writing skills.

Inheritance, Composition, and everything in–between

There are many concepts in the OOP paradigm. Inheritance is the most known, and it allows us to model software as relations between objects.

How to get into programming in 2023

New year is a good time to create a resolution. What if your resolution is a career change to software engineering?

The missing ingredients from your monitoring alerts

There is one thing engineers hate the most—waking up at night and troubleshooting production incidents. What if I told you I know how to make it less painful?

Cursor based pagination

Traditional pagination existed for many years. But it’s not useful for platforms with huge amount of user generated content. Luckily, there is an alternative solution for such systems.

Why you should adopt Makefile in all of your projects

GNU Make. A software that is, most likely, older than you. It’s so simple, so standard, and so ignored. I’m here to provide a case in favor of make and Makefiles.

Legacy is where companies go to die

Legacy. The one word engineers cringe when they hear. Nobody wants to work with legacy code or legacy systems. And yet someone has to. Can we do something about it?

It's better to be (type)safe than sorry

Take a good look at the following function and try to understand what it's doing. function do_magic(a, b) { return a + b; }

The Software Industry is Broken

The dire state of the software industry, leaves us with hopes for a better future. Why we ended up like this?

How to be a Great Technical Interviewer

The path to becoming a great technical interviewer is full of doubts, tough decisions, and self-discovery. But I believe every engineer should try to walk it.

Wrap your gifts not your dependencies

We’ve all been there. Its time to introduce a new package / dependency to our code base, be it a HTTP request library, a logger or something else, and the question we ask ourselves “Should I wrap it?”