Once I arrive at the office, I ensure that all the applications I deployed last night are working, like “Instrument File Manager,” our app that manages instrument data. If there are any bugs, I work on a fix before the markets open. It is very important to make sure that Instrument File Manager reflects all the changes made in the database so that our traders can access and trade these new instruments. Today everything is working (relief) so I go through the logs and make sure there are no critical alerts that should worry me.
If there are no production issues, I’ll go to the kitchen and get some orange juice and bananas for breakfast. While enjoying my breakfast, I also take in the 360-degree view of Sydney from our kitchen – it never gets old!
With the production issues out the way, it’s time for me to start on my programming tasks. SIG enables graduate developers to have a voice on the planning and business impact of my projects – my thoughts and opinions are valued as much as the senior members of the team. If I have any questions or if I see some problems in our code base or project requirements, my team lead makes it easy for me to voice my concerns and directs me towards a solution. My team lead has taught me a lot about how to design high performance server-client architecture that can handle large amounts of live data. I can already see how I much I’m applying it to my next application.
Lunchtime! SIG provides lunch and the menu changes daily. If there’s fried chicken on the menu, I try to get there early, as it is a popular dish. Lunch time is a great chance to have some interesting conversations with my colleagues about a variety of topics such as the news, poker, or work.
After eating, I’ll continue with the programming work I didn’t finish in the morning. We use Kanban boards to keep track of our progress in order to make sure our work can achieve the business goals. In addition to larger projects, I’m responsible for solving any production issues throughout the day, as well as writing scripts based on traders and researchers needs during the day. Today I’m working on a script to gather data used by traders to analyse market trends.
On Tuesdays and Fridays, it’s time for our stand up team meeting. Every team member will discuss their progress and plan for the remainder of the week. The team meeting provides us with a platform that we can share about new technologies between team members. You can pick up a lot in a team meeting! I’ve learned about specifics like protocol buffers, a method of serializing structured data efficiently, and entity framework from my team members during the team meetings, as well as larger concepts, like the purpose and variety of our internal applications.
During this period, if my team lead is free, we’ll usually sit down together and review my work. It’s a good opportunity for me to learn new/improve existing software development skills from someone more experienced.
In the afternoon, after all the production issues have been solved, I am able to focus on my larger development projects- which are typically done in C#. My technical skills have grown a lot since leaving University. In school, you work on standalone assignments. Whereas at SIG I am working in a large code base, with complicated requirements, with multiple dependencies in order to solve problems that have direct impact on the business.
I’m currently working on the internal alert manager – an application with client and server architecture that enables users to view and acknowledge alerts sent by different applications running in-house. Due to the nature of large volume of data flowing through the SIG office every day, alert manager is responsible for handling high volume of live data without affecting the application performance. It’s the first time that I have had to actually think about software scalability and have had to conduct a lot research and experiments to get it right. It’s been a great opportunity for me to learn about software architecture design.
Before I leave for the day, I’ll deploy my code into production if it’s ready. This process includes software deployment, raising JIRA tickets, and restarting the application. I’ll make sure the application can be successfully restarted before finishing.
If everything goes well, it’s like to end my day with an office poker game! If I can’t find one already happening, I’ll arrange one myself. We have a very strong poker culture and there are a number of very talented poker players at SIG (including WSOP bracelet winners). Poker gives me the chance to put my decision making and quantitative thinking to the test. I have even used the poker knowledge I learnt from SIG and ranked 59/1147 in one of the major WSOP events hosted in Sydney.