Senior Software Engineer — Grafana k6 OSS (Remote, Canada)
About Grafana k6
At Grafana k6, we build next-generation performance testing tools for developers and DevOps engineers. We are pushing forward the state-of-the-art in our industry, creating open-source tools that have great developer experience and enable engineers to build reliable systems. k6 is an open-source tool that we built to reinvent the engineering principles around performance testing and enable engineers to build systems that scale.
About the role
You will be one of five developers and maintainers of k6, a modern open-source tool for performance testing, written in Go. k6 was released publicly in early 2017 and has already received over 21,100 stars on GitHub and has an active community of users and contributors.
You will have a lot of influence on the project roadmap and will work with a high degree of autonomy, building and maintaining the tool.
Your responsibilities will be to both write code, extend the functionality of k6, maintain the code base, interface with the user community (i.e. review patches :) and potentially evangelize the tool.
Our main, long-term goal will be to create the best possible tool and to maximize our community as many people as possible to use it.
You also will be involved with the k6 cloud integration, a SaaS service built on top of k6. Specifically, the parts of the cloud service written in Go, that orchestrates a distributed k6 test across 17 data centers around the world.
Due to our small teams and fast development pace, you will have a substantial and immediate impact on how the end product is architected, developed, and how the engineering team operates. Most importantly, you will work with competent colleagues and will be able to expand your knowledge and skills in different directions.
- We are looking for a person combining very strong programming skills with experience in contributing to open-source projects.
- Have a strong programming background and experience developing applications in Go (or another language with high-concurrency/parallelism)
- Understand internet protocols well, primarily IP, TCP, HTTP but also preferably HTTP/2, SPDY, WebSockets, QUIC, gRPC
- Are familiar with modern development processes and practices. Preferably having recent experience developing large scale applications
It is great if you also
- Have worked in open source projects, either as a heavy contributor or, even better, as maintainer for projects with multiple contributors
- Have experience working with web performance, testing & optimization
- Have experience working with network performance, testing & optimization
- Know about things like Docker, AWS, microservices architecture, Grafana/APM tools