wecanbeheroes.io
Search
Senior Engineer (Platform)

Senior Engineer (Platform)

companyGitpod
locationKiel, Germany
remoteFully remote
PublishedPublished: 25.1.2022
Full time

All product teams at Gitpod have their back strengthened by the platform team. To allow the product teams to fully focus on the end-user, the platform team enables them via technical expertise and tailored solutions that are shared across product teams. We identify areas where our involvement is most helpful and research, design, implement and roll out solutions. A solution can be a reusable software component, a tool, a hosting platform, self-hosted open-source software, or a SaaS offering from a 3rd party vendor.

 

We are a highly-motivated, fully-remote company, and led by technical founders. We love open-source, have started and lead many popular open-source projects, and contribute to many others. We celebrate diversity and strive for an equal, inclusive, empathetic and welcoming environment. Bringing diversity to the team is a big plus. If you are part of a marginalised community, and are not sure if you should apply, please get in touch.

 

As part of the team you will ...

📒 Evaluate Needs and Scope Projects

With the goal of reducing redundant work across product teams you will work closely with them to research, design, and propose solutions to fulfil their needs. Your solutions are pragmatic, technically sound, easy to adopt, and have moderate maintenance effort for the platform team.

 

🔌 Maintain Platforms

You will help maintain the platforms offered by the Platform team, such as Google Cloud Platform, Kubernetes application clusters, and developer preview environments.

 

🚚 Manage Self-hosted Services

While we like SaaS services from 3rd party vendors, we sometimes find that an open-source solution best suits our needs and decide to self-host it. As part of the team you will help ensure that these services run reliably. This includes services for CI, CD, Monitoring, intrusion detection etc. Most hosted services run on Kubernetes.

 

👩🏽‍💻 Develop Software Components

You will develop or enhance software components owned by the platform team. Such components may be used by product teams in production or as tools. Todays examples include components related to observability, monitoring, and intrusion detection.

 

🤝 Consult and Teach

The product engineering teams are autonomous and have full ownership of their deployment pipelines and production environments. As part of the Platform team you will assist the teams as necessary. This might be helping them adopt any of our offerings, or share knowledge around best practices concerning observability, infrastructure, monitoring & alerting, and so on. It might also be providing feedback on RFC documents or lending a hand in implementing smaller solutions.

 

🚨 Participate in On-Call

We have an engineering-wide on-call rotation for our SaaS offering that every engineer is expected to participate in once they're ready. It is important to us that this doesn't put strain on your life outside of work and thus we try out best to contain your on-call hours to your work-hours and provide time compensation for on-call activities outside of work.

 

What we need

🤝You share our values

We are developer-led and aim for a frictionless experience when interacting with our product, our company and our brand: no hurdles, no BS, no unnecessary extra steps. We are open minded, inclusive, transparent and curious. We always remain students of the game, not masters of the game. We have opinions, but are not opinionated. We integrate, don't dictate.

 

🧩 You have a strong background in Software Engineering

You understand concepts and are able to design abstractions rather than getting lost in them. You write code that is easy to understand and are able to dive into large code bases. You bring a rich toolbox of methodology, tools, and solutions.

 

🏃‍♀️You are pragmatic

You understand that doing the right thing gives you momentum while doing a thing perfectly can cost a lot of time. You focus on the problem at hand, can find the shortest path to a solution, and don't get diverted by an urge to add extra bells and whistles.

 

🗣 Your's a good (async) communicator

We work remote, in multiple time zones and grow quickly. You value writing and express yourself concisely. You communicate thoughtfully, always assume others speak in good faith, aim to understand opposing perspectives and compromise when needed. You are good at communicating asynchronously.

 

📖 You enable others through technical knowledge

You understand that people are as important as code and that even the best technical solution derives its worth from being understood and adopted by others. You are able to explain complex matters in simple, structured means.

 

👌 You help platform peers

You are happy to help your peers by providing technical knowledge and break down problems into manageable pieces.

 

Our Stack

Clouds and Kubernetes

Gitpod hosts production systems on Google Cloud Platform. Almost all applications run in Kubernetes clusters, where we use a mix of Google Kubernetes Engine and K3s.

 

Observability Stack

To help product engineers better understand their production systems we provide tools for working with different kinds of telemetry. For traces we use OpenTelemetry and Honeycomb. For metrics we use Prometheus, Victoriametrics, and Grafana. Logs to go GCP.

 

Infrastructure and delivery

We maintain infrastructure-as-code via Terraform, do GitOps via ArgoCD and use several solutions for continuous integrations.

 

3rd party SaaS

We use incident.io and PagerDuty to manage in incidents and OnCall. We communicate incidents via statuspage.io. Generally speaking, we prefer SaaS solutions over self-hosted solutions due to the lower effort related to reliability, maintenance and support.

 

Browser-based productivity tools for the rest

Gitpod for development, GitHub for issue tracking and as git hoster, Slack for comms, Figma for design, Notion as our virtual HQ, Pitch for slides, Loom for screencasts and a few others.

 

We care about you

  • 6 weeks paid time off
  • Fully remote & flexible working hours
  • Competitive salary & equity package
  • Regular offsites with the whole company
  • Mental health stipend
  • Educational budget
  • Physical health stipend
  • Premium work-from-home equipment

 

The Process

We are fully remote - so is our hiring process. We value written and async communication, you will get a taste of it during the process.

  • Step 1 Submit your application by filling out the form on the right side. The more information you give us the better. We will review your submission and may reach out with a quick questionnaire.
  • Step 2 - Screening questionnaire (async). We prepared a couple of questions that you can either answer in text or by recording a Loom video.
  • Step 3 - Technical challenge & interview. We are interested in how you would tackle solving real world challenges. Will make exercises available to you and ask you to solve them. In the interview, will will discuss your solution and other technical questions. We are conscious of your time and will, of course, reimburse you for your efforts.
  • Step 4 - Gitpod Fit. All Gitpodders share a set of values. Get to know our founders and see if there is fit and a common ground for a successful working relationship.
  • Step 5 - References. Before receiving the offer we would like to better understand how former colleagues have worked together with you.
  • Step 6 - Join Gitpod and help removing friction from the developer experience 🍾

Years of experience

    Salary range