Golang Job: Software Engineer H-F

Job added on

Company

Koyeb
France

Location

Remote Position
(From Everywhere/No Office Location)

Job type

Full-Time

Golang Job Details

We are looking for a software engineer with a passion for deployment, build, and orchestration.

Our thing is making developers’ lives easier with the fastest way to deploy applications globally. We take code, transparently build it into containers, and run it inside MicroVMs - and this with zero-config from developers for dozens of runtimes and frameworks.

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/Envoyto provide seamless networking to our users.

User applications are automatically built into containers from a simple git repository, we manage all the build and continuous deployment process on our BareMetal servers.

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 role is focused on the build engine used for all end-developer deployments, implementing new orchestration features, and helping us provide the fastest deployment experience to developers.

You will be working on all components needed to implement orchestration & build features: Golang APIs using gRPC, BareMetal hypervisors with Nomad and Firecracker MicroVMs, and of course 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 build and orchestration features like: Build from Dockerfiles

Improvement of the build runtime detection
Support of multi-language build
Local to Global deployment experience
Build support for new runtimes like Rust, .NET
Autoscaling

  • Constantly improve reliability and security of our orchestration technology relying on Nomad and Firecracker
  • Contribute to the strategy with new insights on potential new features to dramatically improve deployment experience
  • Technically mentor and grow new engineers around build and orchestration
  • Participate to on-call and to maintaining a 99.99% availability

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.
  • We currently build user applications using Buildpacksand execute the build like we execute user applications (in Firecracker MicroVMs on our infrastructure). The build and packaging toolchain could change and you should have a good understanding of different build and packaging technologies across runtimes.
  • 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 a month there for an event we - super originally - call “Everyone in Paris”.

We believe being able to meet once a month 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 will start with a 4 months contract and onboard you after that as a full-time employee with deel.com- we just need some time to understand your local regulation.

We’re looking for a super experimented engineer (IC11) and the salary is between €71k and €83k, 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. Please check the job description on our careers page where you can find the salary breakdown.

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 standardized format and what the theory says, but keep in mind that good written communication skills are crucial to work at Koyeb.

If we believe we could work together, Julia, our talent partner, will reach out to schedule a first 20 minutes call to make sure this could be a match.

If this looks good, we will continue with a 45 minutes call to discuss about your experience and ask a few questions around your software engineering culture, Linux systems knowledge, network engineering and SQL experience to have a global feeling of what you’re already know and where you would need to develop your pure engineering skills.

The whole process should take about two weeks.

Job Type: Full-time

Salary: Up to 83,000.00€ per year

Work Location: Remote