We weren’t sure what to expect initially from our internship with BidFX. As Computer Science students in our second year at Imperial College London we didn’t have any previous experience of foreign exchange or working in Fintech but that didn’t stop us working on some exciting problems over the past few months. From the very first day the atmosphere was very friendly. Everyone in the team introduced themselves and we had lots of support adjusting to the company’s development environment.
They made sure we always had something to be working on. We started off by building a Slack Bot for the sales team who needed access to their client’s usage of the platform. The Slack Bot was named “Eve” as per the sales team’s request. Eve could receive user friendly queries from the sales team and respond by generating reports tailored to the query. Rigorous security measures had to be put in place as it was handling commercially sensitive data. This provided a great opportunity to learn more about networking and security in industry.
Eve was also the first product to be deployed on the company’s cloud system using Kubernetes, so we also learned a great deal about containerized applications. This was a cool introductory project. It allowed us to understand the basics of FX trading and provided insight into how the business works. In addition, it was great to see the sales team using it and improving their productivity as a result.
The next stage of the internship allowed us to voyage into the fray of FIX messages. Our new task was to fill a gap in the database of roughly three days of historical FX time series data from raw FIX logs and convert it to JSON format. This was very challenging. The BidFX platform ingests up to 3 billion price updates per day and all the liquidity providers use different FIX specifications. At first, we had no idea where to start. However, with some help from the team we managed to recover all the lost data. The experience gave us an even deeper understanding of the FX trading infrastructure, with a big focus on being able to work with FIX. It was also great to apply some of our knowledge from university to the project.
In the final stage of the internship, we joined a development team and helped migrate approximately 6 years of tick data to a new JSON format for upload into the cloud. It was terrific to work with a larger team by learning from their experiences and to contribute to essential projects for the company.
One of the main highlights was the developer offsite day. We were given a private tour of the National Museum of Computing, a remarkable experience and a great showcase for how far Computer Science has come since its inception over 75 years ago. We also enjoyed a talk from our CTO about the future challenges and goals of the company in the years ahead.
Overall, it was a thoroughly enjoyable experience. We learned so much about FX trading and Software Development. The team were very friendly and were always happy to help us when we ran into issues. We would recommend any Computer Science students to do an internship at BidFX if they are interested in FinTech.
Ben Dixon and Matthew Robinson