As a computer science student, I have heard of stereotypes that said, “Software engineers are introverts that lack consideration for others” a lot. The most extreme is the idea that we can not even talk properly to people. Well, I am sorry? :(

We are often associated with people who code in isolation. I do not know in the past, but that is not the case nowadays. In the previous article, we talked about how empathy allows us to develop something on behalf of our users. But it is way more than that. Empathy is just a part of emotional…

In this article, I will talk about how empathy is crucial in identifying the target user’s needs and preferences. Additionally, I would like to mention one powerful tool in keeping track by building user personas.

What is Empathy?

“Empathy is the ability to recognize, understand, and share the thoughts and feelings of another person, animal, or fictional character.” (

Empathy is often be confused with sympathy, but it is two different things. According to, sympathy is a feeling of concern for someone else and often accompanied by the thought to make them happier, while empathy involves sharing other’s emotions. …

to relieve (something) of some undesirable quality likened to a disease or infection


We’re hearing the need to wash our hands and disinfect the surfaces regularly everywhere. But as a developer, do we have already cared for our codes too? You might think it is not really relevant, but the word “disinfect” itself is associated with “relieving some undesirable quality”. To put it simply, I will talk about Clean Codes. As someone who has no interest in cleaning routines, I will write the ultimate guide to disinfect your code as painless as possible! :D

The Infected Codes

Two years ago, my friends and I made an infographic about Java exception handling with the title Try not to kill people with your program. We found that in 1985 and 1986, 1 person was killed and several were injured by excess radiation due to a misprogrammed computerized radiation machine. So, programs that don’t work can lead to serious consequences.

Later on, we learned about Test-Driven Development (TDD). At that time and actually until not long before now, I have always hated TDD. After looking back again at the infographic and exploring, I get why some people recommend it. From…

It is well-known that a lot of software projects were developed by more than one person. In this article, I will talk a little about team coding and more about how Version Control, especially Git, boosts team coding works. Also at the end of this article, I will write down some of the most crucial Git commands that you need to know :)

Version Control

If I put it simply, Version Control is a system where we can track changes to a file or a set of files. If you are a graphic designer, you might be familiar with this meme:

Agile become increasingly popular in the software development process. But Phanish Puranam and Julien Clément, two strategy and organizational behavior expertise stated in INSEAD Knowledge that Agile practices might be fragile. In this article, I would like to inform what exactly is Agile and find answers to the fragility of Agile.

What is Agile?

able to move quickly and easily, able to think quickly and in an intelligent way.

(Oxford Learner’s Dictionaries, 2021)

If we look closely into the history of Agile, in 2001 a group of 17 people discussed approaches to software development. They agreed on the main points in…

thami endamora

Computer Science Student at University of Indonesia

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