Having joined carsales in February of 2020, I got to enjoy working in the office for just a few weeks before we transitioned to working from home. Since then, I have moved onto my third and final 6-month rotation. I’ve been on this team for just one week now, but with the experience I’ve gained on my first two rotations, I’m picking things up quickly.
I’ve had my breakfast and I’m ready to start my day. Lately we have been able to choose between going into the office or working from home but today I’m working from home, so I arrive at my home office desk and boot up my work laptop.
I normally start the day checking slack, emails and catching up on what I’m working on today. During this time, I also remind myself on what I was doing yesterday and prepare for our morning stand-up.
10am is when our daily stand-up starts each day. Each of the teams I’ve been on have done stand-ups a little differently. My current team likes to start with someone, usually the team lead, and they will talk about what they are working on today and any issues they have. Then they will pick someone else to go next and this is repeated until everyone has spoken.
Stand-ups usually don’t go for too long, maybe 10-15 minutes, but they are a great time to voice any issues you are having to the whole team, especially when we are all working from home.
After the stand-up, I get to work on whatever task I’m working on. Having been on this team for just one week, I’ve been given a small bug to work on. This will allow me to go through our different code bases and start figuring out how everything works. I worked on this task for a bit yesterday so I’m able to pickup where I left off. I plan on catching up with some of my team mates later to help me figure out how things work. However, I like to first try and give things a go myself and see how much progress I can make.
I’m still hammering away at this task, navigating from documentation to code to slack messages getting an understanding of how this system works and finding out the source of the bug. One breadcrumb at a time.
Eventually, one of my team members mentions that I might find some useful information in one of our databases. With this information I was able to write a short SQL query to find some interesting data in this database that gave more clues to the issue.
After working on this for a few hours I think it’s time for the lunch. I usually like to get out of my home office during this time and living in an apartment in the inner suburbs of Melbourne, this means heading outside for a walk somewhere. This is a good time to clear my mind and think about something else for a bit.
After I got back from lunch, I was able to have a look at some logs in AWS CloudWatch which further helps me figure this problem out. Shortly after this, I think I have found the source of the issue. I’ve made some changes to one of our code bases in C# and am ready to try and test it. But first I need to have a chat with my team to get this codebase running on my laptop.
During the meeting with my two team mates we go over what I have found and the changes I want to make. They help me get the code running on my laptop and show me how I should test it. Turns out this code base wasn’t as simple as clicking the run button and needed a few things setup first. This even involved getting a member of our DevOps team to help us out.
Now that my local machine has been setup correctly, running and testing my code is a smooth process. I try all the test conditions my team and I came up with and determine that my change is working as intended! Once I’m satisfied with my changes, I push them to GitHub and create a pull request.
Around this time once a week the other grads and I like to have a catch-up where we talk about what everyone has been up too both in and outside of work. We also like to do an online quiz together which always provides a good laugh or two.
After the catch-up I check on my pull request I see my team has approved my changes. Thanks to the call we had earlier this was a quick and easy review for them as they we had already discussed these changes. Now that my changes have been approved, I can deploy them to our staging environment and pass the issue onto our QA for some more rigorous testing before they can be deployed to production. This will normally involve me having a chat with them about the issue and what my code changes are.
It’s approaching the end of the day and I’m happy with what I’ve achieved. I normally spend this time learning new things such as reading some of my new teams’ documentation, watching videos and doing tutorials on some other cool technologies that I would like to try out.
I’ve finished for the day and I’m ready to knock off. I think about what I have done today and what I need to do tomorrow. Today I was able to pinpoint and fix the source of a bug by, navigating through our code and documentation, working with our databases by writing some SQL queries, making changes to our C# codebase and working with members of both my team and our DevOps team. Finally, I even saw my code changes approved and then deployed to our testing environment ready for our QA to look at tomorrow. I’m looking forward to seeing my changes get tested over the next few days and then being deployed to production.