fleet/handbook
Desmi-Dizney 045f7d3b47
Why this way?" #4821 (#4894)
* Update people.md

Things new and old employees should know

Why do we wireframe first?

- Wireframing is called “drafting” at Fleet and is done in Figma.
- Anyone can make a wireframe suggestion, and wireframes are easy to contribute without being code literate.
- Drafting is completed for each change.
- It can be thrown away after changes. Coding first leaves verbiage that is difficult to update, if it ever gets done at all.
- It allows you to simplify the creation and testing of error messages.
- Iterating in wireframes first lets us do all this for:
    - Error messages
    - Layouts
    - Flows
    - Interactions
    - Help text
    - Button text
    - Forms
    - URLs
    - API parameters
    - API response data…and more

Why mono repo?

- One repo keeps all of the relevant work in one place. The only exception is when working on something confidential.
- One repo means that there is less to get lost.
- One repo pools GitHub stars to reflect Fleet’s actual presence better.

Why organize work in team-based kanban boards?

- Kanban boards provide a uniform layout across all teams where anyone in the company can look to see what other teams are working on and have coming up.
- The different columns on the boards allow us to create a game plan for our to-do list for each 3 week iteration.
- These boards allow anyone in the world to contribute.

Why 3 week cadence?

- Fleet product is released every 3 weeks so everyone in the company is synced up to this same schedule.
- Other companies use a 4 week release cycle but at Fleet, we like to move a little faster so we can get more done.
- Everyone always knows when the new release is so they also know when their work is due.

Why agile?

- See: https://agilemanifesto.org/
- Collaborating and pushing for the next release creates the best product and culture.

Our values and mission.

- See: https://fleetdm.com/handbook/company

Why the emphasis on training?

- Investing in people makes them better and faster contributors.
- Creating a culture of helping others results in people feeling more comfortable and confident even if they aren’t familiar with osquery.
- A sharp focus on training means things are written down.

Why handbook-first strategy?

- Watch: https://www.youtube.com/watch?v=aZrK8AQM8Ro
- For more details see: https://about.gitlab.com/company/culture/all-remote/handbook-first-documentation/
- Documenting in the handbook allows Fleet to scale up and retain knowledge for consistency.

Why not continuously generate REST API docs from javadoc-style code comments?

- It looks cheap. Those using open API still are embarrassed by their docs.
- Generated documentation via tools like Swagger/OpenAPI have a tendency to get out of date and becomes harder to fix to make it up to date.
- There is less control over how to add annotations to the doc.
- It has less visibility/ accessibility/ modifiability for people without Golang coding experience.
- Fully integrating with swagger's format sufficiently to document everything involves more people on the team learning about the intricacies of swagger (instead of editing markdown that looks like any other markdown in the docs/website)).
- Autogenerating docs is not the only way to make sure docs accurately reflect the API.
- Generated docs become just as out of date as handmade docs, except since they are generated makes them more difficult to edit and therefore gated/siloed. Adaptability is efficient.
- Using markdown allows anyone to edit our docs.
- Replacing markdown files with code comments makes API reference docs harder to locate and edit.


I also removed "." from "### Purchasing a company-issued device" on line 120.

* Update people.md

39 replaced “employees with “team members”
79, 84, 94, 95 updated to a Markdown link

* Update company.md

All edits are recorded by line:

Lines 30- 97 added "Things new and old team members should know" section.

* Update people.md

Removed all edits
2022-04-07 10:25:56 -05:00
..
brand.md Handbook: Add channels, simplify table formatting (#4962) 2022-04-07 13:53:15 +09:00
community.md Simplified community contributions section (#4844) 2022-04-01 14:03:49 -05:00
company.md Why this way?" #4821 (#4894) 2022-04-07 10:25:56 -05:00
customers.md Handbook: typofix + normalize (#4965) 2022-04-07 10:01:27 -04:00
engineering.md Handbook: dedupe w/ shared explanation about Slack channels (#4869) 2022-03-29 18:41:25 -05:00
growth.md Handbook: dedupe w/ shared explanation about Slack channels (#4869) 2022-03-29 18:41:25 -05:00
handbook.md Update handbook.md (#3688) 2022-01-14 16:33:10 +09:00
people.md Why this way?" #4821 (#4894) 2022-04-07 10:25:56 -05:00
product.md Add external link design convention (#4916) 2022-04-06 10:49:28 -05:00
README.md Handbook: Remove links to dept boilerplate + add company-wide channels (#4963) 2022-04-05 21:07:10 -05:00
security.md Handbook: Add #help-tines channel (#4968) 2022-04-06 13:07:22 -04:00