# CEO This page details processes specific to working with Mike McNeil, co-founder and Chief Executive Officer of Fleet, and the 🦿 CEO support team. ## What we do The CEO is the [directly responsible individual](https://fleetdm.com/handbook/company/why-this-way#why-direct-responsibility) for pricing, [final review of UI or behavioral changes to fleetdm.com and the core product](https://fleetdm.com/handbook/company/product-groups#making-changes), signatures, changes to parts of the handbook, product marketing (brandfronts, pitchfronts, featurefronts, ICPs, personas, and targeting) and various other aspects of the company. - **Note** When the CEO is out of office, these responsibilities are either paused, delegated, or coordinated through the Apprentice to the CEO so they can be handled promptly. (It depends on the responsibility and the situation.) The process for the CEO going out of office is a [work in progress](https://docs.google.com/document/d/1mtFP_92zQKMXW630ZyixBmwQeMY_q_cqW080ZTHFX5E/edit). ## Team | Role | Contributor(s) |:--------------------------------|:----------------------------------------------------------------------| | CEO | [Mike McNeil](https://www.linkedin.com/in/mikermcneil) _([@mikermcneil](https://github.com/mikermcneil))_ | Apprentice to the CEO | [Sam Pfluger](https://www.linkedin.com/in/sampfluger88/) _([@sampfluger88](https://github.com/sampfluger88))_ ## Contact us - To **ask a question** or **make a request** of the CEO or Apprentice, [create an issue](https://github.com/fleetdm/confidential/issues/new?assignees=sampfluger88&labels=%23g-ceo&projects=&template=custom-request.md&title=%7BNAME%7D%C2%BB______________________) and he or the Apprentice will get back to you within one business day. - Please use issue comments and GitHub mentions to communicate follow-ups or answer questions related to your request. - Any Fleet team member can view the [🐈⬛#g-ceo kanban board](https://app.zenhub.com/workspaces/-g-ceo-645b0eab68a4d40c0795ff61/board?sprints=none) (confidential) for this team, including pending tasks and requests. - **Do not add events to the CEO's calendar.** events added directly to the CEO's calendar will be declined and removed. Even if the CEO asks you to set up a meeting or add him to a call, please [get scheduling help from the Apprentice](#schedule-time-with-the-ceo). - **For personal or extremely urgent requests** that cannot wait one business day, send a Slack direct message (DM) to `@mikermcneil` right away. - If you mention the CEO or reply from within a Slack thread, he [will not read your message](#why-not-mention-the-ceo-in-slack-threads). - **If you are in Business Operations**, you can [request warehoused equipment be shipped from Fleet IT](#request-equipment-from-fleet-it). - If urgent, or if you need help submiting your request, mention a [team member](#team) in the [#g-ceo](https://fleetdm.slack.com/archives/C05K87USYUV) Slack channel. ### Schedule time with the CEO All invitations to meetings are welcomed, and quickly considering them is a top priority for the CEO. To request time with the CEO, [submit an issue](https://github.com/fleetdm/confidential/issues/new?assignees=sampfluger88&labels=%23g-ceo&projects=&template=custom-request.md&title=%7BNAME%7D%C2%BB______________________) with: - Proposed date and time - Reason for meeting _(e.g. include customer names or a related GitHub issue)_ - Meeting agenda Internal meetings can sometimes be moved to make room. External meetings, blocked time, travel, and personal commitments can rarely be moved. - **Why the extra step?** There are not enough hours in the day for the CEO to accept every request to meet, so [we have to prioritize](#process-the-ceos-calendar). - **Self-service scheduling:** Unlike other team members, who you can schedule with by simply dropping an event on their calendar, unless requested directly from Mike, please do not directly schedule a meeting onto the CEO's calendar without using this process to confirm with the Apprentice first. - **Rescheduling:** All items on Mike's calendar are subject to change by the CEO to better serve the company. Send last-minute changes or cancellations to Mike [via direct message (DM)](#why-not-mention-the-ceo-in-slack-threads). ### Request equipment from Fleet IT The Apprentice fulfills equipment requests once per week. [Submit an equipment request](https://github.com/fleetdm/confidential/issues/new?assignees=&labels=%23g-ceo&projects=&template=custom-request.md&title=Ship%20equipment%3A+_______________________), including precisely which item you need and where you need it shipped. The Apprentice will get back to you within one business day. ## Why not mention the CEO in Slack threads? Everyone else who works at Fleet is expected to read (and reply or acknowledge with an emoji reaction) every time they're mentioned in Slack, even deep inside long threads. Now that the company has grown, the CEO gets mentioned in threads [too often](https://docs.google.com/document/d/1vK-Dy2BVrw7doYUzabOPyCiN4RfolWFgOKMm23l91s0/edit) to keep up with thread replies, even for threads he participates in. From Mike:
Staying on top of your Slack mentions (including in threads!) is very important. Please use them. But now that the company has grown, in my role as CEO, I get mentioned in Slack very often. I held on as long as I could. But due to volume, in late 2022, I made the decision to no longer read Slack threads where I am mentioned. What do I still read? - If you mention me in a top-level channel message, I'll see and read it in 1 business day. - If you send me a direct message, I'll see and read that ASAP. Keep in mind I am often in meetings all day, and may not be able to reply promptly. When in doubt, you can look at my calendar and join whatever meeting I'm in. If none of that works, and there is an emergency where you need my immediate attention, get help from Zach Wasserman. Thank you so much!" 🙇## CEO flaws Openness is one of [Fleet's values](https://fleetdm.com/handbook/company#values) and I want to live that by sharing the flaws I know I have. I’m fully responsible for improving the things below, listing them is no excuse. They are listed here for two reasons. The first one is so that people know it is not them but my fault. The second one is so I can improve, I hope that listing them lets people know I appreciate when people speak up about them. - I often need to talk to think. - I can speak quickly. It is ok to say “Whoa, hold on a second. Let me take some notes.” - I can be quick to criticize, especially if something looks almost done. It is ok to ask “What do you see?” If helpful, you can add “What are three bright spots?” - I can hurry to decisions when I think something is time sensitive or nearly ready to ship. It is ok to say “I’m looking for early feedback.” It is ok to say “I’m not yet 70% sure I’m 100% done with this." ## Automated filing of signed documents We use Zapier to automate how completed DocuSign envelopes are formatted and stored. This process ensures we store signed documents in the correct folder and that filenames are formatted consistently. When the final signature is added to an envelope in DocuSign, it is marked as completed and sent to Zapier, where it goes through these steps: 1. Zapier sends the following information about the DocuSign envelope to our Hydroplane webhook: - **`emailSubject`** - The subject of the envelope sent by DocuSign. Our DocuSign templates are configured to format the email subject as `[type of document] for [signer's name]`. - **`emailCsv`** - A comma-separated list of signers' email addresses. 2. The Hydroplane webhook matches the document type to the correct Google Drive folder, orders the list of signers, creates a timestamp, and sends that data back to Zapier as - **`destinationFolderID`** - The slug for the Google Drive folder where we store this type of document. - **`emailCsv`** - A sorted list of signers' email addresses. - **`date`** - The date the document was completed in DocuSign, formatted YYYY-MM-DD. 3. Zapier uses this information to upload the file to the matched Google Drive folder, with the filename formatted as `[date] - [emailSubject] - [emailCvs].PDF`. 4. Once the file is uploaded, Zapier uses the Slack integration to post in the #help-classified channel with the message: ``` Now complete with all signatures: [email subject] link: drive.google.com/[destinationFolderID] ``` ## Responsibilities ### Schedule CEO interview From time to time, you will need to schedule an interview between a candidate and the CEO: 1. [Make a copy of the "¶¶ CEO interview template"](https://docs.google.com/document/d/1yARlH6iZY-cP9cQbmL3z6TbMy-Ii7lO64RbuolpWQzI/copy) (private Google doc) 2. Change file name and heading of doc to `¶¶ CANDIDATE_NAME (CANDIDATE_TITLE) <> Mike McNeil, CEO final interview (YYYY-MM-DD)` - Add candidate's personal email in the "👥" (attendees) section at the top of the doc. - Add candidate's [LinkedIn url](https://www.linkedin.com/search/results/all/?keywords=people) on the first bullet for Mike. 3. Set the Google Calendar description of the calendar event to: `Agenda: URL_FOR_NEW_COPY_OF_FINAL_INTERVIEW_DOC` ### Process the CEO's calendar Time management for the CEO is essential. The Apprentice processes the CEO's calendar by checking for and correcting any double-booking (e.g. two meetings scheduled for overlapping times that the CEO needs to attend) or new meetings added. Prioritizing in order of importance: - Travel and personal commitments - External meetings - Board meetings - Priority design reviews - E-group - ❌ Reserved until day of - Customer or prospect calls _(up to the first 4 hours per week)_ - Design reviews - Puppet show _Please do not move external meetings, travel, and personal commitments without asking the CEO first._ [Meeting agenda prep](https://docs.google.com/document/d/1gH3IRRgptrqSYzBFy-77g98JROTL8wqrazJIMkp-Gb4/edit#heading=h.i7mkhr6m123r) is especially important to help the CEO focus and transition quickly in and between meetings. In the notes document include: 1. LinkedIn profile link of all outside participants 2. Screen-shot of LinkedIn profile pic 3. Company name (in doc title and file name) 4. Correct date (20XX-XX-XX in doc title and file name) 5. Context that helps the CEO to understand the purpose of the meeting at a glance from: - CEO's email - LinkedIn messages (careful not to mark things as read!) - Google Drive Be sure to do this from Mike's browser so as to not lock him out of any meeting docs. ### Process the CEO's inbox - The Apprentice to the CEO is [responsible](https://fleetdm.com/handbook/company/why-this-way#why-direct-responsibility) for [processing all email traffic](https://docs.google.com/document/d/1gH3IRRgptrqSYzBFy-77g98JROTL8wqrazJIMkp-Gb4/edit#heading=h.i7mkhr6m123r) prior to CEO review. The Apprentice will reduce the scope of Mike's inbox to only include necessary and actionable communication. - Marking spam emails as read (same for emails Mike doesn't actually need to read). - Escalate actionable sales communication and update Mike directly. - Ensure all calendar invites have the necessary documents included. ### Send the weekly update We like to be open about milestones and announcements. - Every Friday, e-group members [report their KPIs for the week](https://docs.google.com/spreadsheets/d/1Hso0LxqwrRVINCyW_n436bNHmoqhoLhC8bcbvLPOs9A/edit) - Friday nights, the Apprentice will post a short update in [#general](https://fleetdm.slack.com/archives/C019FNQPA23) including: - A link to view KPIs - Who was on-call that week - Fleeties who are currently onboarding - Planned hires who haven't started yet - Fleeties who had their lady day that week - Change the "⚡️" to "🔭" in the beginning of the formula - Select this week's cell (first week with the 🔮) in the KPI spreadsheet and copy the entire formula - Paste without formating (CMD+⇧+V) back into the same cell - The formula will now look like this: - Paste the newly formatted message in the [#general](https://fleetdm.slack.com/archives/C019FNQPA23) Slack channel - 📬 **Send it!** ### Schedule travel for the CEO The Apprentice schedules all travel arrangements for the CEO including flights, hotel, and reservations if needed. CEO traveling preferences in descending order of importance are: - Direct flight whenever possible (as long as the cost of the direct flight is ≤2x the cost of a reasonable non-direct flight) - Select a non-middle seat, whenever possible - Don't upgrade seats (unless there's a cheap upgrade that gets a non-middle seat, or if a flight is longer than 5 hours. Even then, never buy a seat upgrade that costs >$100.) - The CEO does not like to be called "Michael". Unfortunately, this is necessary when booking flights. (He has missed flights before by not doing this.) - Default to carry-on only, no checked bags. (For trips longer than 5 nights, add 1 checked bag.) - Use the Brex card. - Frequent flyer details of all (previously flown) airlines are in 1Password as well as important travel documents. ### Prepare for the All hands - **Every month** the Apprentice will do the prep work for the monthly "✌️ All hands 🖐👋🤲👏🙌🤘" call. - In the ["👋 All hands" folder](https://drive.google.com/drive/folders/1cw_lL3_Xu9ZOXKGPghh8F4tc0ND9kQeY?usp=sharing), create a new folder using "yyyy-mm - All hands - yyyy month name". - Update "End of the quarter" slides to reflect the current countdown. - Download a copy of the previous month's keynote file and rename the copy pattern matching existing files. - Update the slides to reflect the current "All hands" date (e.g. cover slides month and the "You are here" slide)' - Update slides that contain metrics to reflect current information using the [📈 KPIs](https://docs.google.com/spreadsheets/d/1Hso0LxqwrRVINCyW_n436bNHmoqhoLhC8bcbvLPOs9A/edit#gid=0) doc. - Update the "Spotlight slide" for guest speakers. - Add new customer logos from Mike's bookmarks ["Customers list"](https://fleetdm.lightning.force.com/lightning/o/Account/list?filterName=00B4x00000CTHP8EAP) and Google "Company name" to find the current logo. - **First "All hands" of the quarter** - Audit the "Strategy" slide. - Audit the "Goals" slide The day before the All hands, Mike will prepare slides that reflect the CEO vision and focus. #### After the All hands TODO: rename to imperative mood (see rituals.yml) The Apprentice will post a link to the All hands Gong recording and slide deck in Slack. Template to use: ``` Thanks to everyone who contributed to today's "All hands" call. :tv: If you weren't able to attend, please *[watch the recording](Current-link-to-Gong-recording)* _(1.5x playback supported)_. You can also grab a copy of the [original slides](https://fleetdm.com/handbook/business-operations#all-hands) for use in your own confidential presentations. ``` - Copy and paste the template to the "[# general](https://fleetdm.slack.com/archives/C019FNQPA23)" Slack channel. - To create the recording link: - Open [Gong recording](https://us-65885.app.gong.io/home?workspace-id=9148397688380544352&r=m) and `Share call` - `Share with customers` - `Copy link` and paste the url `*[Watch the recording](`here-in-your-template-message`)*`. - The PDF can be found in the current months [👋All hands folder](https://drive.google.com/drive/u/0/folders/1cw_lL3_Xu9ZOXKGPghh8F4tc0ND9kQeY) in Google Drive. - Download the PDF and upload (double click the `+`) into your updated Slack message, which will look like this:👇 📬 **Send it!** ### Process and backup Sid agenda Every two weeks, our CEO Mike has a meeting with Sid Sijbrandij. The CEO uses dedicated (blocked, recurring) time to prepare for this meeting earlier in the week. 30 minutes After each meeting (to allow all parties to collect action items), the Apprentice makes a copy of the "💻 Sid : Mike(Fleet)" doc and renames it "YYYY-MM-DD Backup of 💻 Sid : Mike(Fleet)". Then moves the backup version into the [(¶¶) Sid archive](https://drive.google.com/drive/u/0/folders/1SP6J-F6M5engq5ivV0Sv3tq8nNIwYFcq) Then process the backup Sid agenda by: - Leaving google doc comments assigning all Fleet TODOs to correct Fleeties. - In the ¶¶¶¶🦿🌪️CEO Roundup doc, update the URL in `Sam: FYI: Agenda from last time:` [LINK](link). **Being sure to preserve agenda format**, process the 💻 Sid : Mike(Fleet) master doc by: - (Unless otherwise prefixed) Delete all agenda items, **being sure to leave 3 empty bullets in every section**. ### Process and backup E-group agenda Immediately after every e-group the Apprentice makes a copy of the E-group agenda doc and renames it "YYYY-MM-DD backup of E-group agenda". Then saves it to the [(¶¶) E-group archive](https://drive.google.com/drive/u/0/folders/1IsSGMgbt4pDcP8gSnLj8Z8NGY7_6UTt6). Then process the backup E-group agenda by: - Leaving google doc comments assigning all TODOs to correct individuals. - In the E-group master doc, update the URL in `Sam: FYI: Agenda from last time:` [LINK](link). **Being sure to preserve agenda format**, process the E-group master doc by: - Clearing all bullets from the "Mike: Hear from each department" section. - Delete the "Blockers" and "Last week" bullets from each department's section. - Move contents from "This week" to "Last week". - (Unless otherwise prefixed) Delete all agenda items from the "Mike: This weeks focus" section. - (Unless otherwise prefixed) Delete all agenda items from the "Today's other topics" section. If it's the day of an All hands: - Remove any spotlights that aren't a permanent staple (e.g. Mike: Every time: Pick a value, present on it.). ### Confirm Dripify unread messages against LinkedIn Once a month the Apprentice will confirm Dripify unread messages against LinkedIn, to do this: - Log into the CEO's dashboard [Dripify](https://app.dripify.io/inbox?filter=unread). - View unread messages. - Log into the CEO's [LinkedIn](https://www.linkedin.com/search/results/all/?sid=s2%3A). - Bring up the messaging window and filter out all read messages. - Click the "filter" icon in the messaging search bar. - Click "Unread". Compare the 2 lists side-by-side using LinkedIn as the source of truth. Record all names and profiles that show up in LinkedIn but ARE NOT visible in Dripify. - Add the list to the next episode of the ["🦄🗞️Puppet Show"](https://docs.google.com/document/d/1G-FPlTON3eOHFpaT28aqpG7BWQpBRwmqUdyE43mDd8A/edit?pli=1). - Find the date of the next "🦄🗞️Puppet Show" meeting in the doc. (if you don't see the date listed in the doc yet you will need to create the heading) - Add your bulleted list to the agenda titled "🥡The leftovers". - Link each name with the LinkedIn profile URL. ### Unroll a Slack thread From time to time the CEO will ask the Apprentice to the CEO to unroll a Slack thread into a well-named whiteboard google doc for safekeeping and future searching. 1. Start with a new doc. 2. Name the file with "yyyy-mm-dd - topic" (something empathetic and easy to find). 3. Use CMD+SHFT+V to paste the Slack convo into the doc. 4. Reapply formatting manually (be mindful of quotes, links, and images). - To copy images right-click+copy and then paste in the doc (some resizing may be necessary to fit the page). ### Delete an accidental meeting recording It's not enough to just "delete" a recording of a meeting in Gong. Instead, use these steps: - Wait for at least 30 minutes after the meeting has ended to ensure the recording and transcript exist and can be deleted. - [Sign in to Gong](https://us-65885.app.gong.io/deals?company-id=2676443513846037003&workspace-id=9148397688380544352&board-id=8761946992754097113&view-mode=DEALS&tab-idx=0&account-activity=true&owner-ids=&owner-team-ids=5778354842532790437×pan-id=34&sort-by=DealActivity&sort-field=%7B%22type%22%3A%22RegularField%22%2C%22name%22%3A%22DealActivity%22%7D&sort-order=DESC&owner-id=5778354842532790437&include-team=true) through the CEO's browser. - Click `Conversations` - Select the call recording no longer needed - Click the "hotdog" menu in the right-hand corner - `Delete recording` - Search for the title of the meeting Google Drive and delete the auto-generated Google Doc containing the transcript. - Always check back to ensure the recording **and** transcript were both deleted. ## Rituals - Note: Some rituals are especially time-sensitive and require attention multiple times per day (⏰). Set reminders for the following times (CT): - 9:30 AM /before start of business - 12:30 PM /beginning of "reserved block" - 6:30 PM /post-mortem days meetings