a0ca5ae7d0
Removing "Rules" column as we found this unnecessarily constricting. |
||
---|---|---|
.. | ||
development-groups.md | ||
README.md | ||
why-this-way.md |
Company
About Fleet
Fleet Device Management Inc is an open core company that sells subscriptions that offer more features and support for Fleet and osquery, the leading open source endpoint agent.
We are dedicated to
- 🧑🚀 automating IT and security.
- 🪟 privacy, transparency, and trust through open source software.
- 💻 a better way to manage computers.
5 things is too many. But we also care deeply about
- 💍 reducing the proliferation of agents and growing the adoption of osquery (one agent to rule them all).
- 👁️ remaining the freshest, simplest source of truth for every kind of computing device and OS.
About the handbook
The Fleet handbook is inspired by the GitLab team handbook. It shares the same advantages and will probably undergo a similar evolution.
While GitLab's handbook inspires this handbook, it is nowhere near as complete (yet!) We will continue adding and updating this handbook and gradually migrating information from Fleet's shared Google Drive folder as time allows.
Culture
All remote
Fleet Device Management Inc. is an all-remote company with team members spread across four continents and eight time zones. The broader team of contributors worldwide submits patches, bug reports, troubleshooting tips, improvements, and real-world insights to Fleet's open source code base, documentation, website, and company handbook.
Open source
The majority of the code, documentation, and content we create at Fleet is public and source-available. We strive to be open and transparent in the way we run the business, as much as confidentiality agreements (and time) allow. We perform better with an audience, and our audience performs better with us. Learn more about why we use open source.
🌈 Values
Fleet's values are a set of five ideals adopted by everyone on the team. They describe the culture we are working together to deliver, inside and outside the company:
- 🔴 Empathy
- 🟠 Ownership
- 🟢 Results
- 🔵 Objectivity
- 🟣 Openness
When a new team member joins Fleet, they adopt the values, from day one. This way, even as the company grows, everybody knows what to expect from the people with whom they work. Having a shared mindset keeps us quick and determined.
🔴 Empathy
Empathy leads to better understanding, better communication, and better decisions. Try to understand what people may be going through, so you can help make it better.
- Be considerate. Keep the needs of customers, contributors, and colleagues in mind. Treat others the way you’d like to be treated.
- Be curious. Ask questions. Try seeing situations from different perspectives. Use your imagination to find understanding.
- Remember the user. Prioritize product quality. Create patches with care. Fix bugs quickly. Take time writing error messages.
- Invest in hospitality. Apply customer service principles to all users. Be generous with your time. Think and say positive things.
🟠 Ownership
Achieving ambitious goals requires reliability and initiative. That’s why we encourage every Fleetie to think like an owner. Your impact goes beyond the responsibilities of your role.
- Be accountable. Follow through on commitments. Own up to mistakes. Understand how your work furthers Fleet’s goals.
- Be responsive. Respond quickly whether or not you can take immediate action. Offer feedback freely (even if you disagree).
- Think bigger. Remember the big picture beyond your team's goals. Consider how Fleet creates value for customers.
- Take initiative. You don't need permission to be thoughtful. Think for yourself (from first principles). Great ideas come from everyone.
🟢 Results
We work to get results. How we work determines the results we deliver. Between overthinking and rushing, there's a golden mean. We balance speed and sustainability to build high-quality products.
- Iterate your work. Look for ways to make frequent, small changes. Get perspective on complex problems. There may be a simpler solution.
- Move quickly. Aim to deliver results daily. "Everything is in draft." Resist gold-plating and avoid bike-shedding.
- Be efficient. Focus on fewer tasks at one time. Use fewer words when possible. Go with "boring solutions." Keep things simple.
- Practice self-care. Remember to take breaks. Schedule time off to recharge. Organize your workday to fit your lifestyle.
🔵 Objectivity
Our objective as a company is to make money. This is how we measure success. Customers pay for products that make a difference. Approach every project with this in mind.
- Be humble. Seek feedback and understanding. Remember, it’s rare to get things right the first time. Question yourself.
- Underpromise and overdeliver. Be practical about what's possible. But don’t settle for the “happy path” right away.
- Prioritize the truth. Feel free to change your mind in the face of new evidence. Avoid the sunk cost fallacy. Give credit where credit is due.
- Be rigorous. A lucky fix without understanding does more harm than good. When something isn't working, use the scientific method.
🟣 Openness
Openness leads to better products and stronger partnerships. Being open about your work isn’t always easy. But practicing this skill will help you throughout your career.
- Welcome contributions. Be friendly, inclusive, and approachable. Get comfortable letting others contribute to your domain.
- Embrace candor. Be positive and assume positive intent. Don’t be afraid to speak up. Give pointed and respectful feedback.
- Write everything down. Let people learn about your work. Use simple language. Avoid acronyms and idioms that might not translate.
- Be transparent. We build in the open. Everything we do is public by default. Declassify confidential information with care.
History
2014: Origins of osquery
In 2014, our CTO Zach Wasserman, together with Mike Arpaia and the rest of their team at Facebook, created an open source project called osquery.
2016: Origins of Fleet v1.0
A few years later, Zach, Mike Arpaia, and Jason Meller founded Kolide and created Fleet: an open source platform that made it easier and more productive to use osquery in an enterprise setting.
2019: The growing community
When Kolide's attention shifted away from Fleet, and towards their separate, user-focused SaaS offering, the Fleet community took over maintenance of the open source project. After his time at Kolide, Zach continued as lead maintainer of Fleet. He spent 2019 consulting and working with the growing open source community to support and extend the capabilities of the Fleet platform.
2020: Fleet was incorporated
Zach partnered with our CEO, Mike McNeil, to found a new, independent company: Fleet Device Management Inc. In November 2020, we announced the transition and kicked off the logistics of moving the GitHub repository.
Why this way?
Fleet has a unique way of organizing work. For more information, check out this page Why this way.
Development groups
Fleet organizes development groups by their goals. These include members from Design, Engineering, and Product. For more information, check out this page Development groups.
Levels of confidentiality
- Public (share with anyone, anywhere in the world)
- Confidential (share only with team members who've signed an NDA, consulting agreement, or employment agreement)
- Classified (share only with founders of Fleet, peepops, and/or the people involved. e.g., US social security numbers during hiring)
Email relays
There are several special email addresses that automatically relay messages to the appropriate people at Fleet. Each email address meets a minimum response time ("Min RT"), expressed in business hours/days, and has a dedicated, directly responsible individual (DRI) who is responsible for reading and replying to emails sent to that address. You can see a list of those email addresses in "Contacting Fleet" (private Google doc).
Tools we use
There are a number of tools that are used throughout Fleet. Some of these tools are used company-wide, while others are department-specific. You can see a list of those tools in "Tools we use" (private Google doc).
GitHub labels
We use special characters to define different types of GitHub labels. By combining labels, we
organize and categorize GitHub issues. This reduces the total number of labels required while
maintaining an expressive labeling system. For example, instead of a label called
platform-dev-backend
, we use #platform :dev ~backend
.
Special character | Label type | Examples |
---|---|---|
# |
Noun | #platform , #interface , #agent |
: |
Verb | :dev , :research , :design |
~ |
Adjective | ~blocked , ~frontend , ~backend |
! |
OKR | !vuln , !desktop , !upgrade |
Rituals
Ritual | Frequency | Description | DRI |
---|---|---|---|
Weekly update reminder | Weekly | On Thursday, Charlie starts a thread in the #help-manage channel and asks managers to reply to the thread with a summary of what their team did in the past week. |
Charlie Chance |
Weekly update | Weekly | On Friday, Charlie updates the KPIs in the "🌈 Weekly updates" spreadsheet, combines the updates from managers into a single message and adds any hiring announcements. Charlie posts the company update in the #general channel. |
Charlie Chance |
Slack channels
The following Slack channels are maintained by Fleet's founders and executive collaborators:
Slack channel | DRI |
---|---|
#help-mission-control |
Charlie Chance |
#help-okrs |
Charlie Chance |
#help-manage |
Charlie Chance |
#news-fundraising |
Mike McNeil |
#help-open-core-ventures |
Mike McNeil |
#general |
N/A (announce something company-wide) |
#thanks |
N/A (say thank you) |
#random |
N/A (be random) |