Pioneering their own trading strategies and systems using clean code and sophisticated technology, my client runs a global network with thousands of high-performance, low-latency applications that solve problems in nanoseconds.
Trading in several exchanges around the world, they must co-locate servers in each one, and manage them alongside the ones running at their Amsterdam data center. Since the “cloud” is not available in exchanges and, more importantly, they need full control of every detail of their infrastructure, they build and manage each aspect. It means they manage more than 1500 servers in more than 15 locations around the world. All of them are connected with a mix of low-latency and long-distance lines – and they’re looking for a Software Engineer, Infrastructure to manage them.
This is a tech-driven trading firm and leading global market maker. As one of the oldest market making institutions, they are a trusted partner of 50+ exchanges across the globe. Their mission is to constantly improve the market by injecting liquidity, providing accurate pricing, increasing transparency and acting as a stabilising force no matter the market conditions. With a focus on continuous improvement, they participate in the safeguarding of healthy and efficient markets for everyone who participates.
WHAT YOU’LL DO:
There are different teams in the Infrastructure Department working to create a robust and reliable foundation for the core business. The UNIX team in particular manages all Linux servers and turns to automation to provide the best possible experience for Operational and Developer Teams.
They want to solve the challenges of infrastructure operations with software and want to build teams with the exact mix of skills required for that. Looking for Software Engineers with an interest in the topic, but also for people with good understanding of networking or the Linux Kernel internals. This team is an intersection of these two profiles.
As the next team member, you can expect to:
- Focus on all aspects of Linux server management;
- Work on automation projects, writing mostly Python code (yes tests are code too 😉) together with other tools like Ansible
- Participate in the design and implementation of core infrastructure systems;
- Split your time between operational tasks and development (50:50). Note: Some members of the team do a bit more operational work, while others are more development-focused. This depends on individual skillsets and preferences;
- During the week you will have your “Operational Day” where you keep an eye on the dashboards in case of incidents while helping other users in the chat or at your desks. On those days you will also work on small operational tasks like triggering server install, applying configuration changes, debugging issues and implementing small features.
Some examples of day to day tasks:
- Provision servers through the automated deployment pipeline;
- Apply configuration changes to infrastructure;
- Debug production issues;
- Support Developers and Operations teams;
- Plan and coordinate changes in the infrastructure together with other teams in the department.
Some current example projects:
- Command line client and HTTP API (they use FastAPI) to provision Linux bare metal servers and networking devices;
- Work on the piece of software that will kill all connections to an exchange in case of unexpected systems issues – a crucially important Risk Control given the nature of highly automated, low latency trading;
- A system that describes the infrastructure and to audit Intent vs Truth in the infrastructure (this is the source for all their Infrastructure as Code).
Some future example projects:
- Replace the monitoring system;
- Replace Cobbler with an image-based solution to achieve minimal provisioning time;
- Remove themselves from the server provisioning pipeline. Give the control to users.
WHO YOU ARE:
- A Software Engineer with a strong desire to automate your work with a reluctance to do repetitive tasks but an eagerness to solve problems;
- You think that not all the tools are good for every problem and you can adapt to what the current problem needs;
- You can code in Python or have the propensity to pick it up. If you don’t consider yourself a developer, you can do some scripting and work with Linux or networking low levels;
- The ability to multitask and handle priorities in collaboration with other teams;
- A proactive approach to problem solving;
- Experience with real life infrastructure and Linux servers.
Bonus points if you have:
- Experience building Python tools for infrastructure automation;
- High attention to detail coupled with strong communication skills;
- Experience with configuration management (they use Ansible but experience with similar tools is considered);
- Experience with networking;
- Knowledge of virtualization, bare metal server management.
WHAT YOU’LL GET:
- The chance to start your career working alongside best-in-class professionals from over 40 different countries.
- Performance-based bonus structure that is unmatched anywhere in the industry. They combine profits across desks, teams and offices into a global profit pool, fostering a truly collaborative environment to work in.
Alongside this you will get great secondary benefits such as 25 paid vacation days, fully paid first-class commuting expenses, training opportunities, discounts on health insurance, breakfast and lunch facilities, sports and leisure activities, Friday afternoon drinks and even weekly in-house chair massages. They’re also accustomed to guiding expats through relocation, offering competitive relocation packages and providing visa sponsorship where necessary.