A Day Life of a Software Developer at Fram^
When people ask what I do, I tell them I’m a “Software Developer,” and they’re impressed but not entirely clear about what that means. Even my parents have trouble understanding what I do. So for those who are unsure of what I’m doing everyday, I’ll describe how my life goes at fram^ on a typical day.
8am — Wake up
Time to have breakfast, I always have a big breakfast to prepare myself for a full and productive day. Luckily, I have time to enjoy breakfast with my family while some others have to go to work much earlier.
8.50am — Head to work
It’s just a rough time actually. My house is quite far from the office but I’m rarely in a rush because we have flexi-time at fram^, which means that if I need to come in late or leave early, I can start the day whenever I choose. If necessary, I can even work remotely from home. I hardly suffer from traffic jams also.
9.30am – Arrive at work
I go to my office, get to the pantry and always start my work day with a cup of Espresso, which is my favorite. I guess it’s also the favorite of many others so sometimes it’s usually a long wait for the coffee. I actually enjoy it because I get a chance to gossip with others. Sometimes we run out of coffee but there are always laughs.
As soon as I get to my desk, I turn on my computer, log in, and check for any urgent requests that need to be addressed. Then I double-check our site monitoring and error logs to make sure there were no issues over the night that needed to be addressed.
Because it’s critical for my job to be up to date on technological developments and news, I usually use this time to catch up on a few RSS feeds that I subscribe to. In software development, there is always a new or better method to accomplish something. Software tools and languages are always changing, and you must stay up to date on new techs and techniques.
10am – Start work for the day
Fram^ powers Upscale, and I am one of the senior mobile developers building this exciting new wealth and asset management platform. To build these products, we are following Agile and Lean best practices, and have chosen to go with Scrum which enables our team to focus on delivering continuous value to our end-users. We work in 2 weeks sprints iterations. Our Product Owner at fram^ is responsible for breaking down and prioritizing the product backlog into small pieces called stories, which will normally be delivered in production every iteration. In a day, as a developer, I can either do technical design or code, but also be involved in analyzing the requirements, testing, and reviewing code of my teammates.
The work I accomplish at this time of day is determined on where we are in the sprint. If it’s the start of our sprint, we will have a planning session with all the team and Upscale Product Manager to go through the list of tasks that must be completed in the upcoming sprint. We must assess the complexity and effort of each product backlog item by comparing it with others and assigning points to it (cf story points). The longer the work takes and the higher the points are. For each sprint our team has a certain number of points, we call it the velocity. This team velocity helps us to prioritize valuable items first and forecast what we can deliver or not.
“Working time is very flexible, it helps me to be comfortable and work more efficiently
Everyone is very good. So, I felt like I had all the resources I need to do my best work.” (Nguyen Huy Thanh – Senior Mobile Developer)
12:30pm – Lunch
In District 1, there are lots of great options (dimsum, sushi, beefsteak, Vietnamese foods, etc.) for lunch to choose from. We get together and go out for lunch every now and again, especially if someone new has started or if there is a birthday to celebrate. If the weather isn’t good, we order food and gather around the pantry to enjoy together.
It’s wonderful to get away from your computer, and I frequently have a eureka moment when out and about if I’m having trouble with a programming problem. It’s time to refresh my mind before returning to my desk.
1:30pm – Back to work
Back to the usual routine — getting a cup of coffee and writing code to complete the sprint job at hand, or sometimes working on hotfixes about production issues or supporting end-users. I prefer to work with headphones on and listen to music. It assists me in getting into “the zone” and focusing on what I’m doing.
We frequently collaborate with the designers, and back-end developers. And I also collaborate closely with developers from other projects; we bounce ideas off each other, and I’ll ask their advice on how to improve the project.
Once I’ve finished a feature and thoroughly tested it, I deploy it to our test environment so that our manual QC can test it and ensure it matches with the requirements and acceptance criteria. I also run automated regression test, which goes off and checks the site’s core features to make sure I haven’t inadvertently broken something else. It helps us get feedback as soon as possible and not waste time in re-doing things.
5:30pm – Tech Talks
Every few weeks, all of the developers come together to chat about what’s new, any upcoming work that could be of interest, or someone will give a talk on something they’ve learnt that might benefit the rest of the team.
6:30pm – Home time
Another ride home, or if there is a technical event going on, I might go there first. There are usually lots of fantastic tech communities and events, and it’s great to be a part of it and be inspired by smart, creative people.
“Focusing on working and having help from everyone make my work always smooth.
Sometimes it’s a bit stressful but it helps me to improve. After a hard working day, It’s great to know that I’m contributing to a great product.” (Nguyen Huy Thanh – Senior Mobile Developer)