It’s All About Design – I

System Design has become the most essential part of a software engineer’s job profile. It has also become a crucial part of the interview process as well be it a Big Tech – GAFAM or startup. Well, I got pushed into understanding system design at a very early time in my career and got exposed…

Debugging Python Code

I have been in situations where I have been stuck for hours trying to understand why my code is not behaving in an expected way or is breaking at runtime. At times the bugs would be so silly that I literally wanna ­čĄ» and other times ­čą║ , so yea it’s pretty normal to have…

Pragmatic Paranoia

Couple of months back, I took a session on Being A Pragmatic Programmer. To prepare the content I read through a book by Andrew Hunt and David Thomas called “The Pragmatic Programmer”, but there was this particular section that took my attention – The Pragmatic Paranoia, this section focused on the depressing reality that perfect software does…

Structural Design Pattern: Decorators

As per Wiki┬ástructural design patterns┬áare┬ádesign patterns┬áthat ease the┬ádesign by identifying a simple way to realize relationships among entities. In this post we will discuss Decorators. Decorators, add additional features to object dynamically without using sub-classing Let’s consider an analogy here, our bakery needs some automation, everyday I spend few hours setting up appliances like pre-heating…

Creational Design Pattern: Prototype

Prototype Pattern is another creational pattern that clones objects as per the prototype. Basically it lets you make copies of existing object. Prototyping is important when we creating many similar objects, but this process can be expensive so the solution is ‘Cloning’ instead of making individual objects. Lets consider an analogy here, we are mass…