Fleet

Software Engineer

Full-Time in All remote, worldwide - Remote OK - Senior - Engineering

What happens when you join us? πŸ”­

  • Fleet is growing rapidly. This position offers competitive compensation and a huge potential for growth and upside.
  • You will write significant open source code, merging commits in your first days at the company.
  • You will work closely with the CTO to execute and iterate on technical and product vision.
  • Over time, you will establish yourself as a leader in Fleet's growing team and user community through management, community engagement, and expert-level individual contributions.

Why should you join us? πŸ›Έ

  • Work from anywhere with good internet. (We're 100% remote. No office. No commute.)
  • Help make endpoint monitoring less intrusive and more transparent. Work computers can be private and safe.
  • Safeguard the production servers and employee laptops of Earth's largest companies.
  • Build greenfield features and make key technical decisions that go live in days.
  • Most (if not all) of the code you'll write will be public and highly visible at github.com/fleetdm/fleet.

Are you our new teammate? πŸ§‘β€πŸš€

  • πŸ”© 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.