Software Engineer - Infrastructure
Job TitleSoftware Engineer - Infrastructure
As we trade in several exchanges around the world, we have to colocate servers in each one and manage them along with the ones running in our data-center in Amsterdam. Since the "cloud" is not available in exchanges and, more importantly, we need full control of each small detail of our infrastructure, we build and manage each aspect. It means that we 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.
There are different teams in the Infrastructure department working to create a robust and reliable foundation for Optiver's business. The UNIX team in particular manages all Linux servers and automates to give the best possible experience to our Operational and Developer teams.
We want to solve the challenges of infrastructure operations with software and we want to build teams with the mix of skills required for that. We look for Software Engineers with an interest in the topic but also for people with good understanding of networking or the Linux Kernel internals. Our team is a mixture of these two profiles.
What you'll do:
- You will focus on all the aspects of management of our Linux servers;
- You will work in our automation projects writing mostly Python code (yes tests are code too 😉) together with using other tools like Ansible;
- You will participate in the design and implementation of our core infrastructure systems;
- Your tasks will be split 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 our dashboards in case of incidents while helping other users in our 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 our automated deployment pipeline;
- Apply configuration changes to our infrastructure;
- Debug production issues;
- Support Developers and Operations teams;
- Plan and coordinate changes in our infrastructure together with other teams in the department.
Some example projects we are working on right now:
- Command line client and HTTP API (we 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 issues in our systems - a crucially important Risk Control given the nature of highly automated, low latency trading;
- A system that describes our infrastructure and to audit Intent vs Truth in our infrastructure (this is the source for all the Infrastructure as Code that we do).
Some example projects we are planning to work on:
- Replace our monitoring system;
- Replace Cobbler with an image-based solution to achieve minimal provisioning time;
- Remove ourselves from the server provisioning pipeline. Give the control to users.
- No telecommuting
- Agencies are OK
- 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.
- Experience building Python tools for infrastructure automation;
- High attention to detail coupled with strong communication skills;
- Experience with configuration management (we use Ansible but experience with similar tools is considered);
- Experience with networking;
- Knowledge of virtualization, bare metal server management.
About the Company
Optiver is a leading trading firm driven by technology with over one thousand employees globally. We pioneer our own trading strategies and systems using clean code and sophisticated technology, running a global network with thousands of high-performance, low-latency applications that solve problems in nanoseconds.
What you can expect from us:
An energetic and collaborative work culture with ambitious, down-to-earth colleagues. We constantly ask ourselves how to do better, which creates a stimulating and fun environment. Competitive remuneration and great secondary benefits such as an attractive profit sharing structure, training opportunities, fully paid first-class commuting expenses, a premium-free pension, discounts on health insurance, breakfast and lunch facilities, sports and leisure activities, weekly chair massages and Friday afternoon drinks. We provide you with the support and tools needed to develop your skills on the job so that you are empowered to perform at your best, both personally and professionally. We also provide relocation assistance.