The Daily Life of a Software Engineer in Jakarta
Just my personal daily life as a Software Engineer in Jakarta
In this article, I will share what my typical daily looks like as Software Engineer in Jakarta.
Just to warn you, this is a personal story, that may be different with others. And this is not a technical article that I always write in many of my articles, this is just a random thing that I want to write as a simple diary. If you’re not interested, just stop right now from here ;)
Before moving forward, let me introduce my self. I’m Iman Syahputra Situmorang, or also known as “Iman Tumorang” or “bxcodec” in many social media (instagram/bxcodec,twitter/bxcodec, facebook/bxcodec, reddit/bxcodec) and linkedin (linkedin/imantumorang). LinkedIn is not like many social media, it’s more professional and serious there, so I need to make a serious username there by using
imantumorang instead of
I’m a native Indonesian, I born far away from Jakarta, but still in Indonesia. I was born in Aceh, and raised in North Sumatera. I move to Jakarta after graduated from my college. So, again, because I’m really a 100% native Indonesian, so I’m not too expert in English, sorry for making this great and wonderful story to be a worse story because of my wrong grammar :D.
In my free time, I always write some articles here in Medium at medium.com/@imantumorang, or doing something mini research about the new tech stack. Or just trying to contribute in open-source projects in Github, you can see my green graph in Github here: https://github.com/bxcodec :D. As I mentioned above, I use
bxcodec in social media, and
imantumorang for a professional account. Github’s username may be assumed as a professional, but I think it’s cooler to use
bxcodec in Github instead of
Currently, I live and work in Jakarta, a capital city of Indonesia. As a capital city of Indonesia, so it’s already obvious, this city is so crowded. And also Jakarta is the most fast growing city in Indonesia, especially in technology that grew so fast recently. There are so many active developer’s communities here, start from SARCCOM, Facebook Developer Circle, Jakarta Js, Go Jakarta, etc and many more. So it is a great city to visit for Software Engineer because you have so many communities for you to visit to gain and to share knowledge and also to grow your network circle.
Career and Professional
Currently, when writing this, I’m working at Kurio a news aggregator application in Indonesia. This is my second office (previously Bornevia). This company is still in the Startup phase. So, if you ask for Indonesian’s people about Kurio, no one will know!!. :D
That’s the reality. When I meet new people and they ask my jobs, and when I tell them, they literally don’t know it. They will always ask about it twice.
Mr. Krab: Hi, I’m Mr Krab, nice to meet you!
Iman Tumorang: Hi Mr. Krab, I’m Iman, nice to meet you too:)
Mr. Krab: So, what do you do?
Iman Tumorang: I’m a software engineer at Kurio.
Mr. Krab: Kurio? What’s that?
This always happens every time when I meet new people. It’ll different if some person who worked in Tokopedia, Gojek, Traveloka asked about their jobs, everybody will recognize their company’s name.
Well, this is expected actually. We still in a small startup category. And we’re still growing. So, I think it’s just a matter of time until everybody will recognize it.
So, let’s started the daily routine story!!!
— 5.30 AM to 7 AM
I usually get up at 5.30 AM in Jakarta Time. Yes, it’s always, every single day. Even on weekends. Except, when I’m going on vacation to somewhere, obviously.
Usually, before waking up from my bed, I always just reading some quora’s answers or medium’s articles that may worth it to read. Or replying Whatsapp’s chats from any friend that maybe I forgot to reply in the night before. Or sometimes, I just stay in bed without doing anything particular, or in Indonesia, we said: “Golek Golek Mandjah”.
— 7 to 8 AM
At 7 AM to 8 AM, it’s time to eat something for breakfast. So I’m going to buy some breakfast. It can be a rice with some cheap dishes that I buy from Warteg (Warung Tegal) — It was a small restaurant that serves a good food but cheap price in Indonesia. Or sometimes, I’m just eating bread and with a cup of cold milk. I’m not a regular engineer that love coffee so much, I’m an alien’s type of engineer that love milk and fruit juices. :D
— 9 to 10 AM
After having a breakfast, then, it’s time to work. I usually go to work at this hours. It needs at least 40 minutes to go to the office. And in Jakarta, there is called TransJakarta, an official bus that served by the government. I always use the TransJakarta every day to go to work. With only Rp. 3500, I can go to every TransJakarta bus’ halt in Jakarta. No matter how far it, the price is the same, Rp. 3500.
At the Office
— 10 to 11 AM
I arrived at the office around 10 AM, or if something bad happens, it may up to 11 AM. When I arrived at the office, then it’s time to open my laptop. Checking some emails, notification or something happen in Slack (we use Slack for communication).
— 11 AM to 12 AM
If nothing important, I’ll go to Github, checking some PR, doing code-review to any submitted PR by my team-mates. And maybe, if I already submitted a PR a days before, I just checked it, if it already approved then merge it, or if it requested to change, so I must change it based on the review.
Luckily, this morning, we don’t have so many PR, so I don’t need to do code-review. And my submitted PR yesterday, is already approved. Then I’ll merge it into the master branch.
Later, after checking the Github, if I don’t find any more important things to do in Github, I’ll check the Jira, checking some task that maybe I can solve. We use Jira as our project management tools. After a long journey, finally, we decided to use Jira. A few months ago, we use Waffle.io, but waffle is too small for our case. Then we move to Phabricator, but for some reasons, we think it’s not fit to our case. Then we try TargetProcess, just only a few months, then later we decided to move to Jira.
After picking some tasks, I always try to ask my team, how is their doing. Asking about any issue that happens recently, it’s may about works, or about general topics.
I always, start to code after lunch. We have lunch at 12 AM, so to avoid any intervention to my focus zone when start to coding, I think it’s better to code after lunch.
Except, if I have submitted PR yesterday in Github and it’s requested to change or got some reviews from my team-mates, the first thing I do is to fix the requested change ASAP, so I can get a fast re-review again.
— 12 AM to 1 PM
It’s a lunchtime. Today’s menu is a rice box with a piece of beef meat and some extra vegetables, an egg and a Bakwan.
The lunch’s menu may different every day, sometimes the menu can be fried rice, or sometimes it’s may chicken meat, or rib soup, Soto, meatball, etc, and it’s free. Well, not every company provide a free lunch, but we’re Kurio provided a free lunch every day.
After having lunch, it still 12.30 PM, we still have extra time to do something else. Usually, we playing ping-pong or sometimes playing the board game. Or just watching any funny video on Youtube.
But today, I’m just playing ping-pong until it’s time to work again.
— 1 PM to 4 PM
At this hour, I’m on my focus zone. I will try to finish the tasks that I pick from Jira this morning before lunch. Today’s task is about making a new service, a microservice. So I started to code it, code the logic function and the unit-test, making a test-suite and the integration test, etc.
Personally, I’m starting to fall in love with this language. I like its simplicity especially for making a concurrent service. And also, it’s fast. I won’t make any comparison here about the programming language. But, I have my personal reasons to love Golang, you should try it too :)
So again, because this task is a bit large, so I don’t think I will finish it today, but even for that, I’ll still to try to finish it as much as I can. :D
— 4 PM to 5 PM
At this hours, usually I’m not too productive, I’ll either submit a PR and getting reviewed or reviewing other’s PR. Having a chit-chat about the reviewed code with the teammates. Or just helping any of my friend that may have a problem that needs an extra brain to solve. Or maybe, if it’s me that needs an extra brain to solve my tasks. At this hour, we usually have more discussion between the team.
But today, I’m not really doing particular discussion. My task is clear, so I don’t really need help to solve it. So is my friend, it seems they don’t have any problem that needs to solve together with other engineers.
— 5 PM to 6 PM
We have daily stand up meeting at this hour. We use Scrum ala-ala. Not so perfect Scrum because of we still a small company, so, it still can be managed properly even without any software methodology like Scrum. We defined our task by our self and managed our self too. We don’t have any Scrum master yet by far, it’s only a team lead will arrange the meeting and manage us.
Here, we usually explain about our task, the progress or any obstacles that every engineer faced.
— 5.30 PM to 7 PM on Friday
On Friday, we have a weekly meeting with all the backend team engineer. So at this hour, every engineer that works in the Backend Department must come to this meeting.
Because it still a few of us, so this meeting still works. I don’t know what happens if we have so many engineers later.
Here, we tell every engineer what we’re doing in the whole week. What cool stuff we work on, or what new things we trying to learn or explore. Or what problem that we have and face in the whole week. I like this meeting, I can hear from other engineers about their projects and experience. Also if we have some problem that we can not solve in our team, we can ask others engineer’s opinion here.
Maybe you should try this in your team, I’m not sure this can be applied to a company, because every company has a different culture. But just for a small team, this should be fit and useful. It’s like a retrospective in Scrum, but retro in Scrum is about any issues that every engineer faced in the current sprint.
Here, we’re not talking about Sprint, we talk about our experience, and what we’re working on to other’s engineer that has a different project with us. Or if someone just learning a new programming language or tech-stack, he can present and tell us about it, what is the benefit, and the drawbacks.
So when the meeting end, every engineer will have a new knowledge, it can be about other’s team’s project or just a new thing that just explored by someone.
For example, if I’m exploring something new, let’s say gRPC, because this is new to a few of us engineer here, I’ll tell them my experience here when trying to learn the gRPC. Why I so excited about it, and what’s the benefit and the drawback. So when the meeting ends, now everyone has a bit knowledge about it. If everyone thinks it’s good, that maybe will be implemented on their next projects. This also applies to any tech stack, like Database, framework, library, and anything that something new and we want to share.
— 6 PM to 8 PM
At this hour, we usually doing random things. Some people will go back to their home. And some people still working on their task. Or sometimes, playing ping-pong or the board game. Nothing particular activity. Except in Friday, the Backend Engineer will have a weekly meeting.
— 8 PM to 10 PM
If nothing special, usually I back home around 8 PM. But if I have something to do like go to the campus (I went to college while working too, to continue my study to a higher degree 🙂), I will go home at 6.30 PM. But, today I’m not going to Campus. So I will stay a bit late in the office, and back home at 8 PM.
— 10 PM to 11 PM
It’s family time. Well, actually I live alone in Jakarta, so at this hour, I will have a Video Call to my family that lived far away from me, not every night, just if I want to or missing them :D.
But its more often for me to playing a game at this hour. I like mobile games because it’s portable. I can play while I’m laying on the bed.
— 11 PM to 1 AM
I’m easily bored when playing a game. I don’t know why. So if I cannot sleep, I will back to my laptop. Open some side project that I worked on, like open source projects, or just my personal projects, or just exploring a new technology.
But currently, I’m still exploring Go. Making a simple application or library using it. Again, you should try it man, :D
I also love writing, so if I too tired to code, I will write a few words in my Medium.
— 00.00 AM to 1 AM
It’s time to sleep. Can’t wait for the next day adventure. See you in the next adventure :)