Sign in

Programmer/Architect

Sometimes there is no TL;DR. A software engineer must experience and understand and iterate the process over and over again to realize the core values. There is no shortcut. Hard earned skills determine the future so we will not have any quick summary here.

This picture defines how I feel every time I have to go through the basics again and again, and again. Sometimes it’s frustrating, sometimes I feel like I have reached the dead-end. I questions myself a lot like: Was I just doing it wrong? Was it even necessary? …


Code without tests is bad code. It doesn’t matter how well written it is; it doesn’t matter how pretty or object-oriented or well-encapsulated it is. With tests, we can change the behavior of our code quickly and verifiably. Without them, we really don’t know if our code is getting better or worse. — Michael C. Feathers

This is an attempt to help developers write better test codes.

Fundamentals Of Writing Good Tests

Writing tests first is not difficult at all. Once a programmer adheres this pattern, it becomes a habit which helps to view systems inside-out as well as outside-in, and end-to-end. But to do…


Even after years, this post yet remains the best to describe what actually load-balancing is. One of my goto resource when ever I am thinking of a distributed system design. Again, thanks Matt.


Loved reading the entire series. I look forward to the next. And please do it soon ;)


Loved the presentation. It's like a cheatsheet to understand Kafka or a general message brokers. Thank you.

Anit Shrestha Manandhar

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store