Job description

Our backend is hosted on AWS and currently managed with Ansible; our biggest ongoing project is migrating all stateless pieces of the infrastructure to Kubernetes. We want to make it possible for anyone to self-host our backend — including tricky cases like “bare metal, closed network, no AWS allowed”.

You will have some involvement with the old infrastructure, but mainly you will be building the new one. Some of our customers already run our backend on Kubernetes (have a look at https://github.com/wireapp/wire-server-deploy/) — we will need your help to take this to the next level and help our customers set up their own environment!

The Wire backend itself is written in Haskell. We have several services that handle registrations and logins, push messages via websockets, send out emails, upload pictures to S3, protect users’ privacy by proxying requests to Spotify/YouTube/Giphy, and more. You can expect to spend 20 of your time working with Haskell — investigating and fixing bugs, hunting down memory leaks, and contributing to our custom tools.

 

About us

Wire is a European start-up building a modern, secure and open source privacy-focused communications experience. We are a Swiss company with a development center in Berlin, Germany and a sales office in San Francisco, USA. Our people come from a wide range of backgrounds, united by shared passion for communication, design and technology. Wire.com

 

Benefits:

Work with experts, multicultural team from 20 nationalities, competitive salary, relocation support, career growth opportunities, beautiful office with a rooftop terrace in the heart of Berlin.

 

Day-to-day:

Functional programming languages, adjustable standing desks, high quality chairs, regular tech talks, developer meetups in the office, bike storage, table tennis, foosball, yoga, breakfasts and lunches.

Responsibilities

  • Deploy and run our services:
    • in the cloud (currently we use AWS but some customers use different cloud solutions)
    • on bare metal (both for our test clusters and our customers)
  • Automate our infrastructure deployment and management (using ansible, terraform or other), together with other in-house developed tools; we are migrating to Kubernetes though so  experience there is highly valued!
  • Help our customers with potential issues while running our on prem solution
  • Manage our own Cassandra/ElasticSearch clusters
  • Ensure services are up and running 24/7
  • Work on Open Source code; you can see a lot of our server code at https://github.com/wireapp/wire-server

Requirements

  • Excited about designing, building, and running distributed and scalable systems
  • Experience with AWS (or other cloud providers)
    • Deployments on bare-metal a huge plus!
  • Experience in automating builds and deployments
  • Unix/Linux environments, including the ability to analyze and troubleshoot potential networking issues
  • Containerization technologies

We highly value:

  • Interest in statically-typed functional languages
  • Passion for clean code and elegant solutions (continuously improving current ones)

Further, the technologies we are working with and, therefore, experience there will be highly valued:

  • Kubernetes, Terraform, Ansible
  • Cassandra, ElasticSearch, Redis
  • Prometheus, Kibana, Grafana
  • Docker, systemd
  • Haskell, Rust

Education

BS in Computer Science or equivalent industry experience.

Misc

We are very interested in your motivation to apply and why you want to work for Wire. Could you please let us know in 2 to 3 sentences.