Design patterns could make a difference in the way you write code. The thing we all need to understand is that we will come across many people who could write code, but there will be very few who write the code in a way that is scalable, maintainable, free of smells and most importantly readable. And to make a shift, it is important to know and understand different design … [Read more...] about Top 5 Common Design Patterns
The notification system is a very important part of any organization, especially financial orgs. For ex: It is very important to tell people about their upcoming payments. Or that the order has been placed successfully with the receipt of their order. It gives them feedback that things went well. But have you ever given any thought to how notification works or is delivered … [Read more...] about Design A Notification System
It feels like I'm writing after a long time. Actually, my priorities have been quite varied in the past few months, mostly focussing on my technical expertise. But last week my team had a pretty good retrospective session where I picked up nice clues and suggestions, so I thought of sharing my 2-cents with you all. Retrospectives actually bring a lot of memories or to … [Read more...] about A Well Functioning Team – Feedback Culture
Replication simply means keeping a copy of the same data on multiple machines connected via a network. These machines could be present in different parts of the world and not necessarily in the same perimeter. There are many benefits of having this redundancy that you will see later in this article. The objective is this article is to provide some insights into different … [Read more...] about Replication – How Is It Done In Distributed Systems?
Code reusability is the holy grail for software development. You might have heard that developers should write code once and reuse it everywhere. Or, never write the same code twice... and a lot of things on similar lines. But have you ever questioned this? Is redundancy such a bad thing after all? Don't you think these statements are subjective? Applied to specific … [Read more...] about Freedom From Redundancy Is A Trade-off
I've been seeing some "not-so-good" everywhere and that made me wonder - Why do developers write code that slows them down later on? When I started asking this question myself, I started getting various reasons for the not-so-good code. I made a note of these reasons. And today I'll elaborate on each one of those. I guess you will relate to these and feel free to share your … [Read more...] about Why Do Developers Write Code That Slows Them Down
Before diving into the best code review practices, I always ask this question - Why do we need a Code Review process? Code review process exists to improve the software development lifecycle (SDL). To improve the software and code that we are writing. This is done by adding an extra layer to the development process where your peers will take a look at the code to … [Read more...] about Code Review Best Practices For Software Engineers
Recently I was thinking about random numbers. The numbers that all software engineers use in day-to-day life. Have you ever wondered what the heck is random? When do we call something random? Let me tell you at the start that the word "random" that we are used to is not random at all. It's pseudorandom. It's pseudo because it behaves randomly enough but it's not actually … [Read more...] about Generate Pseudo Random Numbers With Linear Feedback Shift Register (LFSR)
How are you doing it? Do you have one big pipeline script with all sorts of logic that incorporate everything? Or do you have a lean pipeline where a single stage does one and only one thing well? I've seen many different ways in which companies organize their CI/CD pipelines. And it works for them. But there are a few designs that were really simple to understand and … [Read more...] about Jenkins Pipeline Script Should Not Contain Complex Logic
Have you ever got a chance to review a Pull Request that contains the change across 100 different files? If you have not then you are in a wonderful place. But if you have... then this article is for you and your team. Big PR takes a lot of time, concentration and focus to understand what all parts of the code have changed. This is such a turn-off for the reviewers that … [Read more...] about How To Break A Big Pull Request Into Multiple Smaller PRs?