Go/C/Linux System Programming Engineer (m/w/x)
- Bonn, Germany (Up to 80% remote work possible)
- 24-40 hours a week
- European Citizen (EU Work permit)
- Paid Relocation
Are you interested in profiling, performance and monitoring problems and tools? Do you feel a sensation of joy when a performance optimization makes software much faster? Then you are the right person for a system programming job at Tideways.
We are looking for a System Programming Engineer (all genders welcome) to help us build our software-as-a-service product from developers for developers.
Tideways is enabling thousands of developers and sysadmins to find and fix performance bottlenecks, errors and exceptions in their PHP web applications.
Your primary responsibility will be our low overhead profiler, a high performance data processing and aggregation service running on the customer's premises (with a deployment of many thousand servers worldwide) and on our pipeline storing the data on our own backend cluster.
This job is technically challenging with a high variety of different technologies and tasks.
Tideways is a self-funded company and growing from customer revenue alone. We focus on the long term and sustainability.
This role requires a basic understanding of a variety of different skills, but you don't have to be an expert in one of them to be a good fit. A good candidate has a combined experience of all these skills spanning 6 or more years, but may have only worked with a lot of them for only a few months.
You have worked in any kind of system programming role using either C, C++, Go or Rust.
You are familiar with Linux, network programming and systems administration.
You have practical experience with designing and operating distributed systems.
You have some experience operating web applications with databases and queues that are distributed across a cluster of 5 - 50 machines.
You have basic experience with automated testing and continuous integration.
You have used configuration management software (Ansible, Puppet, Chef, Salt) and maybe even worked with Docker/Container/Kubernetes before.
You are highly motivated, self-organized, committed to improving your skills.
You are comfortable speaking and writing in the English and German language. It is only necessary to be fluent at one of these two.
About the Job
As System Programming Engineer your main responsibility will be maintaining, improving and developing our low-level stack for Profiling, Monitoring and Exception Tracking. This includes software components running on our own cluster and on servers of our customers.
Tideways is built on a modern programming stack using languages, tools and development processes such as:
- Go services that run on our customer machines and on our own cluster of 14 servers.
- Low overhead profiler and tracer for the PHP programming language written as a C extension.
- monolithic backend application written in PHP 7 and Symfony framework
- MySQL, Elasticsearch, Redis, Memcache databases and Beanstalkd as a queue
- Github and Git
- monorepo with currently 10+ different components
- Buildkite for CI and automated testing
- Ansible for configuration management
- Vagrant and Docker for development and testing
The Tideways team is small and currently consists of 5 people, so your work will be highly visible and high impact for our customers directly from the begnning.
Our engineering team is directly responsible for operating Tideways in production and responding to incidents. We have a 1 week per month on-call rotation, and we invest significant work in reliability so that we don't actually get paged. We also work with a highly specialized hosting company who has our back 24/7.
Work at Tideways is usually quiet and productive. We don't work in sprints, because we don't like to sweat all the time. Instead we plan ahead 2 months and take our time to get work done. We rarely work overtime and if it is necessary you can immediately take time off the next day or week to reach a balance.
For this particular job we are offering to pay between 58.000€ and 80.000€ based on experience and job fit. We also automatically raise salaries every year based on salary data from a company surveying and observing market rates. As you are leveling up in experience and role, we increase salaries accordingly. As self-funded company we cannot offer equity.
You get 30 days of vacation and during the summer we work only 80% of the time at full pay.
See our careers page for a list of all the benefits that we provide for employees.
If this job offer sounds interesting to you, please apply to [email protected] with:
- a letter of motivation in German or English
- your CV
- your earliest possible starting date