Distributed caching to improve system performance
Caching is a commonly used technique to improve system performance by storing frequently used data or files in memory or local file system to avoid roundtrip over the network. More…
Azure service bus queues and topics
Service bus queues and topics are the essential building blocks for building scalable distributed systems. The following diagram shows the differences between the two.
Generating labelled training data
Availability of large volume of labelled training data is essential for training your machine learning models, in particular, for training deep neural networks. Some of the options are shown below.
Updating read data stores in CQRS
In a typical CQRS setting, there are one write data store and one or more read data stores. As shown in the diagram below, when a user updates data via…
Scalable machine learning architecture
The conceptual diagram of scalable machine learning architecture.
Appreciation for invisible efforts
Usually, we relate appreciation and recognition to achievements and deliverables only. Very often we ignore the effort and hard work put by a team or an individual when the result…
Book: Leaders Eat Last
Some key insights from the book “Leaders Eat Last” by Simon Sinek. Everybody matters. We are designed to look after each other. As a leader, you are medically responsible for…
Be self-aware to become a great team member and leader
Self-awareness is the precursor to becoming a great team member and leader. It enables you to evolve and adapt yourself with the changing need of your team. Self-awareness gives you…
Reflect regularly on improving team engagement
A team is a living and breathing entity. Various events, challenges and changes can impact team morale and engagement over time. Therefore, building an engaging team is not a one-time…
Build trust by seeking feedback during 1-on-1 sessions
Your 1-on-1 sessions with your team members are the great opportunities to build deeper connection and trust. And one great way to build trust is to seek feedback about various…
Digital transformation trends for 2020
Recently, MuleSoft published a report on the top 7 digital transformation trends that might shape 2020. These are: Connecting the consumer experience Data-driven business AI and machine learning Multi-cloud computing…
Focus areas of a Scrum Master
The role of a Scrum Master is often misunderstood and is not limited to facilitating Scrum ceremonies. Michael James, in his Scrum Master Checklist, has identified four focus areas of…
Enabling Machine Learning in a Software Product
The following diagram shows a software product with machine learning (ML) capability enabled in that. If APIs already back the product, then enabling ML means exposing some additional APIs coming…
How does a great working day look like to you?
I was reflecting on how does a great working day look like to me and came up with the following 10 items.
Six new books in my reading list
Including these six new books to my reading list today.
Lego Super Heroes
There are ten lego super heroes in the picture below. Can you recognize them all?
Book: The Courage to be Disliked
Aren’t all successful people happy as they have a strong sense of accomplishment and fulfilment? It depends on what success means to us, particularly, when the meaning of success is…
Dependency inversion using Ports and Adapters architecture
Over time core business logic of an application becomes tightly coupled with various libraries, frameworks and technologies making it harder to evolve and test. It becomes challenging for long lasting…
Software architecture reading list
This is a minimalist software architecture reading list based on my current work context. Last updated on 5th August 2018. This list is deliberately kept short in the spirit of…
Core ngrx concepts in an Angular app
There are only a few key nrgx concepts that are essential to understand the architecture of an ngrx based applications: store, state, reducers, effects, action, dispatch, subscribe, and one directional…