Alex, Python Developer at Margo UK

After studying engineering at ENSTA Paris, Alex started his career in IT development, first in France and then in the United Kingdom. He does web and software development for large companies and startups, both on the server side and on the interface side. His goal is always to produce high-quality code.

In April 2020, Alex joined Margo UK as a Python Developer Consultant and started his assignment at the corporate and investment bank BNP Paribas in London. Read his testimonial to find out more about his first months at Margo UK and what his role entails on a daily basis.


Could you start by telling us what your role is at BNP CIB?


I am an IT Consultant at Margo. As part of my role, I’m currently on a project at BNP CIB. I work directly in the trading room alongside the traders and together with the other IT teams. My role is to develop, in Python, the interfaces and data processing tools that make it possible to view and use trading processes: production tools, investment decision tools, rate calculation tools, and so on.

Part of my job is also to migrate tools to make these processes automated. In fact, my team is free, to a certain extent, to choose the technologies used. Sometimes it’s a good thing, but it can also cause problems for the company. For example, when two different teams have common needs, it is much more efficient if they work on the same tool. As such, I’m in charge of harmonising the IT system to consolidate it. It’s a real challenge, but it’s extremely stimulating for me because I’ve always been particularly drawn to optimisation and code quality issues.


What does a typical working day look like for you?


I divide my time between three main projects depending on the needs of traders and changes in production.

On the one hand, I develop new pricing tools and predictive models in Python. For example, I developed a cache function designed to display dozens of tables with data from various sources in record time. Caching is done both in each server’s memory and in a centralised Redis. Everything is synchronised to ensure that data is constantly updated.

On the other hand, I help to develop production systems and add new interfaces and tools designed to check the status of funds and trades.

Lastly, I’m in charge of background updates and technical tools to ensure greater robustness, to guarantee high availability, to refactor code and to migrate applications from Python2 to Python3.


Before joining Margo UK, you worked at a startup. What is the biggest difference between your previous environment and the one you work in now?


I would say that the main difference lies in the company IT infrastructure. Startups often use open source tools, whereas organisations as large as BNP usually use internal software. Bear in mind that the software is used by hundreds of people and that the service is developed in layers. When coding, it’s therefore essential to anticipate what impact the changes made will have on all users. That is why it’s so important to produce high-quality code and conduct testing.


Apart from your client mission, can you tell us more about Margo UK?

I decided to join Margo because I was quickly convinced by my discussions with Justin, the Country Manager at Margo UK. I really appreciated the company’s human dimension. I’m in regular contact with the teams at headquarters and I know that they will listen to me and support me if there are any problems. There is also a very positive atmosphere between all the consultants thanks to regularly organised events.

Not to mention the opportunity I was offered was very interesting, especially the technical challenges it promised. What’s more, I had never worked in finance before, so it was an opportunity to be trained in something new.