Have you ever wondered what it's like to lead a team of software engineers who are responsible for making a government digital service run smoothly?
Follow Michael Cheng, a leading software engineer at the Singapore Government Technology Agency (GovTech), during his day.
Photo credit: GovTech
7:30 a.m. I'm up and getting ready for the day! On the way to the office it is important to me to check in the telegram chat group that I have with my colleagues. We are responsible for the smooth running of the Ministry of Labor's (MOM) ID card system for foreign domestic workers (FDW). If there are any problems with the system at night, I will be informed about it via the group chat. As they say, "No news is good news!"
8:45 a.m. I have breakfast at the food court near my office – usually it's a bao (bun) and a cup of coffee – before I go to work. I greet my colleagues, sit down at my desk and open a dashboard on my computer that shows the status of the ID card system and how it works. Everything is shown in green, so that's good! The Bao also tastes great.
9:30 am Time for our morning stand-up meeting (nothing to do with stand-up comedy)! For the uninitiated, everyone gathers here in a team and shares three things: what we worked on the previous day, what we want to work on today and what problems, if any, hinder our progress. It is a short and concise session to get in touch with everyone early in the day.
9:45 o clock An error is displayed in the dashboard! Then we will team up and find out what's going on. I have production support members, DevOps employees, quality engineers and business analysts on my team. Depending on the severity of the problem, different employees will be involved. This time there seems to be a problem with payments. Because transactions on the system typically require information to be exchanged between agencies, the exchange process can sometimes time out and the transaction fails. Let's try to fix that.
9:55 a.m. We diagnosed the bug as a minor issue. Some maintenance had been done the night before and we only had to make some adjustments to make things work again. Only the members of the production support team were needed. Phew!
Photo credit: GovTech
10:30 am Something flickers from green to red on the dashboard and I can see it out of the corner of my eye. What now? This looks like a real bug in the system and it can take a few hours for us to find the root of the problem. However, since we cannot afford hours of downtime, we develop a so-called "hotfix" to save ourselves time.
10:45 a.m. The quality engineers managed to duplicate the error locally so that we can start analyzing the error and testing different solutions. This is where developers come in to create a code snippet and help us solve the problem. We're practicing pair programming on our team, which, as the name suggests, means that two developers team up to code and edit the problem.
11:30 a.m. We managed to create a hotfix and our quality engineers checked that things were working smoothly again. Kudos to the team! In the back of my mind I know that we only tried the symptoms. We need to dig deeper to resolve the root cause of the symptoms so the bug doesn't recur in the future. But lunch first!
11:45 a.m. We're going to the nearby Hawker Center and it's super crowded! Our team consists of 15 people, so it is extremely unlikely to get enough seats for all of us. We decide to pack our lunch back in the office.
12:00 Since we are all sitting together in the pantry having lunch, I usually take the opportunity to ask my team members about their life outside of the office. My favorite question for her is: What did you do last weekend? I think it is important to work more personally with my team so that they feel comfortable enough to share their aspirations and challenges with me. Sometimes we even play a quick game of Avalon (a card game) to relieve stress!
1:00 pm. – 4:00 p.m. This part of the day is usually spent delving deeply into the more complex issues we identified earlier. During this time, we also receive emails from our business users, MOM employees, about other issues that may arise while using our system. Sometimes it's just a matter of guiding them through certain processes, but sometimes they can identify a peculiarity in the system that is worth investigating to improve operations.
4:30 p.m. – 5:30 p.m. I ask my team how they are doing and whether there are any problems that I can help them with. In some cases, I may need to get permission from the database administrators on our DevOps team so we can make changes to the system. Or maybe a problem has its roots in politics. Then I have to consult our business analysts to get things going.
6 p.m. We are almost ready for the day! Before I leave the office, it is important for me to check the dashboard and the system logs if something critical to the business arises. If everything is clear, I can go to my JuniorDev.SG meeting. JuniorDev.SG is my latest passion project, where I organize meetings and workshops for young developers, new graduates or other IT experts together with a small team to improve their coding skills, discuss industry best practices and build networks. I see it as a way to promote the wider developer community and give something back to society.
And that was & # 39; s – a day in the life of a leading software engineer!
This article first appeared on GovTech. You can also get byte-sized technical stories (geddit?) From GovTech Here,
Selected image source: GovTech