After sleeping through a few optimistic alarms, I wake up around 6.45 - 7.00 am and rush to get ready (it helps that I only live a 15-minute walk away from the office). The office is casual so you can wear pretty much whatever you want. Once a week at 7.00 am, we have a global catchup to talk about how teams have performed, and significant market moves.
Arrive at the office.
As I arrive into the office, first thing I do is make myself some coffee, some others have breakfast too. I usually spend some time going over emails, messages and reading some news. As part of the grad programme, we also have Tibra Uni courses to complete. Some of the more technical ones are in person and have presentations, but there are some that are E-learning courses. So, I usually spend time in the morning going over useful courses that I haven’t completed yet. This is also usually when someone has to remind me to book in my food selection for lunch in the system.
The graduates spend the first several months doing a software development rotation. This is a great way to practise our C++ skills. We’re currently being taught by someone in Australia, and so usually have a catchup where we highlight any issues we’re facing. He knows a lot about C++ and the codebase and is great at explaining and walking through issues with us. If we’ve just finished a ticket, we’re usually given something new to work on or we are given different things we can explore with our current ticket.
We are usually given tickets to work on by our mentor, they are a great way to learn about specific parts of the codebase and practise C++ in a way that makes an impact. At the moment, I’m back-testing strategies and making use of latency tools we have to offer but before that, I was working on unit tests for new tools that are being added to the codebase. The tickets can vary and so always seem to offer something new to look at. I usually use vim and the command line to go about my coding (there’s an ongoing debate about whether vim or Visual Studio code is better; there’s even one person that defends emacs).
Lunch! We order lunch through an online portal, there’s usually a selection of local restaurants on offer! We’re going through a bit of a health craze in the office and so there’s always healthy alternatives. I usually also set a few tests to run during my lunchbreak so I can get straight into looking at results when I’m done.
Back to work!
This is usually the point in the day where I find my afternoon tests failed or that there were some unexpected issues. I’ve found logging to be one of the saving graces of coding and usually spend some time going through logs to find the issue. There are several other graduates who started with me and so when I’m stuck on my current coding project, they’re the first people I turn to. But the office has a very flat structure so it’s easy to turn to pretty much anybody to ask for help.
I usually spend a bit of time trying to understand the issue and codebase as well as fixing a huge trail of small issues. But once I’ve come close to the solution and I’m ready to run a few tests again, I usually take a small break. The office breakout area has a pool and table tennis area, so I usually take a break at some point during the day to play a game (often somewhat badly). I also grab a post-game mocha from the breakout area, and that gives me the caffeine kick I need to carry on working.
Our UK mentor usually comes over at some point in the afternoon to check on how things are going. It’s also a great way to get some insight into trading whilst we’re still learning C++ but also if my fix didn’t work it’s a great way to go over potential issues and other avenues for exploration.
Usually sometime later those tips that my mentor gave me pay off and the tests start to work, or I’ve learned of a potential issue that I can highlight during my catchup tomorrow! Once we’ve solved a problem, before changes can be pushed to the codebase they are reviewed by a handful of other people, so I spend some time going through finalising changes and create a code review. If, on the other hand, I’ve spotted an issue this might be time to create a new ticket and solve something the next day.
Code Reviews usually bring with them helpful comments and code improvements that are really useful to learn from. Once I’ve finished a project I try and spend some time going over my previous tickets looking at changes I need to make, but also looking at some of the work the other graduates are doing. I might spend some time asking them questions to try get a better idea of what their projects were about.
Finishing up for the day.
If it’s a Friday this would be at 4.30 pm! And we’d be slowly moving over to the breakout area and having a few beers. But you’ll find the office environment getting a bit more relaxed as the day nears the end.