“Effective teamwork begins and ends with communication” - Mike Krzyzewski
“That’s not what I really wanted!” shouts the product manager to the engineering team after developed a gigantic and complex feature for about a month in this imaginary and hellish scenario about the miss-communication in SDLC.
To put it in simple terms, the scenario above is what we would like to solve using Behaviour Driven Development (BDD).
Most of the problems in the SDLC happens because of a lack of understanding between technical and non-technical stakeholders. Ambiguity in requirements interpretation caused the result to be far for each side. …
“Give me six hours to chop down a tree and I will spend the first four sharpening the axe.” ― Abraham Lincoln
Accident is always unexpected and sometimes unavoidable.
Some of the infrastructure might just be having a bad day and gone failure.
Or there might be a datacenter outage causing a chaos in your micro-services environment.
Or maybe, there might be a bad deployment that makes your services unable to serve the request.
Whatever the reason or the problem is,
In the utopia of the Software System,
And in all the hopes and dreams of all the engineer around the world,
Message queues provide a new asynchronous way for services to communicate with each other. Compared to an API, a message queue has many advantages, such as :
Every downtime your system had,
Every mistakes that user experienced,
Every risk of data loss that goes unresolved,
Is a fatal blow for the trust of the customers.
Every day in any software development lifecycle, there is always a chance of incident happen. Whether it is your system suddenly having a memory leak causing a downtime, or connection to the database suddenly got lost making all the process got error, or maybe is it just a bad code deployment.
Whatever the reason is, An engineer while focusing on his task still needs to shift when things goes awry. …
As the system grows bigger and bigger, for avoiding any single point of failure, often we switch from the old monolithic to micro-service architecture. By dividing the application into smaller independent units, the interaction count between each unit will grow significantly.
Messaging queue offers another way to communicate and coordinate asynchronously especially in this decoupled unit while improving performance, reliability, and scalability. The component which adds the message to the queue is called producer while the component which retrieves the message and process it called a consumer. …
To Review or to be Reviewed,
That is not the Question,
That’s Our Daily Job
For a newly programmer, Code review seems like a scary process.
Being corrected and checked for all the things that you push.
Who knows what critics might come in the form of request changes comment ?
Some might think that this is only a formality process.
Some might think that this is just a standard procedure.
But is that all ?
But the code review process is not that simple,
it is quite a beneficial yet could build the culture of the team ,one pull…
Choosing which database for your system might be one of the crucial decisions to make. Whether relational databases such as PostgreSQL and MySQL that provide ACID transactions and standardized SQL syntax, or NoSQL such as MongoDB that provides horizontally scaling storage and high availability.
Both have their own advantages against each other and have been a solid choices for all developers. But what If we want a solid distributed database that still provides ACID Transactions yet still horizontally scalable?
Yeah, you can still use Master-Slave Replication in Relational Databases, but does it really scales? …
Don’t create another problems that don’t event exist in the first place.
So, your mind try to wandering about all the bad stuff that ever happen in your life.
All the awkwardness that ever occurred ?
The rejection from your crush ?
The breakups from your soulmate ?
The car that got stolen ?
The passing of the beloved one ?
Or maybe your brain tries to imagining the future with all the useless worrying ?
About the project’s deadline that due tomorrow ?
The meeting with the manager about your team ?
The fate of your single life after…