Analyze the code, then optimize it!

Photo by Adi Goldstein on Unsplash

What is it?

Software profiling is a dynamic code analysis where a program’s behavior is investigated using the data collected as the program runs. It is used for determining various program sections that you should optimize to increase the application speed, responsiveness and decrease its memory and resource consumption.

Why does it matter?

Software profiling is needed…

Using Mock in appropriate ways!

Photo by Chris Ried on Unsplash

What is Mocking?

Mocking an object is a way to substitutes and imitates a real object/function within a testing environment. It is a powerful way for improving the quality of your tests.

Why we need Mock?

Mock is needed to control the environment so that the external services that you use are behaving as you expected. Controlled…

Let’s utilize CI/CD for Software Development!

GitLab CI/CD (source:

CI/CD Concepts

On software development that uses continuous method, you continuously build, test, and deploy iterative code changes. This iterative process helps reduce the chance that you develop new code on buggy previous version. …

Let’s try to containerized your applications (and take the advantages)!

What is Docker?

Docker is an open platform that provides the ability to package and run an application in a loosely isolated environment called a container. It can run many containers simultaneously on a given host. Containers are lightweight and contain everything needed to run the application, so you do not need to…

Let’s get Git your projects!

git — most used VCS

What is Git?

Git is a Distributed Version Control Systems that created on 2005 by Linus Torvalds (and Linux development community). The development of Git was started since the revokement of BitKeeper’s free-of-charge status and it was made for Linux Kernel maintenance.

How to install Git?

To install Git, you can jump into its documentation and choose…

Agility is actually good! Want to know why? Check this out!

source :

What is Agile?

According to oxford dictionary, agile means able to move quickly and easily. In the context of software development, agile means the ability to create and respond to change, so that it can deal with uncertain and turbulent environment.

What is Agile Software Development exactly?

Agile Software Development is a term for any frameworks and practices that…

Should we care about users needs on making a product? Let’s learn more about UCD!

What is User-Centered Design? Have you ever heard about it? Are you curious enough to know more about it? Well, here is my understanding about User-Centered Design.

UCD Illustration [source:]

Brief Explanation

“User-centered design emphasizes that the purpose of the system is to serve the user, not to use a specific technology, not to be…

Muhammad Zuhdi

Casual learner

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