I arrive at work and start the day off with admin tasks. I catch up on any emails and messages I may have missed, and then check if my overnight builds have passed. Today my timing fixes from the previous day have worked in my new build (yay!).
The execution team has its stand-up at 9:30 where we give a brief overview of what we did yesterday, what we plan on doing today, and any issues we may be encountering so it’s easy to find someone who can help out. Once that’s over, we head up to the top floor for breakfast and coffee.
Back at my desk, I start a quick test for my bitfile from last night’s build as a sanity check after yesterday’s changes. I’ve already done thorough testing prior to this and there should be no functional changes, but better safe than sorry. We have some FPGAs in our lab downstairs so I firstly flash my bitfile onto one of the free FPGAs, then configure the connections to the appropriate interfaces on the server I’m using so that I can send and receive packets. I then run my script to set my configuration registers on the FPGA. We’re now good to start testing. I replay my pcap file I use for testing and send this to the FPGA and dump the output to another pcap. After some analysis of my pcap, I confirmed that my product is working as expected so I finally get to merge my pull request.
I don’t quite have enough caffeine in my system, so I head upstairs again for another coffee with some of the other grads.
Time to get started on my next feature for my project. I take some time to figure out what parts of the codebase need to be changed and start mapping out a plan on how to tackle the problem as I go. I then start diving into the code changes.
Today’s lunch menu is fish of the day or tomato, spinach and ricotta tarts for the vegetarians, plus salads for everyone – all prepped and cooked by our lovely in-house chef and kitchen staff! Lunch is also a great time to socialise with colleagues and meet new ones too.
This is probably when I get the most done in my day, especially when I don’t have meetings on. Most days I am writing code (primarily in VHDL and System Verilog and sometimes C++ and Python). Other days I will be doing testing in our lab or staging environment, reviewing or updating pull requests, or deploying my changes into production - the cool thing about working at Optiver is that I get to take ownership and be part of the entire life-cycle of my change from planning through to deployment, even as a graduate.
I also find some time to pop up to the top floor again to grab a snack or a cuppa with my coworkers.
It’s time to clock off. Today happens to be a climbing day (I organise indoor climbing after work every week with my Optiver climbing crew). We catch the train to St. Peters for a couple of hours of climbing at Sydney Indoor Climbing Gym before heading to our regular pizza joint near the station for dinner. If it’s not a climbing night, I’ll either have orchestra rehearsal, go to the PT classes provided by Optiver, catch up with friends over dinner, attend some sort of Meetup, or have the occasional quiet night at home.