We are looking for a software engineer with a passion for infrastructure and reliability.
Our thing is making developers’ lives easier with the fastest way to deploy applications globally. We take code, build it into containers, and run it inside of MicroVMs - reliably on our BareMetal servers distributed across the world.
The Koyeb Serverless Platform is written in Golang. We use Nomad for the orchestration, Firecracker for the virtualization, and Kuma for the network stack. We built a multi-region Service Mesh with Kuma/Envoy to provide seamless networking to our users.
We run all of this on top of our BareMetal infrastructure which is distributed across multiple continents.
If this sounds interesting, keep reading!
What you’ll be doing
As a Software Engineer, you will be working on our APIs and on the distributed system. Our distributed system is the core of our product, our users rely on it to continuously deploy applications and for the continuity of their operations.
This job is focused on implementing new strategic orchestration-related features, scaling the infrastructure across multiple locations and improving the reliability of our platform, and helping us provide a powerful and reliable deployment experience to developers.
You will be working on all components supporting end-user deployments: Golang APIs using gRPC, BareMetal hypervisors with Nomad and Firecracker MicroVMs, and our service mesh using Kuma and Envoy.
You will:
develop new core features related to networking, serverless, and orchestration
contribute to the design and implementation of a large-scale distributed system running across continents
design, implement and maintain user-friendly APIs
measure and instrument features you develop with reliability and product impact in mind
debug production issues across services and multiple levels of the stack
improve engineering standards, tooling, and processes
participate in 24/7 on-call rotation, our platform never sleeps
You will be part of our pizza-sized engineering team of 8 people building the complete Koyeb cloud platform. To clarify: it’s not one of the engineering teams, it’s the engineering team.
You will be working daily with our co-founders Bastien, CTO, and Edouard, CPO.
You’ll succeed if you:
-
Design and implement strategic orchestration features like:
-
Help us scale globally and industrialize the deployment of 10 new locations worldwide in 2023, including:
Improve reliability of end-user deployments to support 200k services running on our platform with a 99.99% deployment success rate
Improve internal and external (in-app) observability to systematically provide insightful information for fast troubleshooting
Participate to on-call rotations and to reaching a 99.99% monthly SLO
You
As a general rule, if you join us, independent of the position, you should be comfortable with the following description of yourself. You:
have an international mindset and think global
are looking for a fast-paced environment
are ambitious and believe small teams can have a huge impact
are data-driven, you know decisions are more meaningful if they are based on data
are working as a team member
are autonomous and structured, are able and willing to write specifications/plans before implementing/executing
are striving for continuous improvement and learning
understand we work to improve the product for our users
Our stack and technologies
Our public APIs are written in Golang, use gRPC internally, and answer to REST requests.
We rely on PostgreSQL for data storage.
We sometimes use Python for scripting.
All user workloads are run inside of MicroVMs using Firecracker, a fork from KVM open-sourced by Amazon.
We use Nomad to schedule these MicroVMs on top of BareMetal servers.
We use Prometheus, Grafana Agent/Mimir/Loki for our observability stack. We also do distributed tracing with Jaeger.
We use a few cloud technologies like Kubernetes to deploy our own control plane. We use AWS, GCP, or DigitalOcean to host our control plane.
All deployments are automated using Terraform and Ansible.
Our networking stack is built using Kuma, which wraps Envoy.
How we work
This is a fully-remote full-time position - with the option to work from our main office in Paris, France, or in a co-working space near you.
We hire everywhere in Europe for this position and you should be less than 2500 kms/5 hours away from Paris, France as we meet once every 6 weeks for an event we - super originally - call “Everyone in Paris”.
We believe being able to meet once every 6 weeks is a strong advantage to improve communication and brainstorming.
Contract-wise:
If you’re located in France, we provide standard full-time contracts with full-health coverage and standard benefits.
-
If you’re located in another country, we provide two options:
- start with a 4 month independent contract and onboard you after that as a full-time employee with deel.com EoR service - we just need some time to understand your local regulation.
- work indefinitely as an independent contractor - if local labor laws allow it
We’re looking for an experimented engineer (IC10-11) and the salary is between €60k and €79k, plus equity. This is the gross salary for France - for team members who are based outside of France, gross salaries are adjusted using the total cost as an employer, click here to learn more.
Some context about Koyeb:
We’re a really small team, currently 9 and probably less than 16 (in the whole company) when you will be joining. We’re composed of 90% of technical people and the resulting 10% catch the technical side.
We’re building a product used by developers and are interacting daily with our developers’ community - which are our users.
All our communications, internal and public, are in English. We are a global company, currently headquartered in France, Europe.
We’re prioritizing work that has a direct impact on user experience and expect you to think first about impact. Our long-term mission doesn’t change, but you need to be willing to work on a short-term roadmap evolving quickly depending on user feedback.
We’re an early-stage and full remote company. This is a demanding job that requires a high degree of autonomy and the ability to work asynchronously.
If these look like challenges you’d like to work on, continue scrolling!
How we hire
We ask you to send us “something interesting” via the standard application form. Here is some guidelines on what we think is interesting:
Please explain why you would like to join us, a resume without any explanation is rarely interesting. This is sometimes called a cover letter, but just think about it as if you would send an e-mail and explain why you think we should talk.
An up-to-date LinkedIn/equivalent profile or resume is needed. We need it to have a quick overview of what you’ve done.
Open source projects you’ve worked on.
What we need to understand is how what you've worked on is relevant to what we’re building here at Koyeb. We don’t pay extensive attention to a standardized format and what the theory says, but keep in mind that good written communication skills are crucial to working at Koyeb.
If we believe we could work together, Julia, our talent partner, will reach out to schedule a first 45 minutes call to make sure this could be a match.
If this looks good, we will continue with a 45-minute call to discuss your experience and ask a few questions about your software engineering culture, Linux systems knowledge, network engineering, and SQL experience to have a global feeling of what you already know and where you would need to develop your pure engineering skills.
The whole process should take about two to three weeks.