🔩 You are competent with source control in Git. You use issue trackers and other worthwhile processes to get more meaningful work done.
🗣️ You have great written and oral communication skills, especially in English.
🪜 You can mentor other developers and do code reviews. Maybe you managed open source projects before; maybe you collaborated closely with more junior engineers at work. You understand the consequences of code that shouldn't have been merged.
🍥 You appreciate the value of a good digital user experience and design, and you will contribute iteratively to that where you can.
📚 You can curiously learn, anarchically implement, genuinely recommend, and gradually improve Fleet's code conventions.
🦉 You bring senior talent to the team and wider open source community, with 4+ years of equivalent experience as described below under "Engineering Foundations".
Bonus: Extensive experience working on an all-remote, distributed team.
Bonus: Familiarity with IT operations, system administration, or cybersecurity.
Engineering Foundations 🚏
You have 4+ years equivalent experience in at least one of the following foundations:
I. Production API development ☁️🦫🥽
Fleet’s server is written in Go with go-kit. Deployments range from single servers to over 100,000 clients connected to horizontally scaled Fleet servers, handling tens of thousands of requests per minute. We aim to keep Fleet’s deployment as simple as possible to ease self-hosted deployment. MySQL and Redis are used for persistence and caching.
Experience building scalable, production quality servers.
Comfort with questions about server and SQL performance profiling and optimization.
Familiarity with database migration strategies.
Experience programming with Go and go-kit.
Experience with Redis and/or SQL databases. (Particularly MySQL or MariaDB.)
Experience building, deploying, operating, and maintaining production-facing web applications and HTTP APIs.
Bonus: Experience working with Mobile Device Management (MDM) APIs.
Bonus: Experience deploying/monitoring/managing containers with Docker/K8s
II. osquery ± macOS/Linux/Windows development 🛰️ 🦠 🖥️
Fleet builds on top of the osquery agent, a Linux Foundation OSS project. Our CTO co-created osquery and serves on the Technical Steering Committee. On the endpoint we are building Orbit, a wrapper for osquery that will also become our platform for deploying additional open-source software such as Fleet Desktop (an interface for device users to interact with Fleet).
Experience developing applications on macOS, Linux, and/or Windows.
Familiarity with packaging tools: macOS .pkg, Linux .deb, Linux .rpm, Windows .msi, etc.
Familiarity with service persistence: macOS launchd, Linux systemd, Windows Services, etc.
Experience with building cross-platform user interfaces.
Experience managing and debugging performance of software installed on endpoints.
Readiness to write code that will directly impact performance for hundreds of thousands of people.
Nice to have: Go (for Orbit) and C++ (for osquery) programming experience.
Nice to have: Experience building and securing update systems for endpoint software.
Nice to have: Experience with low-level system APIs in macOS, Linux, and/or Windows.