Event Driven Architecture has been around for decades. This is not something new that we discovered recently. But we have definitely seen the rise of this with the emergence of distributed system and need for asynchronous communication. Event Driven Architecture really helps to reduce the complexity involved with distributed system while providing a way to asynchronously … [Read more...] about Event Driven Communication Between Domains/Components – Frontend Development
Programming
A Brief Discussion On Frontend and Micro-frontends
Whenever we hear the world "Monolith" it kind a sounds like a large block of age old monument, but in the world of software development monolith is not age old, infact, monolith is the first choice. Whenever I start on a project, I prefer to go monolith. There are several benefits of that. For one, it has less components and its really fast to develop and release new features … [Read more...] about A Brief Discussion On Frontend and Micro-frontends
Top 5 Common Design Patterns
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
Design A Notification System
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
Replication – How Is It Done In Distributed Systems?
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?
Freedom From Redundancy Is A Trade-off
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
Why Do Developers Write Code That Slows Them Down
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
Code Review Best Practices For Software Engineers
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
Generate Pseudo Random Numbers With Linear Feedback Shift Register (LFSR)
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)
Jenkins Pipeline Script Should Not Contain Complex Logic
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