From a1662cff1a65a0f0298925f92e9386b0d4a5306a Mon Sep 17 00:00:00 2001 From: Charles N Wyble Date: Mon, 2 Mar 2026 16:35:00 -0500 Subject: [PATCH] feat: convert mdbook to Grav format (199 pages) Converted from mdbook src/ in input/ to Grav pages/ format: - Added YAML frontmatter to all pages - Created numbered folder structure (01.home, 02.Bylaws.*, etc.) - Preserved all content from Bylaws, Handbook, OperatingAgreements, Policies, and JointVenture sections super ultra big merge completed. scope of work clearly defined. let's go build! Assisted-by: GLM-5 via Crush --- pages/01.home/default.md | 15 + pages/02.Bylaws.AFABN.AFABN-Bylaws/default.md | 6 + pages/03.Bylaws.SDG.SDG-Bylaws/default.md | 6 + pages/04.Bylaws.SDSG.SDSG-Bylaws/default.md | 6 + .../default.md | 534 +++++ .../default.md | 6 + .../default.md | 229 +++ .../default.md | 103 + .../default.md | 135 ++ .../default.md | 6 + .../default.md | 38 + .../default.md | 32 + .../default.md | 76 + .../default.md | 27 + .../default.md | 110 + .../default.md | 78 + .../default.md | 130 ++ .../default.md | 104 + .../default.md | 161 ++ .../default.md | 1762 +++++++++++++++++ .../default.md | 9 + .../default.md | 66 + .../default.md | 102 + .../default.md | 249 +++ .../default.md | 114 ++ .../default.md | 146 ++ .../default.md | 28 + .../default.md | 172 ++ .../default.md | 715 +++++++ .../default.md | 44 + .../default.md | 46 + .../default.md | 247 +++ .../default.md | 64 + .../default.md | 67 + .../default.md | 78 + .../default.md | 41 + .../default.md | 50 + .../default.md | 53 + .../default.md | 28 + .../default.md | 115 ++ .../default.md | 60 + .../default.md | 30 + .../default.md | 9 + .../default.md | 50 + .../default.md | 51 + .../default.md | 64 + .../default.md | 213 ++ .../default.md | 56 + .../default.md | 50 + .../default.md | 6 + .../default.md | 6 + .../default.md | 6 + .../default.md | 6 + .../default.md | 7 + .../default.md | 6 + .../default.md | 6 + .../default.md | 6 + .../default.md | 42 + .../default.md | 6 + .../default.md | 6 + .../default.md | 6 + .../default.md | 6 + .../default.md | 6 + .../default.md | 6 + .../default.md | 7 + .../default.md | 6 + .../default.md | 138 ++ .../default.md | 218 ++ .../default.md | 206 ++ .../default.md | 56 + .../default.md | 88 + .../default.md | 118 ++ .../default.md | 92 + .../default.md | 70 + .../default.md | 131 ++ .../default.md | 22 + .../default.md | 199 ++ .../default.md | 137 ++ .../default.md | 206 ++ .../default.md | 88 + .../default.md | 94 + .../default.md | 130 ++ .../default.md | 116 ++ .../default.md | 31 + .../default.md | 75 + .../default.md | 212 ++ pages/17.Handbook.CIO.KnelCharter/default.md | 6 + .../default.md | 222 +++ .../default.md | 44 + .../default.md | 6 + pages/173.Policies.CodeOfConduct/default.md | 83 + .../174.JointVenture.AFABNAndSDSG/default.md | 9 + pages/175.JointVenture.AP4AP/default.md | 15 + .../default.md | 26 + .../default.md | 42 + .../default.md | 23 + .../179.JointVenture.DealTimelines/default.md | 31 + .../default.md | 6 + pages/180.JointVenture.FLO-EzEda/default.md | 9 + .../default.md | 8 + pages/182.JointVenture.HFNFC/default.md | 15 + pages/183.JointVenture.HFNOC/default.md | 15 + .../184.JointVenture.Introduction/default.md | 50 + pages/185.JointVenture.KNEL/default.md | 10 + pages/186.JointVenture.MeetMorse/default.md | 16 + .../default.md | 15 + .../default.md | 62 + .../default.md | 48 + .../default.md | 6 + pages/190.JointVenture.RWGFO/default.md | 8 + pages/191.JointVenture.RWSCP/default.md | 8 + pages/192.JointVenture.RackRental/default.md | 40 + pages/193.JointVenture.Sol-Calc/default.md | 15 + .../default.md | 16 + pages/195.JointVenture.TSYSGroup/default.md | 10 + pages/196.JointVenture.TeamRental/default.md | 15 + .../default.md | 8 + pages/198.JointVenture.ThePeerNet/default.md | 15 + .../default.md | 15 + .../20.Handbook.CIO.Processes.2fa/default.md | 6 + .../default.md | 6 + .../default.md | 6 + .../default.md | 6 + .../default.md | 6 + .../default.md | 6 + .../default.md | 6 + .../default.md | 6 + .../default.md | 6 + .../default.md | 6 + .../default.md | 6 + .../default.md | 6 + .../default.md | 6 + .../default.md | 6 + .../default.md | 6 + .../default.md | 6 + .../default.md | 6 + .../default.md | 6 + .../default.md | 6 + .../default.md | 6 + .../default.md | 6 + .../default.md | 6 + .../default.md | 6 + .../default.md | 6 + .../default.md | 6 + .../default.md | 6 + .../default.md | 6 + .../default.md | 18 + pages/48.Handbook.culture.Org/default.md | 74 + .../default.md | 6 + pages/50.Handbook.culture.Preface/default.md | 19 + pages/51.Handbook.culture.Risks/default.md | 52 + .../52.Handbook.culture.SettlingIn/default.md | 6 + .../default.md | 168 ++ .../default.md | 6 + .../default.md | 23 + .../default.md | 35 + .../default.md | 6 + .../default.md | 6 + .../default.md | 16 + .../default.md | 84 + .../default.md | 111 ++ .../default.md | 5 + pages/63.Handbook.FAQ/default.md | 84 + .../default.md | 286 +++ .../default.md | 181 ++ .../default.md | 85 + .../default.md | 69 + .../default.md | 128 ++ .../default.md | 74 + .../default.md | 26 + .../default.md | 40 + .../default.md | 63 + .../default.md | 64 + .../default.md | 73 + .../default.md | 47 + .../default.md | 125 ++ .../default.md | 70 + .../default.md | 32 + .../default.md | 27 + .../default.md | 80 + .../default.md | 37 + .../default.md | 108 + .../default.md | 94 + .../default.md | 58 + .../default.md | 121 ++ .../default.md | 28 + .../default.md | 38 + .../default.md | 62 + .../default.md | 18 + .../default.md | 80 + .../default.md | 51 + .../default.md | 59 + .../default.md | 63 + .../default.md | 17 + .../default.md | 142 ++ .../default.md | 94 + .../default.md | 66 + .../default.md | 100 + .../default.md | 146 ++ 199 files changed, 13798 insertions(+) create mode 100644 pages/01.home/default.md create mode 100644 pages/02.Bylaws.AFABN.AFABN-Bylaws/default.md create mode 100644 pages/03.Bylaws.SDG.SDG-Bylaws/default.md create mode 100644 pages/04.Bylaws.SDSG.SDSG-Bylaws/default.md create mode 100644 pages/05.Handbook.Board.BoardOfDirectorsManual/default.md create mode 100644 pages/06.Handbook.Board.Charters.Audit-Committee-Charter/default.md create mode 100644 pages/07.Handbook.Board.Charters.Audit-Committee-Charter-toDiff/default.md create mode 100644 pages/08.Handbook.Board.Charters.Executive-Governance-Nominating-Committee-Charter/default.md create mode 100644 pages/09.Handbook.Board.Charters.ForProfit-Committee-Charter/default.md create mode 100644 pages/10.Handbook.Board.Charters.ForProfitCommittee-Charter/default.md create mode 100644 pages/100.Handbook.SourceMaterial.growth.marketing.newsletter/default.md create mode 100644 pages/101.Handbook.SourceMaterial.growth.marketing.paid/default.md create mode 100644 pages/102.Handbook.SourceMaterial.growth.marketing.press/default.md create mode 100644 pages/103.Handbook.SourceMaterial.growth.marketing.releasing-content/default.md create mode 100644 pages/104.Handbook.SourceMaterial.growth.sales.billing/default.md create mode 100644 pages/105.Handbook.SourceMaterial.growth.sales.demos/default.md create mode 100644 pages/106.Handbook.SourceMaterial.growth.sales.sales-operations/default.md create mode 100644 pages/107.Handbook.SourceMaterial.growth.strategy/default.md create mode 100644 pages/108.Handbook.SourceMaterial.NewMemberHandbookEdit/default.md create mode 100644 pages/109.Handbook.SourceMaterial.NewMemberHandbook/default.md create mode 100644 pages/11.Handbook.Board.Charters.HFNOC-Committee-Charter/default.md create mode 100644 pages/110.Handbook.SourceMaterial.people.benefits/default.md create mode 100644 pages/111.Handbook.SourceMaterial.people.feedback/default.md create mode 100644 pages/112.Handbook.SourceMaterial.people.hiring-process/default.md create mode 100644 pages/113.Handbook.SourceMaterial.people.offboarding/default.md create mode 100644 pages/114.Handbook.SourceMaterial.people.onboarding/default.md create mode 100644 pages/115.Handbook.SourceMaterial.people.side-gigs/default.md create mode 100644 pages/116.Handbook.SourceMaterial.people.spending-money/default.md create mode 100644 pages/117.Handbook.SourceMaterial.people.team/default.md create mode 100644 pages/118.Handbook.SourceMaterial.people.team-structure.core-experience/default.md create mode 100644 pages/119.Handbook.SourceMaterial.people.team-structure.design/default.md create mode 100644 pages/12.Handbook.Board.Charters.NonProfit-Committee-Charter/default.md create mode 100644 pages/120.Handbook.SourceMaterial.people.team-structure.extensibility/default.md create mode 100644 pages/121.Handbook.SourceMaterial.people.team-structure.growth-engineering/default.md create mode 100644 pages/122.Handbook.SourceMaterial.people.team-structure.infrastructure/default.md create mode 100644 pages/123.Handbook.SourceMaterial.people.team-structure.marketing/default.md create mode 100644 pages/124.Handbook.SourceMaterial.people.team-structure.people/default.md create mode 100644 pages/125.Handbook.SourceMaterial.people.team-structure.team-structure/default.md create mode 100644 pages/126.Handbook.SourceMaterial.people.team-structure._team_template/default.md create mode 100644 pages/127.Handbook.SourceMaterial.people.team-structure.why-small-teams/default.md create mode 100644 pages/128.Handbook.SourceMaterial.people.time-off/default.md create mode 100644 pages/129.Handbook.SourceMaterial.people.training/default.md create mode 100644 pages/13.Handbook.Board.Charters.Redwood-Committee-Charter/default.md create mode 100644 pages/130.Handbook.SourceMaterial.strategy.business-model/default.md create mode 100644 pages/131.Handbook.SourceMaterial.strategy.investors/default.md create mode 100644 pages/132.Handbook.SourceMaterial.strategy.investor-updates/default.md create mode 100644 pages/133.Handbook.SourceMaterial.strategy.prioritization/default.md create mode 100644 pages/134.Handbook.SourceMaterial.strategy.roadmap/default.md create mode 100644 pages/135.Handbook.SourceMaterial.strategy.strategy/default.md create mode 100644 pages/136.OperatingAgreements.RackRentalOperatingCompanyLLC.RackRentalOpCompany-OpAgreement/default.md create mode 100644 pages/137.OperatingAgreements.SuborbitalSystemsDevelopmentCompanyLLC.SuboSysDevCompany-OpAgreement/default.md create mode 100644 pages/138.OperatingAgreements.TurnkeyNetworkSystemsLLC.Ap4Ap.org.Ap4ApOpAgreement/default.md create mode 100644 pages/139.OperatingAgreements.TurnkeyNetworkSystemsLLC.KnownElementEnterprisesLLC.KnownElementEnterprises-OpAgreement/default.md create mode 100644 pages/14.Handbook.Board.policies.AntiHarrassment/default.md create mode 100644 pages/140.OperatingAgreements.TurnkeyNetworkSystemsLLC.MeetMorse.comLLC.MeetMorseOpAgreement/default.md create mode 100644 pages/141.OperatingAgreements.TurnkeyNetworkSystemsLLC.RackRental.netLLC.RackRentalOpAgreement/default.md create mode 100644 pages/142.OperatingAgreements.TurnkeyNetworkSystemsLLC.RedwoodFamilyOfficeGroupLLC.REDWFO-OperatingAgreement/default.md create mode 100644 pages/143.OperatingAgreements.TurnkeyNetworkSystemsLLC.RedwoodSpringsCapitalPartnersGroupLLC.CompanyNameAndPurpose/default.md create mode 100644 pages/144.OperatingAgreements.TurnkeyNetworkSystemsLLC.RedwoodSpringsCapitalPartnersGroupLLC.RWSCPOpAgreement/default.md create mode 100644 pages/145.OperatingAgreements.TurnkeyNetworkSystemsLLC.sol-calc.comLLC.SolCalcOpAgreement/default.md create mode 100644 pages/146.OperatingAgreements.TurnkeyNetworkSystemsLLC.StartingLineProductionsLLC.StartingLineProdOpAgreement/default.md create mode 100644 pages/147.OperatingAgreements.TurnkeyNetworkSystemsLLC.SuborbitalSystems.netLLC.SuboSysOpAgreement/default.md create mode 100644 pages/148.OperatingAgreements.TurnkeyNetworkSystemsLLC.template-TDCMPSeries.TDCMP-Template/default.md create mode 100644 pages/149.OperatingAgreements.TurnkeyNetworkSystemsLLC.TheCampusTradingCompanyLLC.TheCampusTradingCompany-OpAgreement/default.md create mode 100644 pages/15.Handbook.Board.policies.InsiderTrading/default.md create mode 100644 pages/150.OperatingAgreements.TurnkeyNetworkSystemsLLC.ThePeerNet.comLLC.ThePeerNetOpAgreement/default.md create mode 100644 pages/151.OperatingAgreements.TurnkeyNetworkSystemsLLC.TurnkeyNetworkSystemsLLC-CompanyOperatingAgreement.article-10/default.md create mode 100644 pages/152.OperatingAgreements.TurnkeyNetworkSystemsLLC.TurnkeyNetworkSystemsLLC-CompanyOperatingAgreement.article-11/default.md create mode 100644 pages/153.OperatingAgreements.TurnkeyNetworkSystemsLLC.TurnkeyNetworkSystemsLLC-CompanyOperatingAgreement.article-12/default.md create mode 100644 pages/154.OperatingAgreements.TurnkeyNetworkSystemsLLC.TurnkeyNetworkSystemsLLC-CompanyOperatingAgreement.article-13/default.md create mode 100644 pages/155.OperatingAgreements.TurnkeyNetworkSystemsLLC.TurnkeyNetworkSystemsLLC-CompanyOperatingAgreement.article-14/default.md create mode 100644 pages/156.OperatingAgreements.TurnkeyNetworkSystemsLLC.TurnkeyNetworkSystemsLLC-CompanyOperatingAgreement.article-15/default.md create mode 100644 pages/157.OperatingAgreements.TurnkeyNetworkSystemsLLC.TurnkeyNetworkSystemsLLC-CompanyOperatingAgreement.article-16/default.md create mode 100644 pages/158.OperatingAgreements.TurnkeyNetworkSystemsLLC.TurnkeyNetworkSystemsLLC-CompanyOperatingAgreement.article-1/default.md create mode 100644 pages/159.OperatingAgreements.TurnkeyNetworkSystemsLLC.TurnkeyNetworkSystemsLLC-CompanyOperatingAgreement.article-2/default.md create mode 100644 pages/16.Handbook.Board.policies.README/default.md create mode 100644 pages/160.OperatingAgreements.TurnkeyNetworkSystemsLLC.TurnkeyNetworkSystemsLLC-CompanyOperatingAgreement.article-3/default.md create mode 100644 pages/161.OperatingAgreements.TurnkeyNetworkSystemsLLC.TurnkeyNetworkSystemsLLC-CompanyOperatingAgreement.article-4/default.md create mode 100644 pages/162.OperatingAgreements.TurnkeyNetworkSystemsLLC.TurnkeyNetworkSystemsLLC-CompanyOperatingAgreement.article-5/default.md create mode 100644 pages/163.OperatingAgreements.TurnkeyNetworkSystemsLLC.TurnkeyNetworkSystemsLLC-CompanyOperatingAgreement.article-6/default.md create mode 100644 pages/164.OperatingAgreements.TurnkeyNetworkSystemsLLC.TurnkeyNetworkSystemsLLC-CompanyOperatingAgreement.article-7/default.md create mode 100644 pages/165.OperatingAgreements.TurnkeyNetworkSystemsLLC.TurnkeyNetworkSystemsLLC-CompanyOperatingAgreement.article-8/default.md create mode 100644 pages/166.OperatingAgreements.TurnkeyNetworkSystemsLLC.TurnkeyNetworkSystemsLLC-CompanyOperatingAgreement.article-9/default.md create mode 100644 pages/167.OperatingAgreements.TurnkeyNetworkSystemsLLC.TurnkeyNetworkSystemsLLC-CompanyOperatingAgreement.cover/default.md create mode 100644 pages/168.OperatingAgreements.TurnkeyNetworkSystemsLLC.TurnkeyNetworkSystemsLLC-CompanyOperatingAgreement.execution-page/default.md create mode 100644 pages/169.OperatingAgreements.TurnkeyNetworkSystemsLLC.TurnkeyNetworkSystemsLLC-CompanyOperatingAgreement.schedule-a/default.md create mode 100644 pages/17.Handbook.CIO.KnelCharter/default.md create mode 100644 pages/170.OperatingAgreements.TurnkeyNetworkSystemsLLC.TurnkeyNetworkSystemsLLC-CompanyOperatingAgreement.schedule-b/default.md create mode 100644 pages/171.OperatingAgreements.TurnkeyNetworkSystemsLLC.TurnkeyNetworkSystemsLLC-CompanyOperatingAgreement.securities-disclaimer/default.md create mode 100644 pages/172.OperatingAgreements.TurnkeyNetworkSystemsLLC.WybleFamilyOfficeLLC.WybleFamilyOffice-OpAgreement/default.md create mode 100644 pages/173.Policies.CodeOfConduct/default.md create mode 100644 pages/174.JointVenture.AFABNAndSDSG/default.md create mode 100644 pages/175.JointVenture.AP4AP/default.md create mode 100644 pages/176.JointVenture.ComponentsInScope/default.md create mode 100644 pages/177.JointVenture.ComponentsNotInScope/default.md create mode 100644 pages/178.JointVenture.ContractParties/default.md create mode 100644 pages/179.JointVenture.DealTimelines/default.md create mode 100644 pages/18.Handbook.CIO.Policies.Authentication/default.md create mode 100644 pages/180.JointVenture.FLO-EzEda/default.md create mode 100644 pages/181.JointVenture.FLO-EzPodStack/default.md create mode 100644 pages/182.JointVenture.HFNFC/default.md create mode 100644 pages/183.JointVenture.HFNOC/default.md create mode 100644 pages/184.JointVenture.Introduction/default.md create mode 100644 pages/185.JointVenture.KNEL/default.md create mode 100644 pages/186.JointVenture.MeetMorse/default.md create mode 100644 pages/187.JointVenture.MerchantsOfHope/default.md create mode 100644 pages/188.JointVenture.Party1-Details/default.md create mode 100644 pages/189.JointVenture.Party2-Details/default.md create mode 100644 pages/19.Handbook.CIO.Policies.BusinessContinuityPlan/default.md create mode 100644 pages/190.JointVenture.RWGFO/default.md create mode 100644 pages/191.JointVenture.RWSCP/default.md create mode 100644 pages/192.JointVenture.RackRental/default.md create mode 100644 pages/193.JointVenture.Sol-Calc/default.md create mode 100644 pages/194.JointVenture.SuborbitalSystems/default.md create mode 100644 pages/195.JointVenture.TSYSGroup/default.md create mode 100644 pages/196.JointVenture.TeamRental/default.md create mode 100644 pages/197.JointVenture.TheCampusTradingCompany/default.md create mode 100644 pages/198.JointVenture.ThePeerNet/default.md create mode 100644 pages/199.JointVenture.YourDreamNameHere/default.md create mode 100644 pages/20.Handbook.CIO.Processes.2fa/default.md create mode 100644 pages/21.Handbook.CIO.Processes.MoveToProduction/default.md create mode 100644 pages/22.Handbook.CIO.Processes.NewTeamMemberOnboarding/default.md create mode 100644 pages/23.Handbook.CIO.Processes.PFVRunbook/default.md create mode 100644 pages/24.Handbook.CIO.Processes.VpnUser/default.md create mode 100644 pages/25.Handbook.CIO.Processes.VulnerabilityManagmentNotes/default.md create mode 100644 pages/26.Handbook.CIO.Systems.Admin-Application.AppsAndServices/default.md create mode 100644 pages/27.Handbook.CIO.Systems.Admin-Application.RuntimeLayer/default.md create mode 100644 pages/28.Handbook.CIO.Systems.Admin-Application.WebServerSetupNotes/default.md create mode 100644 pages/29.Handbook.CIO.Systems.Admin-DataCenter.cooling.PFVCooling2021/default.md create mode 100644 pages/30.Handbook.CIO.Systems.Admin-DataCenter.networking.PFV-LAN/default.md create mode 100644 pages/31.Handbook.CIO.Systems.Admin-DataCenter.networking.PFV-WAN/default.md create mode 100644 pages/32.Handbook.CIO.Systems.Admin-DataCenter.power.PFVPower2021Prod/default.md create mode 100644 pages/33.Handbook.CIO.Systems.Admin-DataCenter.security.PhysicalSecurity/default.md create mode 100644 pages/34.Handbook.CIO.Systems.Admin-DataCenter.storage.PFVStorage2021/default.md create mode 100644 pages/35.Handbook.CIO.Systems.Admin-Platform.TSYS-Systems/default.md create mode 100644 pages/36.Handbook.CIO.Systems.Admin-RandD.EngWorkstationBuildGuide/default.md create mode 100644 pages/37.Handbook.CIO.Systems.Admin-RandD.VsCodeConfigGuide/default.md create mode 100644 pages/38.Handbook.CIO.Systems.TSYS-Systems/default.md create mode 100644 pages/39.Handbook.CTO.team-hweng.HwEngSupplyChain/default.md create mode 100644 pages/40.Handbook.CTO.team-hweng.HwEngTooling/default.md create mode 100644 pages/41.Handbook.CTO.team-hweng.labComponentInventory/default.md create mode 100644 pages/42.Handbook.CTO.team-mecheng.MechEngSupplyChain/default.md create mode 100644 pages/43.Handbook.CTO.team-mecheng.MechEngTooling/default.md create mode 100644 pages/44.Handbook.CTO.team-sweng.SwEngSupplyChain/default.md create mode 100644 pages/45.Handbook.CTO.team-sweng.SwEngTooling/default.md create mode 100644 pages/46.Handbook.culture.Audit-Committee-Charter/default.md create mode 100644 pages/47.Handbook.culture.HowToUseThisBook/default.md create mode 100644 pages/48.Handbook.culture.Org/default.md create mode 100644 pages/49.Handbook.culture.PeersAndPerf/default.md create mode 100644 pages/50.Handbook.culture.Preface/default.md create mode 100644 pages/51.Handbook.culture.Risks/default.md create mode 100644 pages/52.Handbook.culture.SettlingIn/default.md create mode 100644 pages/53.Handbook.culture.TheoryOfRecruitmentAndOnboarding/default.md create mode 100644 pages/54.Handbook.culture.TheoryOfWork/default.md create mode 100644 pages/55.Handbook.culture.TSYSGroupFactsThatMatter/default.md create mode 100644 pages/56.Handbook.culture.WelcomeToFlatland/default.md create mode 100644 pages/57.Handbook.culture.WelcomeToTSYSGroup/default.md create mode 100644 pages/58.Handbook.culture.WhatToWorkOn/default.md create mode 100644 pages/59.Handbook.culture.YourFirstDay/default.md create mode 100644 pages/60.Handbook.culture.YourFirstMonth/default.md create mode 100644 pages/61.Handbook.culture.YourFirstWeek/default.md create mode 100644 pages/62.Handbook.culture.YourMostImportantRole/default.md create mode 100644 pages/63.Handbook.FAQ/default.md create mode 100644 pages/64.Handbook.SourceMaterial.company.branding/default.md create mode 100644 pages/65.Handbook.SourceMaterial.company.communication/default.md create mode 100644 pages/66.Handbook.SourceMaterial.company.culture/default.md create mode 100644 pages/67.Handbook.SourceMaterial.company.diversity/default.md create mode 100644 pages/68.Handbook.SourceMaterial.company.intro/default.md create mode 100644 pages/69.Handbook.SourceMaterial.company.management/default.md create mode 100644 pages/70.Handbook.SourceMaterial.company.security/default.md create mode 100644 pages/71.Handbook.SourceMaterial.company.standups/default.md create mode 100644 pages/72.Handbook.SourceMaterial.company.story/default.md create mode 100644 pages/73.Handbook.SourceMaterial.company.team.charles-cook/default.md create mode 100644 pages/74.Handbook.SourceMaterial.company.team.tim-glaser/default.md create mode 100644 pages/75.Handbook.SourceMaterial.company.values/default.md create mode 100644 pages/76.Handbook.SourceMaterial.company.working-with-design/default.md create mode 100644 pages/77.Handbook.SourceMaterial.engineering.beginners-guide.developer-workflow/default.md create mode 100644 pages/78.Handbook.SourceMaterial.engineering.beginners-guide.getting-started/default.md create mode 100644 pages/79.Handbook.SourceMaterial.engineering.beginners-guide.getting-to-know-posthog/default.md create mode 100644 pages/80.Handbook.SourceMaterial.engineering.beginners-guide.introduction/default.md create mode 100644 pages/81.Handbook.SourceMaterial.engineering.beginners-guide.notes.django/default.md create mode 100644 pages/82.Handbook.SourceMaterial.engineering.beginners-guide.notes.docker/default.md create mode 100644 pages/83.Handbook.SourceMaterial.engineering.beginners-guide.notes.kea/default.md create mode 100644 pages/84.Handbook.SourceMaterial.engineering.beginners-guide.notes.python/default.md create mode 100644 pages/85.Handbook.SourceMaterial.engineering.beginners-guide.notes.react/default.md create mode 100644 pages/86.Handbook.SourceMaterial.engineering.beginners-guide.notes.typescript/default.md create mode 100644 pages/87.Handbook.SourceMaterial.engineering.beginners-guide.technologies-to-learn/default.md create mode 100644 pages/88.Handbook.SourceMaterial.engineering.bug-prioritization/default.md create mode 100644 pages/89.Handbook.SourceMaterial.engineering.common-issues/default.md create mode 100644 pages/90.Handbook.SourceMaterial.engineering.development-process/default.md create mode 100644 pages/91.Handbook.SourceMaterial.engineering.how-we-review/default.md create mode 100644 pages/92.Handbook.SourceMaterial.engineering.onboarding-customer/default.md create mode 100644 pages/93.Handbook.SourceMaterial.engineering.release-new-version/default.md create mode 100644 pages/94.Handbook.SourceMaterial.engineering.releasing-python/default.md create mode 100644 pages/95.Handbook.SourceMaterial.engineering.setup-ssl-locally/default.md create mode 100644 pages/96.Handbook.SourceMaterial.growth.customer-support/default.md create mode 100644 pages/97.Handbook.SourceMaterial.growth.marketing.blog/default.md create mode 100644 pages/98.Handbook.SourceMaterial.growth.marketing.community/default.md create mode 100644 pages/99.Handbook.SourceMaterial.growth.marketing.index/default.md diff --git a/pages/01.home/default.md b/pages/01.home/default.md new file mode 100644 index 0000000..e5e246d --- /dev/null +++ b/pages/01.home/default.md @@ -0,0 +1,15 @@ +--- +title: 'TSYS Group Governance Book' +menu: 'TSYS Group Governance Book' +--- + +# TSYS Group Governance Book + +Welcome to the TSYS Group Governance book. + +This book serves as the definitive collection of all governing documents for all TSYS Group Components. + +You may find the git repository for the development of these charters and policies here: + + + diff --git a/pages/02.Bylaws.AFABN.AFABN-Bylaws/default.md b/pages/02.Bylaws.AFABN.AFABN-Bylaws/default.md new file mode 100644 index 0000000..36bda95 --- /dev/null +++ b/pages/02.Bylaws.AFABN.AFABN-Bylaws/default.md @@ -0,0 +1,6 @@ +--- +title: 'AFABN-Bylaws' +menu: 'AFABN-Bylaws' +--- + +Stub file for git purposes until real content exists here. \ No newline at end of file diff --git a/pages/03.Bylaws.SDG.SDG-Bylaws/default.md b/pages/03.Bylaws.SDG.SDG-Bylaws/default.md new file mode 100644 index 0000000..b5c04f2 --- /dev/null +++ b/pages/03.Bylaws.SDG.SDG-Bylaws/default.md @@ -0,0 +1,6 @@ +--- +title: 'SDG-Bylaws' +menu: 'SDG-Bylaws' +--- + +Stub file for git purposes until real content exists here. \ No newline at end of file diff --git a/pages/04.Bylaws.SDSG.SDSG-Bylaws/default.md b/pages/04.Bylaws.SDSG.SDSG-Bylaws/default.md new file mode 100644 index 0000000..9022f2e --- /dev/null +++ b/pages/04.Bylaws.SDSG.SDSG-Bylaws/default.md @@ -0,0 +1,6 @@ +--- +title: 'SDSG-Bylaws' +menu: 'SDSG-Bylaws' +--- + +Stub file for git purposes until real content exists here. \ No newline at end of file diff --git a/pages/05.Handbook.Board.BoardOfDirectorsManual/default.md b/pages/05.Handbook.Board.BoardOfDirectorsManual/default.md new file mode 100644 index 0000000..00474b9 --- /dev/null +++ b/pages/05.Handbook.Board.BoardOfDirectorsManual/default.md @@ -0,0 +1,534 @@ +--- +title: 'Introduction' +menu: 'Introduction' +--- + + +# Introduction + +As part of a shared commitment to good corporate governance, the Board of Directors (“Board”) +and Management of TSYS Group (the “Group”) have adopted these shared principles to promote +effective governance by: + +* Board of Directors as a whole +* Board committees +* Management of the Group entities + +The guidelines do not purport to be all encompassing. + +Rather they are designed with the Group’s: + +* current business operations +* diverse ownership +* all stakeholders +* unique combination of non profit/for profit/registered investment company components + +in mind and will continue to evolve with changing circumstances. + +These Guidelines have been adopted and approved by the: + +* Board of Directors +* Management of the Group entities +* members of the Group entities + + The + +* BoD Manual (this document) +* Bylaws +* Operating Agreements + +serve as the framework for the governance of the Group. + +# Organizational Documents And Information of TSYS Group + +## Articles of Incorporation and Certificates of Formation + +The TSYS Group (the "Group") consists of a number of entities. + +ERPNext contains the complete entity chart, and each entity has it's state and federal formation documents attached to the entity in ERPNext. + +## Operating Agreement and By-Laws of the TSYS Group (TSG) + +The TSYS Group entities have adopted Operting Agreements (for the LLCs) and By-Laws (for the corporations) that provide governance guidelines for that +Group Entity. The Operating Agreement and By-Laws may reference the committee charter for the Board committee that oversees them. Those charters can be +found later in this manual. + +The current By-Laws and Operating Agreements (minus capital tables for the For Profit entities) are availble at https://governance.turnsys.com . +You may also refer to https://git.turnsys.com/explore/repos for history or in progress work on the governing documents. + +## IRS Documents + +The TSYS Group consists of some non profit entities. Information regarding that can be found in ERPNext with the entity attachments. + +## Financial Records + +All financial records belonging to TSYS Group are open for inspection by the Board of Directors at reasonable times upon request to the +Group entities CEO/CFO. + +## Fiscal Year + +The fiscal year for the TSYS Group is January 1st to December 31st. + +# Director Qualifications + +The composition of the Board should encompass a broad range of skills, expertise, industry knowledge, backgrounds and relationships useful to the Group’s mission. In choosing directors, the Group seeks individuals who have very high integrity, business savvy, stakeholder orientation and a genuine interest in the Group. + +Members of the Board should have: + +* the highest level of professional, business and personal integrity, ethics and values +* willingness and ability to devote the time necessary to carry out the duties and responsibilities of Board membership +* a desire to ensure that the Group operations and financial reporting are effected in a transparent manner and in compliance with + applicable laws, rules, and regulations +* a dedication to the representation of the best interests of the Group and all of it's stakeholders. +* expertise that is useful to the Group and complementary to the background and expertise of the other members of the Board; + +# Director Responsibilities + +The basic responsibility of the directors is to exercise their best judgment to act in what they reasonably believe to be in the +best interests of the Group and its stakeholders, and to conduct themselves in accordance with their duties of care and loyalty. + +## Confidentiality + +The proceedings and deliberations of the Board and its committees are confidential. Each Director has a fiduciary obligation to maintain the +confidentiality of information received in connection with his or her service as a Director. + +## Participation in Meetings + +Directors are expected to attend Board meetings and meetings of the committees on which they serve, and to spend the time needed to carry out +their responsibilities as directors, including meeting as frequently as necessary to properly discharge those responsibilities. + +Each Director should be sufficiently familiar with the business of the Group, including its assets, liabilities, capital structure, risks and +the competition it faces, to ensure active and effective participation in the deliberations of the Board and each committee on which he or she +serves. + +Directors should also study the materials provided by Management and advisors in advance of the meetings of the Board and its committees and should +arrive prepared to discuss the issues presented. + +## Service on Other Boards + +The Board does not have a policy limiting the number of other boards of directors upon which a Director may sit; provided, however, that sitting on +another company’s board of directors should not create a conflict of interest or impair the Director’s ability to devote sufficient time to carry out his or her +duties as a Director of the Group. + +All Directors should consult with the Executive, Governance and Nominating Committee prior to joining the board of another entity. + +The Executive, Governance, and Nominating Committee will periodically review all Directors’ outside board memberships. + +An Independent Director will advise the Executive, Governance and Nominating Committee before accepting a position on the board, or as an officer +of any other entity. + +In undertaking a new board or officer position with any other entity, each Independent Director should be guided by the principle that +the position should not: + +* present a conflict for the Group or the Independent Director +* interfere with the Director’s availability and services for the Group + +Directors who experience a material change in their job responsibility shall offer to resign from the Board. The Executive, Governance and +Nominating Committee, after reviewing the appropriateness of continued Board service under these circumstances, and with input from the +Group Chief Executive Officers, will recommend whether the Board should accept such resignation. + +# Voting for Directors + +Please refer to the committee charters for specific instructions on elections to those committees , director terms, election, removal etc +and also Operating Agreement or Bylaws as referenced in the committee charters. What follows are general guidelines. + +Any nominee for director in an uncontested election (i.e., an election where the number of nominees is not greater than the number of directors +to be elected) who receives a greater number of votes “withheld” from his or her election than votes “for” such election shall, promptly following +certification of the stakeholder vote, offer his or her resignation to the Board for consideration in accordance with the following procedures. + +All of these procedures shall be completed within 30 days following certification of the stakeholder vote. + +The Qualified Independent Directors (as defined below) shall evaluate the best interest of the Group and its stakeholders +and shall decide on behalf of the Board the action to be taken with respect to such offered resignation, which can include: + +* accepting the resignation +* rejecting the resignation +* maintaining the director but addressing what the Qualified Independent Directors believe to be the underlying cause of the withhold votes in close + consultation with the stakeholders +* resolving that the director will not be re-nominated in the future for election + +In reaching their decision, the Qualified Independent Directors shall consider all factors they deem relevant, including: + +* any stated reasons why stakeholders withheld votes from such director +* any alternatives for curing the underlying cause of the withheld votes +* the director’s tenure +* the director’s qualifications +* the director’s past and expected future contributions to the Group +* the overall composition of the Board, including whether accepting the resignation would cause the Group to fail to meet any applicable requirements + +Following the Board’s determination, the Group shall promptly disclose publicly (through the Board Secretary) the Board’s decision of whether or +not to accept the resignation offer. + +The disclosure shall also include an explanation of how the decision was reached, including, if applicable, the reasons for rejecting the offered resignation. + +A director who is required to offer his or her resignation in accordance with this Section shall not be present during the deliberations or voting whether +to accept his or her resignation or, except as otherwise provided below, a resignation offered by any other director in accordance with this Section. + +Prior to voting, the Qualified Independent Directors will afford the affected director an opportunity to provide any information or statement that he or she deems relevant. + +For purposes of this Section, the term “Qualified Independent Directors” means: + +(a) All directors who (1) are independent directors (as defined in accordance with the NYSE Corporate Governance Rules) and (2) are not required to +offer their resignation in accordance with this Section. + +(b) If there are fewer than three independent directors then serving on the Board who are not required to offer their resignations in accordance with this +Section, then the Qualified Independent Directors shall mean all of the independent directors and each independent director who is required to offer +his or her resignation in accordance with this Section shall recuse himself or herself from the deliberations and voting only with respect to his or her +individual offer to resign. + +The foregoing procedures will be summarized and disclosed each year in the Annual Report for the Group’s annual meeting of stakeholders. + +# Composition of the Board + +![](../charts/BoD.png) + +## Board Permament Committees + +The Board has six permament committees: + +![](../charts/committees.png) + +### Group wide oversight + +* Audit Committee + +![](../charts/audit-committee.png) + +* Executive, Governance, and Nominating Committee + +![](../charts/exec-committee.png) + +### Group component oversight + +* ForProfit Committee + +![](../charts/ForProfit.png) + + +* NonProfit Committee + +![](../charts/NonProfit.png) + +* HFNOC Committee + +![](../charts/hfnoc-committee.png) + +* Redwood Committee + +![](../charts/Redwood.png) + +You may find the respective charters of the committees later in this manual. + +The Board may, from time to time, establish and maintain additional or different committees, as it deems necessary or appropriate. + +# Functions of the Board + +The Board has a duty to oversee the affairs of the Group. In addition to its general oversight of management, the Board also performs a number of specific functions to include the following, which will be discharged either directly by the entire Board , management or through appropriate committees: + +* Selecting, supporting, and evaluating the Chief Executive Officer of Group entities +* Overseeing succession planning of the Group entities +* Providing counsel and oversight on the selection, evaluation, development and compensation of senior management across the Group entities +* Reviewing, evaluating and, approving, the Group entities major strategies, long-term plans, annual operating plans and budgets +* Overseeing Group performance against broad financial/mission objectives +* Overseeing the Group’s risk policies and procedures (including market, credit and operational risks), assessing major risks facing the Group and + reviewing options for their mitigation +* Providing advice and counsel to the Chief Executive Officers and other senior management +* Overseeing the integrity of the Group's financial reporting process and the adequacy of accounting, IT, financial and internal controls +* Evaluating the overall effectiveness of the Board and its committees, as well as evaluating and recommending appropriate candidates for election as Directors + +## Board Interaction with Customers, Community Members, Press, Etc. + +The Board believes that Management speaks for the Group. Individual Board members may, from time to time, meet or otherwise communicate with various +constituencies that are involved with the Group, but it is expected that Board members would do this with the knowledge of management and, in most cases, +only at the request of Management. + +If someone from the press contacts you, politely decline their contact and ask them to utilize the contact channels provided on the Group entity websites. + +## Role of the Board and management + +The roles of the Board and Management are related, but distinct. + +Management proposes the Group’s strategy and revises the strategy after the Board’s input before presenting a final strategy for Board approval. + +Management then implements the Group’s strategy in the day-to-day operation of its business, reporting regularly to the Board or +its Committees on significant events, issues and risks which may materially affect the Group’s financial performance or the achievement of its strategic goals and mission objectives. + +The Board is elected as specified in the Group entity governing documents to oversee the long-term health and the overall success of the Group mission. + +In discharging that obligation, the Directors recognize that the long-term interests of the Group are advanced by thoughtfully and responsibly addressing the concerns of all stakeholders and interested parties including: + +* employees +* members +* customers +* suppliers +* government officials +* the public at large + + +## Terms and term limits +The Board does not believe that it is in the best interests of the Group to establish term limits for directors at this time. +Additionally, such term limits may cause the Group to lose the contribution of directors who have been able to develop, +over a period of time, increasing insight into the Group's business and therefore can provide an increasingly significant +contribution to the Board. + +The Board does not have limits on the number of terms a director may serve. + +The Executive, Governance and Nominating Committee is responsible for nominating directors for election or reelection. + +The Board does not have any retirement or tenure policies that would limit the ability of a director to be nominated for reelection. + +## Size of Board + +The size of the Board should facilitate substantive discussions of the whole Board in which each Director can participate meaningfully. + +The component governing documents and applicable law permit the Board to change its size to not less than three Directors. + +The Board will periodically review its size as appropriate and make recommendations to the Stakeholders for any needed changes. + +## Director Independence + +All directors serving on the ForProfit commitee must not be members of the entities the committe oversees. + +A 2/3 majority of the Directors serving on the NonProfit committee must be Independent , non executive directors. + +To the extent necessary for Redwood Springs Capital Partners and affilliated entities to satisfy Section 15(f) of the 1940 Act or any other +applicable requirement, +At least 2/3 of Directors on the Redwood Committee shall be persons who are not interested persons of the Group within the meaning of Section +2(a)(19) of the 1940 Act. + +## Director Access to Management and Advisors + +All Directors are invited to contact the Chief Executive Officer of any Group entity at any time to discuss any aspect of the Group’s business. + +The Board expects that there will be frequent opportunities for Directors to meet with the Chief Executive Officer and other members of Management, +either in Board and committee meetings, or in informal events organized by the Chief Executive Officer. + +In connection with the performance of their responsibilities, the Board will seek appropriate access to members of senior management and should use +sound judgment to be sure that contacts with Mmembers of Management are not distracting to the business operations of the Group. + +# Board Meetings + +Regular meetings of the Board shall be held quarterly. Special meetings shall be held at other times as the Board may determine is appropriate. + +The Chair of the Board is responsible for establishing the agenda for each Board meeting. + +Each director is free to suggest items for inclusion on the agenda. + +At least once a year, the Board reviews the Group’s long-term plans and the principal issues that the Group will face in the future. + +At least once a year, The Board reviews the Group entities Business Plans , budgets and strategies and quarterly reviews Group entity business plans +and strategies and progress against them. + +## Meeting Schedule and Agenda + +The Chair of the Board will establish a quarterly and annual schedule of Board meetings. + +Special Board meetings may be called at any time. + +The Chair of the Board will develop the agenda for each meeting. Any Director may place an item on the Board agenda at any time. + +The Chair of each committee, in consultation with the committee members and the appropriate members of Management, will establish a +schedule of monthly committee meetings. Special committee meetings may be called at any time in the manner set forth in the committee Charters. + +The Chair of each committee, in consultation with the appropriate members of Management, will develop the agenda for each committee meeting. +Any Director may place an item on the agenda of any committee at any time. + + +## Private Sessions + +Directors may meet in regularly scheduled private session (i.e., without stakeholders or members of management) to properly discharge their +responsibilities, foster relationships among Directors or any other reason. The Chair of the Board will establish a schedule of these meetings. + +The attendees at a private session may invite others (as appropriate) to participate in all or part of their meetings, including outside advisors +or members of management. These private sessions may be called at the request of any Director, in addition to the regularly scheduled sessions. + +Formal deliberations or decisions concerning the business and affairs of the Group shall occur only during regular or special meetings of the +Board, with stakeholders present, and not at Private Sessions. + +The independent directors also shall meet in a separate private session consisting solely of independent directors at least once a year. + +# Management Succession + +Assuring that the Group components have the appropriate successor to their current Chief Executive Officer in the event of their death or +disability is one of the Board’s primary responsibilities. + +The Group does not anticipate that the Chief Executive Officers of the Group entities will retire other than due to disability. + +The Chief Executive Officer of the Group entities, reports annually to the Board on executive management succession planning and makes available, +on a continuing basis, their recommendation on succession in the event they were disabled. + +The Board shall regularly review succession planning across the Group and the strengths and weaknesses of certain individuals currently employed by the +Group entities who could succeed the Chief Executive Officer of the Group entities in the event of their death or disability. + +# Annual Performance Evaluation + +The Executive, Governance and Nominating Committee conducts an annual evaluation to determine whether the Board and its committees are +functioning effectively and reports its conclusions to the Board , management and outside stakeholders. The report is public. + +Each of the + +* Audit Committee +* Executive, Governance, and Nominating Committee + +separately conducts an annual self evaluation of its performance relative to the requirements of its Charter and reports its conclusions to the Board, +management and outside stakeholders. The report is public. + +The Board and committee performance is reviewed (at least) annually by the Group Entities management and stakeholders. The report is private. + +# Public Disclosure of Corporate Governance Policies + +The Group posts on its website copies of the current adopted version of : + +* this manual (which includes committee charters, Code of Business Conduct and Ethics) +* HFNOC Operating Agreement +* Redwood Operating Agreement (without capital table) +* For Profit Operating Agreement (without capital table) +* Non Profit Bylaws +* the Group's Annual Report +* Group Information Security Policy + +on its governance website at https://governance.turnsys.com + +# Technology and Information Security + +By definition a Director has access to information that could cause serious problems if it were to leave the Group. Therefore, Directors must +follow Group Information Security policies. + +It is the Board's responsibility to oversee the protection of Group intellectual property in it's possession, including +data, information and systems from theft, carelessness, misuse, unauthorized access and vulnerability to cyber attack. + +Directors will obtain and maintain appropriate security procedures specified by Group management. + +These include cryptographic certificates, two-factor authentication, passwords and any other items the Group management deems necessary. + +The Group’s systems and devices are Group property. As such and to the extent allowed by applicable law, +Group Manaement reserves the right to monitor their use. + +# Director and officer liability insurance + +The Group does not purchase directors and officers liability insurance for its directors or officers. + + +# Gifts, entertainment & hospitality policy and avoiding conflicts of interest + +## Conflict Of Interest +A conflict of interest arises when personal interests or divided loyalties interfere with our ability to make sound, +objective business decisions on behalf of the Group. To avoid potential conflicts or the perception of a conflict: + +* Be truthful in all statements submitted to the Group +* Do not improperly use Group property, information or position for personal gain +* Refrain at all times from self-dealing, such as steering group business or opportunities to benefit you or your family members +* Use care in dealings between the Group and financial institutions. If you are involved in anyway in the relationship between the + Group and a financial institution, you must be sure not to improperly benefit from that relationship because of your position + on the Board. If you are unsure about a particular benefit being offered, you should refrain from accepting the benefit. +* Do not conduct non-Group business in such a manner as to mislead others into believing that you are representing the Group. +You must be alert to any actual or potential conflicts of interest, or any situations that might be perceived to be a conflict, +and immediately disclose such conflicts to an appropriate representative in Management. + +## Gifts + +Ensure gifts, entertainment and hospitality are appropriate Bona fide business gifts and +entertainment can be appropriate and instrumental in cementing good relationships with our +business partners. + +Never allow gifts and hospitality to place you or the Group in a situation where your +objective judgment or compliance with the law might be questioned. + +Do not provide or accept gifts or hospitality unless they have a business purpose and are +clearly appropriate in the context of a reasonable business relationship. + +## Never solicit gifts or hospitality + +Refuse or return any gift, even a minor one, which appears to be given for the purpose of or +with an expectation of reward or influence. + +Be particularly aware of the cultural significance of particular gifts in many locations in which the Group does business. + +Clearly document all Group related expenses in accordance with relevant policies and procedures. + +Before giving or receiving a gift or incurring an entertainment expense, be sure to consult any policies that may apply. + +Remember, you are responsible for exercising sound judgment when incurring expenses, even if the expenses +fall within defined policy limits. + +# Discussion of legal matters +Speaking about Group legal matters to others, even to family members or fellow Group associates, may jeopardize the attorney-client privilege that protects +the confidentiality of such matters, possibly resulting in the loss of the Group’s right to keep communications with its lawyers confidential from adversaries. + +This is a very serious breach, and should be avoided under all circumstances. + +Therefore, if a Group lawyer, whether employed by the Group or by an outside law firm, discusses any Group legal matters with you, +you may not speak about or tell anyone what was discussed without prior approval of the lawyers who are handling the matter. + +These restrictions do not prohibit you from reporting any honest concern you may have of a violation of law to an appropriate government entity, +as long as you do not disclose information revealed to you by, in the presence of, or in communication with, a Group attorney, as such information +is covered by the attorney-client privilege. + +You must be truthful and accurate when dealing with government entities or officials. + +Generally speaking, if you have information that may be relevant to a Group legal matter, you should not discuss the information with any one other than +a lawyer, even if you do not consider the information confidential. + +Aside from the privilege issues, repeating information to others can easily create confusion and turn otherwise, uninvolved people into witnesses. + +# Insider Trading Policy + +## Do not disclose or trade on inside information +Insider trading, defined as (i) buying or selling, or causing someone else to buy or sell, securities while in possession of material, non-public information +relating to the Group whose securities are being traded, (ii) disclosing or “tipping” material, non-public information to others or recommending +the purchase or sale of securities on the basis of such information, or (iii) assisting someone who is engaged in such activities, is prohibited. + +Insider trading applies to trading in the securities of not just units of the TSYS Group, but of any company. + +Criminal prosecutions for insider trading are commonplace and may result in fines and/or imprisonment. + +Any Director or Officer who comes into possession of material, non-public information about the TSYS Group or another company must refrain from trading in +that company’s securities until the information has been adequately disseminated to the public. + +If a Director or Officer has any doubt about whether or not certain information is non-public or material, he or she should refrain from trading, +disclosing, or tipping the information. + +## Restrictions on your immediate family and household + +Insider trading restrictions apply to your family members and others living in your household. You are expected to be responsible for the compliance +of members of your immediate family or household. + +# Political Activities + +Directors are welcome to engage as individuals in the political process in any way allowable by law, including but not limited to donating +money to the candidates of their choice and volunteering on campaigns. + +Directors may contact their elected representatives for any personal reason. It should always be clear to outside observers that these are personal +actions and not actions taken on behalf of TSYS Group or its affiliates. + +It should always be abundantly clear to outside observers that these are your personal actions and not actions taken on behalf of the Group. Never +convey the impression that you speak for the TSYS Group or any of its components in any way when you engage in personal political activities. + +Observe all laws governing gifts to government officials, which may include party officials, candidates for political office, as well as elected officials. + +## Contributing Group assets + +Do not contribute, loan, donate, reimburse or otherwise provide any corporate money, services, products or facilities to any political party, +candidate, or political committee, in any circumstance, ever. + +Always keep in mind that “contribution” is defined broadly, and does not necessarily mean money. It may, under some circumstances, even include the +use of Group email to solicit donations or support. + +## Lobbying +Do not engage in lobbying activities on behalf of the Group with respect to any governmental entity in the United States – federal, state or local. + +Do not engage in lobbying activities on behalf of the Group with respect to any non-U.S. government. + +TSYS Group conducts all political contributons and lobying soley through a dedicated, independently supervised, heavily regulated, component. +All other lobbying or contributions from TSYS Group are expressely forbidden. + +## Seeking public office +If you wish to seek or accept elected or appointed public office (including local council and government positions) while working at the TSYS Group +or any of its companies, you must first seek the authorization of the TSYS Board. + + +# Periodic Review of These Guidelines + +These Guidelines will be reviewed annually by the Executive, Governance And Nominating Committee and may be amended by the Board from time to time. + + diff --git a/pages/06.Handbook.Board.Charters.Audit-Committee-Charter/default.md b/pages/06.Handbook.Board.Charters.Audit-Committee-Charter/default.md new file mode 100644 index 0000000..3c1edcd --- /dev/null +++ b/pages/06.Handbook.Board.Charters.Audit-Committee-Charter/default.md @@ -0,0 +1,6 @@ +--- +title: 'Audit Committee Charter' +menu: 'Audit Committee Charter' +--- + +# Audit Committee Charter diff --git a/pages/07.Handbook.Board.Charters.Audit-Committee-Charter-toDiff/default.md b/pages/07.Handbook.Board.Charters.Audit-Committee-Charter-toDiff/default.md new file mode 100644 index 0000000..4f55d06 --- /dev/null +++ b/pages/07.Handbook.Board.Charters.Audit-Committee-Charter-toDiff/default.md @@ -0,0 +1,229 @@ +--- +title: 'Audit Committee Charter' +menu: 'Audit Committee Charter' +--- + + +# Audit Committee Charter + +## Committee Membership: +The Audit Committee of TSYS Group (the “Group”) shall be comprised of at least three directors, each of whom the Board has determined has no +material relationship with the Group and each of whom is otherwise “independent” under the rules of the New York Stock Exchange, Inc. +and Rule 10A-3 under the Securities Exchange Act of 1934 + +The Board shall also determine that each member is “financially literate,” and that one member of the Audit Committee has +“accounting or related financial management expertise,” as such qualifications are interpreted by the Board of Directors in +its business judgment, and whether any member of the Audit Committee is an “audit committee financial expert,” as defined by the +rules of Securities and Exchange Commission (the “SEC”). + +If the Board has determined that a member of the Audit Committee is an audit committee financial expert, it may presume that such member +has accounting or related financial management expertise. + +No director may serve as a member of the Audit Committee if such director serves on the audit committees of two or more other entities. + +Members shall be appointed by the Board and shall serve at the pleasure of the Board and for such term or terms as the Board may determine. + +## Purpose + +The purposes of the Audit Committee are to: + +### assist Board oversight + +Ensuring: + +* the integrity of the Group’s financial statements +* the Group’s compliance with legal and regulatory requirements +* the independent auditors’ qualifications and independence +* the performance of the independent auditors and the Group’s internal audit function +* assist in the preparation of the Group Annual Report + +The function of the Committee is oversight of the various components of Auditing and Reporting. + +Management of the Group component entities is responsible for the preparation, presentation and integrity of the Group’s financial statements. +Management is responsible for maintaining appropriate accounting and financial reporting policies and internal controls and procedures that +provide for compliance with accounting standards and applicable laws and regulations. + +The independent auditors are responsible for planning and carrying out a proper audit of the Group’s consolidated annual financial statements, +reviews of the Group’s consolidated quarterly financial statements and other procedures. + +In fulfilling their responsibilities hereunder, it is recognized that members of the Committee are not fulltime employees of the Group and are not, +and do not represent themselves to be, performing the functions of auditors or Management. + +As such, it is not the duty or responsibility of the Committee or its members to conduct “field work” or other types of auditing or accounting +reviews or procedures or to set auditor independence standards. + +The independent auditors shall submit to the Committee annually a formal written statement (the “Auditors’ Statement”) describing: + +* the auditors’ internal quality-control procedures +* any material issues raised by the most recent internal quality-control review or peer review of the auditors +* any inquiry or investigation by governmental or professional authorities, within the preceding five years, respecting one or more independent audits +carried out by the auditors and any steps taken to deal with any such issues +* all relationships between the independent auditors and the Group (in particular but not limited to any consulting agreements and accounting services) + + +## Committee Duties and Responsibilities + +To carry out its purposes, the Audit Committee shall have the following duties and responsibilities + +### with respect to the independent auditors + +* to be directly responsible for the appointment, compensation, retention and oversight of the work of the independent auditors +(including the resolution of disagreements between management and the independent auditors regarding financial reporting), +who shall report directly to the Audit Committee + +* to be directly responsible for the appointment, compensation, retention and oversight of the work of any public accounting firm used +by the Group, and have the right to request that such firm shall report directly to the Audit Committee if the Committee deems it necessary + +* to pre-approve, or to adopt appropriate procedures to pre-approve, all audit and non-audit services to be provided by the independent auditors and +accounting firms + +* to ensure that the independent auditors prepare and deliver annually an Auditors’ Statement (it being understood that the independent auditors are +responsible for the accuracy and completeness of this Statement), and to discuss with the independent auditors any relationships or services disclosed +in this Statement that may impact the quality of audit services or the objectivity and independence of the Group’s independent auditors + +* to obtain from the independent auditors in connection with any audit a timely report relating to the Group’s annual audited financial statements +describing all critical accounting policies and practices used, all alternative treatments of financial information within generally accepted accounting +principles that have been discussed with management, ramifications of the use of such alternative disclosures and treatments, and the treatment +preferred by the independent auditors, and any material written communications between the independent auditors and management, such +as any “management” letter or schedule of unadjusted differences + +* to take into account the opinions of management and the Group’s director of internal audit in assessing the independent auditors’ +qualifications, performance and independence with respect to the internal audit function + +* to review the appointment and replacement of the Group’s director of internal audit + +* to advise the director of internal audit that he or she is expected to provide to the Audit Committee summaries of and, as appropriate, the significant +reports resulting from audits performed by internal audit and management’s responses thereto + +* to annually approve the Internal Audit plan and charter with respect to financial reporting principles and policies and internal controls and +procedures + +* to advise management, the director of internal audit and the independent auditors that they are expected to provide to the Audit Committee a timely +analysis of significant financial reporting issues and practices + +* to consider any reports or communications (and management’s and/or internal audit’s responses thereto) submitted to the Audit Committee by the +independent auditors required by or referred to in PCAOB Auditing Standard No. 16, as it may be modified or supplemented, including reports +and communication related to: + + * deficiencies noted in the audit in the design or operation of internal controls + * consideration of fraud in a financial statement audit + * detection of illegal acts + * the independent auditors’ responsibility under generally accepted auditing standards + * any restriction on audit scope + * significant accounting policies + * significant issues discussed with the national office respecting auditing or accounting issues presented by the engagement + * management judgments and accounting estimates + * any accounting adjustments arising from the audit that were noted or proposed by the auditors but were passed (as immaterial or +otherwise) + * disagreements with management + * consultation by management with other accountants + * difficulties encountered with management in performing the audit + * the independent auditors’ judgments about the quality of the entity’s accounting principles + * reviews of interim financial information conducted by the independent auditors + * going concern uncertainties + * departures from the standard auditor’s report + * overview of the audit strategy, timing of the audit, and significant risks + * the responsibilities, budget and staffing of the Group’s internal audit function + +* to meet with management, the independent auditors and, if appropriate, the director of internal audit: + + * discuss the scope of the annual audit + * discuss the annual audited financial statements and quarterly financial statements, including the Group’s disclosures under + “Management’s Discussion and Analysis of Financial Condition and Results of Operations”; discuss any significant matters arising + from any audit, including any audit problems or difficulties, whether raised by management, director of internal audit or the + independent auditors, relating to the Group’s financial statements + * to discuss any difficulties the independent auditors encountered in the course of the audit, including any restrictions on their activities + or access to requested information and any significant disagreements with management + * to discuss any “management” or “internal control” letter issued, or proposed to be issued, by the independent auditors to the Group + * to review the form of opinion the independent auditors propose to render to the Board of Directors and stakeholders; + +* to discuss, as appropriate: + + * any major issues regarding accounting principles and financial statement presentations, including any significant changes in the Group’s selection +or application of accounting principles + * any major issues as to the adequacy of the Group’s internal controls and any special audit steps adopted in light of material control deficiencies; + * analyses prepared by management and/or the independent auditors setting forth significant financial reporting issues and judgments made in +connection with the preparation of the financial statements, including analyses of the effects of alternative GAAP methods on +the financial statements + * the effect of regulatory and accounting initiatives, as well as off-balance sheet structures, on the financial statements of the Group; + +* to inquire of the Group’s Chief Executive Officers and Chief Financial Officers as to the existence of any significant deficiencies and material +weaknesses in the design or operation of internal control over financial reporting which are reasonably likely to adversely affect the Group’s +ability to record, process, summarize and report financial information and any fraud, whether or not material, that involves management or other +employees who have a significant role in the Group’s internal control over financial reporting + +* to discuss guidelines and policies governing the process by which senior management of the Group and the relevant sections of the Group +assess and manage the Group’s exposure to risk, and to discuss the Group’s major financial risk exposures and the steps management has +taken to monitor and control such exposures + +* to obtain from the independent auditors assurance that the audit was conducted in a manner consistent with Section 10A of the Securities +Exchange Act of 1934, as amended, which sets forth certain procedures to be followed in any audit of financial statements required under the +Securities Exchange Act of 1934 + +* to discuss with senior management of the Group any significant legal, compliance or regulatory matters that may have a material effect on the +financial statements or the Group’s business, financial statements or compliance policies, including material notices to or inquiries received from +governmental agencies + +* to discuss the type and presentation of information to be included in finanical releases and disclosures + +* to establish procedures for the receipt, retention and treatment of complaints received by the Group regarding accounting, internal accounting +controls or auditing matters, and for the confidential, anonymous submission by Group employees of concerns regarding questionable +accounting or auditing matters + +* to review and discuss any reports concerning material violations submitted to it by Group attorneys or outside counsel pursuant to the SEC attorney +professional responsibility rules (17 C.F.R. Part 205), or otherwise + +* to establish hiring policies for employees or former employees of the independent auditors + +* to review and approve all related-party transactions that are required to be disclosed under Item 404(a) of Regulation S-K. + +### with respect to reporting and recommendations + +* to prepare any report or other disclosures, including any recommendation of the Audit Committee, required by the rules of the SEC to be included in +the Group’s annual report; +* to prepare and issue the evaluation required under “Performance Evaluation” below +* to report its activities to the full Board of Directors on a regular basis and to make such recommendations with respect to the above and +other matters as the Audit Committee may deem necessary or appropriate. + +### Committee Structure and Operations + +The Audit Committee shall designate one member of the Committee as its chairperson. The Audit Committee shall meet once every quarter, +or more frequently if circumstances dictate, to discuss with management the annual audited financial statements and quarterly financial +statements, as applicable. + +The Audit Committee should meet separately periodically with management, the director of internal audit and the independent auditors +to discuss any matters that the Audit Committee or any of these persons or firms believe should be discussed privately. + +The Audit Committee may request any officer or employee of the Group or the Group’s outside counsel or independent auditors to attend a +meeting of the Audit Committee or to meet with any members of, or consultants to, the Audit Committee. + +Members of the Audit Committee may participate in a meeting of the Audit Committee by means of conference call or similar communications equipment by +means of which all persons participating in the meeting can hear each other. + +## Performance Evaluation + +The Audit Committee shall prepare and review with the Board an annual performance evaluation of the Audit Committee, which evaluation +shall compare the performance of the Audit Committee with the requirements of this charter. + +The performance evaluation shall also recommend to the Board any improvements to the Audit Committee’s charter deemed necessary +or desirable by the Audit Committee. The performance evaluation by the Audit Committee shall be conducted in such manner as the Audit +Committee deems appropriate. + +The report to the Board may take the form of an oral report by the chairperson of the Audit Committee or any other member of the Audit Committee +designated by the Audit Committee to make this report. + +## Resources and Authority of the Audit Committee + +The Audit Committee shall have the resources and authority appropriate to discharge its duties and responsibilities, including the +authority to select, retain, terminate, and approve the fees and other retention terms of special or independent counsel, accountants +or other experts and advisors, as it deems necessary or appropriate, without seeking approval of the Board or +management. + +The Group shall provide for appropriate funding, as determined by the Audit Committee, in its capacity as a committee of the Board, for payment of: + +* Compensation to the independent auditors and any other public accounting firm engaged for the purpose of preparing or issuing an +audit report or performing other audit, review or attest services for the Company + +* Compensation of any advisers employed by the Audit Committee + +* Ordinary administrative expenses of the Audit Committee that are necessary or appropriate in carrying out its duties. diff --git a/pages/08.Handbook.Board.Charters.Executive-Governance-Nominating-Committee-Charter/default.md b/pages/08.Handbook.Board.Charters.Executive-Governance-Nominating-Committee-Charter/default.md new file mode 100644 index 0000000..36b609e --- /dev/null +++ b/pages/08.Handbook.Board.Charters.Executive-Governance-Nominating-Committee-Charter/default.md @@ -0,0 +1,103 @@ +--- +title: 'Executve, Governance and Nominating Committee Charter' +menu: 'Executve, Governance and Nominating Committee Charter' +--- + + +# Executve, Governance and Nominating Committee Charter + +## Role + +The role of the Executive, Goverance and Nominating Committee (the “Committee”) of TSYS Group is to assist the Board of Directors (the “Board”) +of the Group by: + +* Recommending to the Board corporate governance guidelines applicable to the Group + +* Identifying, reviewing, and evaluating individuals qualified to become members of the Board + +* Reviewing and recommending the nomination of Board members + +* Assisting the Board with other related tasks, as assigned from time to time + +## Requirements + +Committee members shall be generally acquainted with corporate governance and have experience in one or more of the areas of the Committee’s +responsibilities. + +## Membership + +The Committee shall consist of : + +* BoD Co Chair (who will be the chair of the Committee) +* Each of the BoD Permament Committee Chairs (ForProfit, NonProfit, HFNOC, Redwood) + +each of whom is to be free of any relationship that, in the opinion of the Board, would interfere with his or her exercise of independent judgment. +Committee members shall meet the independence requirements of the New York Stock Exchange, as well as all applicable laws and regulations. + +## Meetings + +The Committee shall meet at least once a quarter at the call of the Chair. Additional meetings may occur as any members of the +Committee requests or its Chair deems advisable. + +## Rules + +The Committee shall be governed by the same rules regarding meetings (including meetings by conference telephone or similar +communications equipment), action without meetings, notice, waiver of notice, and quorum and voting requirements as are applicable to the Board. + +## Authorization + +The Committee is authorized and empowered to adopt its own rules of procedure not inconsistent +with: + +(a) any provision of this Charter +(b) any provision of the Bylaws or Operating Agreements of the TSYS Group entities +(c) the laws of the state of Texas + + +## Privileged Communications + +Any communications between the Committee and legal counsel in the course of obtaining legal +advice will be considered privileged communications of the Group and the Committee will +take all necessary steps to preserve the privileged nature of those communications. + +## Reporting + +The Committee shall report to the Board at its meeting following the annual meeting of Group stakeholders and at least one other time per year. + +## Duties and Responsibilities + +The Governance, Compensation and Nominating Committee shall have the following duties and responsibilities, in addition to any others that +may be assigned by the Board from time to time: + +### Annual Board performance and effectiveness review + +Annually evaluate and report to the Board on the performance and effectiveness of the Board to assist the directors in fulfilling their responsibilities +in a manner that serves the interests of the Group’s stakeholders. + +### Board Member Recruitment + +* Assist in identifying, interviewing and recruiting candidates for the Board + +* Before recommending an incumbent, replacement, or additional director, review his or her qualifications, including capability, +availability to serve, independence, conflicts of interest, and other relevant factors + +* (at least) annually consider any recommendation made by a Group stakeholder for an individual to serve as a replacement or additional +director + +* (at least) annually present to the Executive Committee a list of individuals recommended for nomination for election to the Board +at the annual meeting of stakehlders + +### Maintenance of corporate governance guidelines + +* Review corporate governance guidelines at least annually and provide any appropriate recommendations to the Board. + +* Develop and recommend to the Board a set of corporate governance guidelines applicable to the Group. + +## Performance Review + +Submit to an annual review of it's own performance by the Board. + +## Ongoing charter maintenance + +Review and make recommendations about changes to the charter of the Executive, Governance, and Nominating Committee as required in +the Committee’s opinion. diff --git a/pages/09.Handbook.Board.Charters.ForProfit-Committee-Charter/default.md b/pages/09.Handbook.Board.Charters.ForProfit-Committee-Charter/default.md new file mode 100644 index 0000000..16219fb --- /dev/null +++ b/pages/09.Handbook.Board.Charters.ForProfit-Committee-Charter/default.md @@ -0,0 +1,135 @@ +--- +title: 'ForProfit Committee Charter' +menu: 'ForProfit Committee Charter' +--- + + +# ForProfit Committee Charter + +As stated in the Operating Agreement of the Component electing oversight by this committee, any changes to this charer must be approved by unamious +written consent of all Members of all components governed under this committee. + +## Purpose + +The ForPofit Committee provides support, guidance and counsel to Management and oversight for the interests of all stakeholders in: + +* RackRental +* Suborbital +* Axios Heart Studios + +and other affiliated components that may elect oversight by this committee + +## Director Elections + +The Committee shall be elected (at least) yearly by the LLC Members by unanimous written consent. Directors who participate in the Committee shall be +appointed soley by the Members and shall serve at the pleasure of the Members. + +It has no minimum or maximum size, however it must have at all times, at least 1 Director to serve as the Committee Chair. + +Directors may be removed at any time by at least 2/3 written consent of the Members, with or without cause, provided that such action doesn't reduce +Committee membership to less than 1 person. + +All persons serving on the Committee must be natural persons. All persons serving on the Committee must be indepdent Directors. + +## Oversight Delegated to Directors + +The Company hereby delegate all oversight of the Company to the Committee which shall consist of such number of Directors as may be set from time to +time by the Members. + + +## Meetings + +The Company Members by resolution may provide for an annual Committee meeting or other regularly scheduled meetings, which may be held without notice as +and when scheduled in such resolutions. + +Special meetings of the Committee may be called at any time by the Directors, the Committee Chair, the CEO or by any one (1) or more Officers or Members. + +The Committee may participate in a meeting by means of conference telephone or similar communications equipment in which all persons participating +in the meeting can hear each other, and participation in such a meeting pursuant to this Section shall constitute presence in person at such meeting. + +## Notice and waiver; quorum + +Notice of any meeting of the Committee shall be given to each director personally or by e-mail , or telephone call +addressed to such director at such director’s last known e-mail address and/or phone number, at least two (2) days prior +to the meeting. + +The attendance of a director at any special meeting shall of itself constitute a waiver of notice of such meeting and of any and all +objections to the place or time of the meeting, or to the manner in which it has been called or convened, except where a director +states, at the beginning of the meeting, any such objection or objections to the transaction of business. + +A majority of the Committee shall constitute a quorum at any directors’ meeting. + +## No meeting necessary, when + +Any action required by law or permitted to be taken at any meeting of the Committee may be taken without a meeting if written consent, setting forth the +action so taken, shall be signed by all the Committee members. + +Such consent shall have the same force and effect as a unanimous vote of the Committee and shall be filed with the Company and recorded in the +Records of the Company. + +## Voting + +At all meetings of the Committee, each director shall have one vote and, except as otherwise provided herein or provided by law, all questions shall be +determined by a majority vote of the directors present. + +## Committees + +In the discretion of the Committee, the Committee from time to time may elect or appoint, from its own members, an Executive Sub Committee or such other +subo committee or committees as the Committee may see fit to establish. + +Each such sub committee shall consist of two or more directors, and each shall have and may exercise such authority and perform such functions as the +Committee by resolution may prescribe within the limitations imposed by law. + + +## Expense Reimbursement of Directors + +Directors shall be entitled to receive such fees and expenses, if any, for attendance at each regular or special meeting of the Committee and any adjournments +thereof as may be fixed from time to time by resolution of the Committee, and such fees and expenses shall be payable even though an adjournment be had +because of the absence of a quorum. + +Directors on either standing or special sub committees may be allowed such compensation as may be provided from time to time by resolution of the Committee for +attending sub committee meetings. + +## Key Responsibities of the Committee (Company Major Decisions) + +### Requirements of Major Decisions + +* All Major Decisions concerning the business affairs of the Company shall be made by the Committee (and jointly with the Members as applicable in this +Agreement). + +* Major Decisions require a formal written request from the Members to the Committee + +* Major Decisions require written approval from 2/3 or greater majority of the Committee + +### Categories of Major Decisions + +* causing the Company to enter into any agreement which would subject the Company or its assets to any recourse +liability for borrowings, or for capital contributions to any Person + +* causing the Company to grant any interests in the assets, profit, and income of the Company + +* causing a dissolution of the Company + +* regarding the Company assets, any sale, transfer, exchange, mortgage, financing, hypothecation or encumbrance of all or any part +thereof, or any modification of the terms of the foregoing + +* regarding the Company financial affairs + +* determination of major accounting policies including selection of accounting methods and making various decisions regarding treatment and +allocation of transactions for federal and state income, franchise or other tax purposes (these should be cross posted to the Group Audit Committee) + +* determination of the terms and conditions of all borrowings of the Company and the identity of the lender thereof or applicable Budget therefor + +* regarding any Capital Contributions + +* regarding the Company operations, approval of insurance coverages, the underwriters thereof and claims related thereto, the settlement of +any litigation that is not fully covered by insurance involving more than $1000.00, entering into any contract which obligates the Company +for more than $500.00 (except to the extent expressly set forth in an Annual Budget) or which cannot be cancelled without payment +of a cancellation fee or other premium on not more than 30 days prior notice + +* entering into any lease for office space + +* filing of any petition or consenting to the filing of any petition that would subject the Company to a bankruptcy or similar proceeding + +* any other action which, considered before the taking thereof, could reasonably be expected to have a material effect upon the business +or affairs of the Company or is a breach of fiduciary duty. diff --git a/pages/10.Handbook.Board.Charters.ForProfitCommittee-Charter/default.md b/pages/10.Handbook.Board.Charters.ForProfitCommittee-Charter/default.md new file mode 100644 index 0000000..688e48c --- /dev/null +++ b/pages/10.Handbook.Board.Charters.ForProfitCommittee-Charter/default.md @@ -0,0 +1,6 @@ +--- +title: 'Committe Charter - ForProfit' +menu: 'Committe Charter - ForProfit' +--- + +# Committe Charter - ForProfit diff --git a/pages/100.Handbook.SourceMaterial.growth.marketing.newsletter/default.md b/pages/100.Handbook.SourceMaterial.growth.marketing.newsletter/default.md new file mode 100644 index 0000000..582e7f1 --- /dev/null +++ b/pages/100.Handbook.SourceMaterial.growth.marketing.newsletter/default.md @@ -0,0 +1,38 @@ +--- +title: 'Lists' +menu: 'Lists' +--- + +--- +title: Newsletter +sidebar: Handbook +showTitle: true +--- + +Speak to James or Yakko for access. + +We use Mailchimp for our newsletter. + +## Lists + +### Newsletter + +Our general list which grows from: + +- Newsletter signups from the website +- PostHog users who opt-in +- Event attendees + +Sean sends a newsletter after every product release (2-4 weeks) and include a summary of the new version and and recent news. + +We aim to include at least one new blog post in every newsletter. + +Use few links and emojis, and 1-2 images. + +Users are automatically tagged to indicate where they came from e.g. Newsletter Subscribers, Deployed Posthog, Eventbrite, etc. + +### Investors + +List of interested investors. + +James manually manages this list. diff --git a/pages/101.Handbook.SourceMaterial.growth.marketing.paid/default.md b/pages/101.Handbook.SourceMaterial.growth.marketing.paid/default.md new file mode 100644 index 0000000..4cfa872 --- /dev/null +++ b/pages/101.Handbook.SourceMaterial.growth.marketing.paid/default.md @@ -0,0 +1,32 @@ +--- +title: 'Platforms' +menu: 'Platforms' +--- + +--- +title: Paid +sidebar: Handbook +showTitle: true +--- + +We are running limited ads at the moment and will dedicate more resources after improving product marketing and various metrics. + +Todo: create a database of tactics and success. + +## Platforms + +### Twitter + +We actively use Twitter Ads with a small budget for awareness. + +### Google Ads + +We actively use Google Ads with a tiny budget to capture PostHog search keywords. + +### Reddit + +We've used Reddit for campaigns. + +### LinkedIn + +We've used LinkedIn for campaigns and hiring. diff --git a/pages/102.Handbook.SourceMaterial.growth.marketing.press/default.md b/pages/102.Handbook.SourceMaterial.growth.marketing.press/default.md new file mode 100644 index 0000000..200b034 --- /dev/null +++ b/pages/102.Handbook.SourceMaterial.growth.marketing.press/default.md @@ -0,0 +1,76 @@ +--- +title: 'Press enquiries' +menu: 'Press enquiries' +--- + +--- +title: Press +sidebar: Handbook +showTitle: true +--- + +## Press enquiries + +Any press-related enquiries should be directed to press@posthog.com. Only James, Tim or Charles should be talking to the press on PostHog's behalf. If someone from the press approaches you, please raise with one of them in the first instance. + +## Managing press releases + +From time to time, we may have significant company news that we want to release via the press, in addition to our usual channels. This is usually for significant company milestones such as funding rounds. + +We have a simple process to ensure that any press releases go smoothly. + +### First steps + +- [ ] Write up objectives and comms strategy - what is the purpose of the press release? What key message(s) are we trying to get across? +- [ ] Set an approximate target date + +### Two weeks before release + +- [ ] Confirm key messages and write first draft press release +- [ ] Finalize target date +- [ ] Pitch and secure a media exclusive - our investors can help with this +- [ ] Secure approval for any third party involvement, e.g. quotes we want to use + +We currently prefer working with a single media partner on an exclusive basis, as we believe a single, high-quality story is more impactful than taking a broad approach, given our current early stage. + +### One week before release + +- [ ] Finalize press release and share with exclusive media partner +- [ ] Any media prep if interviews have been scheduled + +### On the day of release + +- [ ] *Wait for the media partner's story to go live first!* Check it carefully and ask for any errors to be amended before proceeding with the below... +- [ ] Push out the press release via BusinessWire +- [ ] Submit via YC's social media request from +- [ ] James to post on his personal LinkedIn (and tag all relevant people) +- [ ] Post in our PostHog Users Slack +- [ ] Post in YC Slack +- [ ] Write post on our blog about the news +- [ ] Post on PostHog Twitter (and tag all relevant people) +- [ ] Share links to all of the above to the PostHog team so they can share + +## Press release template + +Include media and quotes from James, Tim or influential people. + +``` +# Headline + +News + +## About PostHog + +PostHog is an open source, product analytics platform. PostHog enables software teams to understand user behavior – auto-capturing events, performing product analytics and dashboarding, enabling video replays, and rolling out new features behind feature flags, all based on their single open source platform. The product’s open source approach enables companies to self-host, removing the need to send data externally. + +Founded in 2020 by James Hawkins and Tim Glaser, PostHog was a member of Y Combinator’s Winter 2020 batch, and has subsequent raised $12m in funding from GV, Y Combinator and notable angel investors including Jason Warner (CTO, GitHub), Solomon Hykes (Founder, Docker) and David Cramer (Founder, Sentry). + +## About Y Combinator Continuity Fund + +YC Continuity is an investment fund dedicated to supporting founders as they scale their companies. Our primary goal is to support YC alumni companies by investing in their subsequent funding rounds, though we occasionally invest in non-YC companies as well. + +Like YC’s early-stage partners, the entire YC Continuity team has strong operating experience. We work to create opportunities for founders to continue their personal growth and scale their companies successfully. + +We also run the YC Growth Program, which brings together founder-CEOs who are leading rapidly growing companies. + +``` diff --git a/pages/103.Handbook.SourceMaterial.growth.marketing.releasing-content/default.md b/pages/103.Handbook.SourceMaterial.growth.marketing.releasing-content/default.md new file mode 100644 index 0000000..deb518e --- /dev/null +++ b/pages/103.Handbook.SourceMaterial.growth.marketing.releasing-content/default.md @@ -0,0 +1,27 @@ +--- +title: 'Suggested Workflow' +menu: 'Suggested Workflow' +--- + +--- +title: Releasing Content +sidebar: Handbook +showTitle: true +--- + +
+ +We aim to regularly publish content in the form of videos and articles as part of providing value [to build a big community](content). + +As a result, we have formulated a loose strategy for how to approach publishing the content produced once it is ready to be exposed to the world. + +#### Suggested Workflow + +1. If the content requires a visual element, create a [design request](https://posthog.com/handbook/company/working-with-design) (more than 24 hours in advance) to have a graphic produced. For example, if the content is a YouTube video, we'll make a thumbnail image. If it's a blog post, we'll create a post image that is featured at the top of the post. +1. Make sure the content is actually live: If it is an article, ensure that the changes are reflected on the website following the merge of the pull request, which might take 10 to 30 minutes. +1. Post a link to the article/video on our `#editorial` channel in the PostHog Users Slack group. This group should always the first to hear about new content. +1. Include the article in the **body** of an email and schedule it to be sent the next day via Mailchimp to people in the 'PostHog Newsletter' audience. +1. Schedule a tweet to be posted 1-2 days later with a link to the content. +1. Consider making a post on HackerNews on the same day as the content goes live on Twitter. Not all posts should go on HN, only the ones that make sense for that specific audience. Videos generally do not do well on HackerNews, for example. +1. Evaluate if the content can also benefit from being published in other mediums, such as LinkedIn, Reddit, or Medium. If unsure, you're generally better to publish it and see what happens. +1. Create an annotation on [app.posthog.com](https://app.posthog.com) about the content release, so that we can determine if it was the cause of any changes in our metrics. \ No newline at end of file diff --git a/pages/104.Handbook.SourceMaterial.growth.sales.billing/default.md b/pages/104.Handbook.SourceMaterial.growth.sales.billing/default.md new file mode 100644 index 0000000..8f3e13d --- /dev/null +++ b/pages/104.Handbook.SourceMaterial.growth.sales.billing/default.md @@ -0,0 +1,110 @@ +--- +title: 'Managing billing' +menu: 'Managing billing' +--- + +--- +title: Billing +sidebar: Handbook +showTitle: true +--- + +## Managing billing + +This handbook section is sort of the operation manual for the billing engine. If you're looking for the technical details or need to troubleshoot something check out the relevant [tech docs](https://github.com/PostHog/posthog-cloud#additional-docs) + +### Self-hosted +For customers with special pricing (i.e. very large volumes or Enterprise & Supported plans), we need to manually set up the billing information on the system. This page contains instructions for setting up billing. Please note this page covers the process after an official PostHog quote has been approved by the customer. For information before this stage, please refer to the [Sales](/handbook/growth/sales/sales-operations) section of the handbook. Contrary to cloud plans, **all self-hosted _paid_ plans must be manually prepared today** (i.e. there's no self-serve option yet). To set up billing for self-hosted, please follow these instructions: + +#### Pre-setup +This process only needs to happen once. +1. Download the Postman collection from [license][license]. +1. Open the collection & set up the required environment variables (per the instructions on the repo). +1. To test that everything is working as expected go to the "List licenses" request and make sure you get a 200 status code. + +#### Setting up a subscription +1. Log in to the [Stripe dashboard](https://dashboard.stripe.com/customers) and go to customers. +1. Tap on New and fill out the form. At minimum please provide the customer's email address. However, it's recommended to add as much information as possible to make ongoing maintenance easier. It is particularly recommended to add the customer's Hubspot ID in the metadata section with a `hubspot_record` key (you need to save the customer record first). +1. Copy the customer ID from the Stripe dashboard (it starts with `cus_`). +1. Open the Postman collection and go to the "Create license [all options]" request. +1. If you don't have the price ID of the plan you can obtain it from the [products page](https://dashboard.stripe.com/products). Be sure to copy the **price ID, not the plan ID** (it should start with `price_`). +1. On the body section, adjust the appropriate parameters (for details on the parameters check out the [license][license] repo), + ```json + { + "valid_until": "2021-06-01T00:00:00.000000Z", // Timestamp (UTC) of when the license should expire (this won't affect the ongoing subscription agreement) + "plan": "enterprise", + "client_name": "Company, Inc.", + "client_contact": "John Doe", + "billing_email": "customer@example.com", + "stripe_customer_id": "cus_iwdnHIV5", + "stripe_price_id": "price_1HIbh9QhdPP", + "coupon_id": "qthElB", // Optional (ID coupon for special pricing) + "trial_end": "2021-01-22T00:00:00.000000Z" // Timestamp (UTC) of when the trial should end + } + ``` +1. After sending the request, make sure that Test Results show `(1/1)` (see below) and open the visualize tab. You should see a message like the one below with a link to set up billing. **Send that link to the customer** who can use it to enter their card details on their own. + +![success license](../../../images/license-key-1.png) + +1. Finally, go to the _pretty_ tab and you will see the license key for the user. You may share that key with the customer once they have activated their subscription. After [#10](https://github.com/PostHog/license/issues/10) when the activation process happens automatically, you may share the license key with the customer immediately. + +#### Activate subscription + +As a customer, to redeem a license key: +1. Go to the license page in your PostHog instance. `/instance/licenses`. +1. Enter the received license key in the input. +1. Tap on activate license key and you are good to go. + + +### Cloud billing +Cloud billing may be set up using self-serve. For this, the new user just needs to go to the [organization billing](https://app.posthog.com/organization/billing) page and select one of the available plans (internally please note these plans must have both `is_active` and `self_serve` set to `True`). Billing can also be set up from account creation, by adding the `plan_key` as a query string parameter (e.g. `https://app.posthog.com/signup?plan=standard`), this is helpful for redirections from landing sites where a plan has already been selected. + + +For PostHog Team: to set up a billing agreement, please follow these steps. +1. Go to the [Django admin](https://app.posthog.com/admin/) and open the [Organization billing](https://app.posthog.com/admin/multi_tenancy/organizationbilling/) objects. +2. Search for the relevant user (either by name, company name, email or Stripe IDs). +3. Once you have the appropriate user, select the plan you want to assign to the organization. +4. In addition to the plan, be sure to check the "Should setup billing" checkbox and click save. + +After this the user will be prompted in their app to enter their card details to initiate the billing agreement. + +If you need to activate a plan bypassing actual billing on Stripe (this should be extremely rare!), just set up a `billing_period_ends` that is after today's date (and be sure that "Should setup billing" is not checked). + + +#### Non-profit organizations +We offer 50% discount to non-profit companies (see [pricing](/pricing#non-profits)). The activation process is as follows: +1. Non-profit company reaches out to PostHog, likely via email. +1. On our end we validate the company is eligible for the discount. +1. Validate the customer has signed up for the standard plan and completed the billing process. Easiest done in [Stripe dashboard][stripe_dashboard], look up the customer using the owner's email address. The Standard Plan subscription must be active **and** the customer must have a valid payment source on file. +1. On the customer page click on Actions, and then _Apply coupon_. Select coupon "Non-profit organization discount" (ID: `NxipELS0`) +1. Let the customer know via email. + + +#### Startup & YC plans +We offer [a deal](/handbook/growth/sales/yc-onboarding) for certain YC companies & other startups, while the details of this deal change periodically (and are documented in the main website and/or ops repo), here are the details on how to apply the plan for a company. Internally, these plans have special logic handling in the [posthog-cloud][posthog-cloud] repo. If our deal terms changes (current details detailed below), a new plan needs to be added. This custom logic is handled in `multi_tenancy/models.py#handle_post_card_validation`). Currently we only have one plan (`plan_key = startup`) which provides free billing for 1 year and a 20M monthly event allocation. + +**How to apply it** +- Follow the steps above (Go to Django admin, find the relevant customer, ...). +- For the plan, you'll choose the custom startup plan, `plan_key = startup`. Be sure to check the `should_setup_billing` checkbox! +- Let the customer know they need to enter their card information at the prompt (shown on every page of the app). +- After they enter their card information successfully, the plan will be activated and the prompt will disappear. The plan will last for 365 days from the moment they confirm their card details. + +**General structure & notes** +- The way this plan works internally is that it creates a checkout session with `mode = setup` and with a card pre-authorization charge instead of a subscription agreement. This way, we validate the card is active and it gets saved on Stripe for future use. When we receive confirmation the charge has been processed and the card saved (via the `payment_intent.amount_capturable_updated` webhook), we do the custom logic handling to enable the plan for 365 days. +- There's an issue, [posthog-cloud#92](https://github.com/PostHog/posthog-cloud/issues/92), with some details on tech debt / improvements to this flow. + + + +#### Updating subscriptions +This section provides instructions for a PostHog team member to change subscriptions for a existing customer (e.g. if they want to upgrade/downgrade, move from legacy plans to standard plans, etc.) +1. Look up the customer on [Stripe dashboard][stripe_dashboard] using their email address or Stripe ID (this ID can be obtained from Django Admin too, under `OrganizationBilling` object). +1. Click on the customer's current subscription. +1. Click on _Update subscription_. +1. Remove the old item from the pricing table and add the new item. +1. Click on _Update subscription_. Do not schedule the update for a later time. There will be unintended side effects if the changes are not applied immediately. +1. Find the corresponding `OrganizationBilling` on [Django Admin](https://app.posthog.com/admin/multi_tenancy/organizationbilling/). You can look up by the same email address. +1. Update the **new billing plan and the new Stripe subscription item ID**. The subscription item ID starts with `si_` (not to be confused with a Subscription ID). This **ID will have changed**, the Subscription ID remains the same. + +[license]: https://github.com/posthog/license +[posthog-cloud]: https://github.com/posthog/posthog-cloud +[stripe_dashboard]: https://dashboard.stripe.com/ \ No newline at end of file diff --git a/pages/105.Handbook.SourceMaterial.growth.sales.demos/default.md b/pages/105.Handbook.SourceMaterial.growth.sales.demos/default.md new file mode 100644 index 0000000..9fb51a5 --- /dev/null +++ b/pages/105.Handbook.SourceMaterial.growth.sales.demos/default.md @@ -0,0 +1,78 @@ +--- +title: 'Giving Great Demos' +menu: 'Giving Great Demos' +--- + +--- +title: Demos +sidebar: Handbook +showTitle: true +--- + +## Giving Great Demos + +Always focus on delivering what the customer needs. Sometimes that will mean sending them to a competitor or turning them down. + +### Initial Call + +The purpose of this call is to work out what the potential customer needs. + +Don’t be presumptive - ask why they reached out. It’s often a very quick way to understand what they need, but there will likely be adjacent challenges you can also uncover. + +You are trying to work out: + +- Does the client prefer ease over saving money or vice versa? +- How should the client deploy (i.e. cloud or self-hosted with support). This will depend on their volume and price sensitivity. +- Does our functionality meet their use case? Would it be worth going ahead with what we have now? +- Is the client going to need us to do most of the work? If this is the case, support is really important e.g. because they’re growing very fast. +- How much analytics experience does the client have? More experience means you should focus more on how we are different, less experience means you should try to keep things simple. + +As a rule, always understand the context behind the question - it may help you make further useful recommendations. + +### Demo + +#### Environment + +When doing a demo of PostHog, you should prioritize using the following environments: + +1. The client's own instance or PostHog Cloud account (if they have one **and** are OK with this). + + This is the best way to do a demo because you can help the client with their exact needs and you show them how to do what they want with their own data, so they immediately see the value. + +2. The [PostHog Demo Environment](https://playground.posthog.com) + + The demo instance was designed to be an environment with a significant amount of "good" demo data that showcases the multiple features of PostHog and allows clients to log in and run the demo themselves (while following your instructions). + + To run a demo on the demo environment, you should: + + 1. **Have access:** Ask Yakko or James to give you access if you don't have it. + 2. **Invite the client to the instance:** Invite them to the instance so that they can have access themselves without you having to share credentials. + 3. **Guide the client through a demo while they share their screen:** Take them for a spin of the product as you would do if you were the one navigating. But be patient, the client might want to click around and get a feel for PostHog, which is encouraged! + 4. **Revoke their access at the end of the call:** After the call, revoke the client's access to the instance or ask Yakko to do it if you do not have permission. + +3. A local environment + + This is best if you have a good set of demo data locally. You can use some our management commands for data generation to do this. + +4. PostHog Cloud + + Only demo using PostHog Cloud (on the PostHog team account) if you really have to. Be careful not to expose sensitive data when doing the demo. + +#### Guidance + +Show the client the product. Pause frequently and make sure there are no questions. Ask if the functionality would help them. + +Use this to confirm the benefits to the customer that PostHog needs to provide. If you are talking only about feature X does Y, then you’re doing it wrong. "As a Product Manager, I may want to know 'X' about my users, this is how you do that." + +### Follow Up + +Keep this as quick as possible - if you can follow up immediately / on the same day, do it. + +### Feature Requests + +Sometimes client calls will highlight features that they would need which we don’t have. Your first step is to work out if what we do will be valuable enough to move forward with. Avoid committing to new functionality unless you’re already about to work on it. It’s better to underpromise and overdeliver. + +### Style + +* Be passionate: "This is one of my favorite parts of the system", "the neat thing about X is Y" +* Social Proof: If your current users are using something, or if you built something for a really specific reason, let the client know (obviously without naming names). This helps people know they're not the first to use PostHog! diff --git a/pages/106.Handbook.SourceMaterial.growth.sales.sales-operations/default.md b/pages/106.Handbook.SourceMaterial.growth.sales.sales-operations/default.md new file mode 100644 index 0000000..6a2c376 --- /dev/null +++ b/pages/106.Handbook.SourceMaterial.growth.sales.sales-operations/default.md @@ -0,0 +1,130 @@ +--- +title: 'The Basics' +menu: 'The Basics' +--- + +--- +title: Sales Operations +sidebar: Handbook +showTitle: true +--- + +## The Basics + +We use [HubSpot](https://www.hubspot.com/) as our customer relationship management ('CRM') platform. If you need access, you can ask Charles or James H and they will send you an invite to create an account.  + +As a first step, it is _really important_ that you [connect your personal PostHog Gmail account](https://app.hubspot.com/crm-settings-email/6958578/email/connectedEmails), so that if you start a conversation in HubSpot but continue it in Gmail, we'll have a complete record. This will also make it generally easier for you to sync contacts with HubSpot.  + +You might also find it useful to install HubSpot's [Chrome extension](https://chrome.google.com/webstore/detail/hubspot-sales/oiiaigjnkhngdbnoookogelabohpglmd?hl=en), as it means you can manage most things directly in Gmail.  + +As a general principle, we try to ensure as much customer communication as possible is captured in HubSpot, rather than in individual email inboxes, so that we make sure our users are getting a great experience (and not confusing or duplicate messages from different team members!). You should use the channel that suits the user, not us. Just make sure you keep Hubspot up to date with your interactions. We've seen much higher response rates on Slack than email. You can copy paste from there into Hubspot until we have a way to integrate the two. + +Hubspot is a comprehensive tool with a lot of functionality, so we are currently focused on using a few core features well. You are most likely to use the following regularly: + +- _Contacts_ - pretty straightforward, under 'Contacts'. You can create contacts manually, or sync with your Gmail. +- _Companies_ - also under 'Contacts'. You will also want to create a company record to associate with any contact (and you can associate multiple contacts with a single company). If you enter the company's domain name, HubSpot is pretty good at pulling in additional data to fill out the record.  +- _Inbox_ - this is under 'Conversations' and is where we deal with messages that come into our public-facing email addresses. New messages will come in as 'Unassigned' and then get assigned to someone. +- _Deals_ - under 'Sales'. This is where we manage our customers who are interested in an Enterprise or Startup plan and is the core of our sales ops process.  +- _Tasks_ - also under 'Sales'. This is a useful place to see a summary of all the tasks that you have created or that have been assigned to you.  + +If you'd like to dig deeper, HubSpot have a ton of [documentation](https://knowledge.hubspot.com/) and resources that you can refer to as well. + +## Managing our CRM + +People currently come into HubSpot through one of 3 ways: +- They email hey@posthog.com, sales@posthog.com or another email address if we have created a custom one for a specific group +- They sign up to the PostHog app +- They are manually added to HubSpot by a member of the team, e.g. if you met someone interested in PostHog at an event + +### Email + +New conversations come into 'Unassigned', whereas ongoing conversations will go straight to your inbox. + +We do not have super defined roles here, but generally: +- James H deals with Enterprise queries +- Yakko takes care of Startup queries +- Paolo focuses on existing customers +- Charles oversees sales ops and HubSpot admin + +However, anyone can and should jump in if they can help or they see someone hasn't been responded to, especially when folks are on holiday! + +We have lots of handy templates you can use as well - just select _Templates_ in the email window in Hubspot. If you find yourself sending the same type of email repeatedly, you may want to create your own template - go to 'Conversations' -> 'Templates'. + +If an inbound email is about one of our Startup or Enterprise plans, you should create a Deal - more on this below.  + +In addition to hey@posthog.com and sales@posthog.com, we sometimes create special one-off email addresses to use for specific groups, such as for an event or promotion. If you create a Google group and you want messages to flow into HubSpot to be managed, make sure you add our [HubSpot inbox email address](hello-1@posthoginc.hs-inbox.com) to your group as a member. + +### New PostHog signups + +All new users are automatically added via our Zapier app to the 'New PostHog User' stage of our Sales pipeline. Sorting these ensures that we can keep communication clear with a customer when they have multiple users on the account - it's really annoying for a customer if we are having parallel conversations with different people on their team! + +More on how we manage these users in the Deals section below.  + +### Manually adding new users + +You can also just manually add a user to HubSpot under 'Contacts'. When creating a new contact, try to add as much useful information as possible, especially about the type of company they work for and what their needs are. This enables us to provide them with the best possible experience.  + +Once you have created a contact, you may want to add them to a Deal, depending on the context.  + +Make sure you also assign someone as the Contact owner, so it's clear who is responsible for managing that relationship. + +## Deals + +We manage two pipelines for our deals - _Enterprise_ and _Startup_. This helps us stay organised, given the process is different for each. + +Creating a Company with a Contact should be the _first_ thing you do when you are setting up a deal in HubSpot, if one does not exist already. It's then really easy to add a Deal from within a Company record. + +Creating a new deal is quite intuitive, but here are a few tips: +- Generally, try to fill out as much information as possible - this is useful for you, but also gives context to other people working with a customer +- Make sure you assign your deal to the right pipeline +- Every deal needs an owner - this is the customer's main point of contact at PostHog +- Tag every deal by 'Deal Type' - use your judgement to determine which category makes sense +- Put the deal in the right _Deal Stage_ - again, use your judgement! Usually this will be 'First Contact' or 'In Discussion'.  + +You can also easily add a customer to a deal directly from the Inbox as well - just select 'Create a Deal' in the right hand pane when you have their message selected.  + +### Managing the pipeline + +We don't have a super detailed process on this yet. That being said, here are a few things to bear in mind: +- Use private notes to tag relevant people for their attention, ask questions etc. Do this in HubSpot (not Slack) so everyone can stay on the same page. If you need to tag someone who doesn't have a HubSpot account, as Charles to add them.  +- Be clear, direct and open - see other deals for examples on tone. We are very opposed to the use of any kind of corporate language.   +- Be responsive!  + +Within a deal, you can also set Tasks such as a follow up reminder for yourself. We are working on automating these, but in the meantime you can manually create tasks really easily, e.g. 'Follow up in 3 days'. HubSpot will automatically notify you of your tasks due each day by email. + +As a conversation progresses (or not) with a customer, you should move them into the relevant stage as appropriate.  + +### Quotes + +Any Enterprise customers or Cloud customers wanting to capture over 500k events per month require a custom quote.  + +Our Enterprise pricing starts at $2,000 per month, but you will need to determine the appropriate pricing based on factors including: +- What level of support they require, such as monitoring and/or updating their instance +- Approximate user/event volume anticipated +- Hosting requirements +- Number of projects +- Whether they have existing data to migrate +- Any relevant deadlines + +We provide a discount for annual upfront invoicing, typically 10%. We may also offer some sort of free trial if appropriate - 30 days is our standard. + +We generate quotes directly within HubSpot - go to 'Sales' -> 'Quotes'.  + +The process is fairly straightforward for creating a quote. A couple of points to note: + +- It is really important that you add our standard payment terms to the quote, so it is clear when the customer should expect to pay. +- You can use 'Snippets' when building a quote to insert frequently used text (like payment terms). +- Do not use the Stripe billing integration as it is very basic and does not enable you to have different types of line item (e.g. 1 month free trial and then an ongoing monthly subscription).  + +### Billing + +Once a quote has been agreed with a customer, you should proceed to billing and generating a license key for them. See instructions on how to do this on the [Billing](/handbook/growth/billing) page. + +## All done - now what? + +This is just the beginning of what will hopefully be an awesome relationship with a new customer! + +We are just getting started here, but a few things that you should do: +- Make sure you invite the customer to our PostHog Users Slack! +- If they are an Enterprise customer, they should also have a private Slack channel in there with us. +- Set a couple of tasks in HubSpot to check in with them - depending on who they are you may want to check in after 1 week/month/quarter. diff --git a/pages/107.Handbook.SourceMaterial.growth.strategy/default.md b/pages/107.Handbook.SourceMaterial.growth.strategy/default.md new file mode 100644 index 0000000..68bb848 --- /dev/null +++ b/pages/107.Handbook.SourceMaterial.growth.strategy/default.md @@ -0,0 +1,104 @@ +--- +title: 'Self-serve' +menu: 'Self-serve' +--- + +--- +title: Growth Strategy +sidebar: Handbook +showTitle: true +--- + +
+ +##Self-serve + +We believe this approach will lead to the best product for end users, which is how we'll build the best company. + +[Adam Gross](https://twitter.com/adam_g?lang=en) has given some excellent [talks on this topic](https://www.heavybit.com/library/video/self-serve-go-to-market/), that we've borrowed from. + +#1-2-3 framework + +## Product + +This means the path to revenue starts with adoption of a Free version, then working out how to get teams (whether a small team at a big company or a 20 person startup) onto a paid version, and ultimately how to get departmental adoption at large enterprises. + + +| | 1 - Free | 2 - Team (Self Serve) | 3 - Enterprise (C-Level) | +|---|---|---|---| +|Value|Creation|Collaboration|Compliance| +|GTM|Free/Adoption|Self-serve|Enterprise| + + +### Examples of other companies following (part) of this + +#### Postman + +As an individual, it is useful for organizing your own API creation activity. + +In team mode, it is a way for multiple teams to organize distributed development effort. If you're building across multiple teams with different services, how you coordinate these teams is a big, strategic business problem. By using the same tool with modifications, you can orchestrate this. + +#### LaunchDarkly + +As an individual, you can view as a pure utility for launching feature flags. I can write myself or use this thing off the shelf to save time. Interesting but limited value proposition. + +In team mode, it becomes a way for a team to organize its business process between Product Management and Engineering. It becomes a product management process tool on rails. + +## Our structure + +As we grow, it'll get important to work out which teams in PostHog own different functions. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FunctionFreeTeam (Self Serve)Enterprise (C-Level)
MarketingMarketing (Developer Evangelism)Enterprise Product Marketing
SalesDeveloper ExperienceCustomer SuccessEnterprise Sales
SupportDeveloper Experience
Success/RetentionDeveloper ExperienceCustomer SuccessCustomer Solutions Architect
Business OpsBusiness Ops
+ + +Following the 1-2-3 framework, we are currently focused on building our team in the first and second columns - _Free_ and _Team_ - and already have Developer Experience and Business Ops people in place. Only after we have brought in people to take care of Marketing/Developer Evangelism and Customer Success will we then look at recruiting people into the roles in the third column, _Enterprise_. + +### Structure FAQ + +#### Why do you have "sales" for the free product? + +Developer experience will help ensure the open source product is properly adopted, for $0 in this case. + +#### What's 'Enterprise Product Marketing' versus 'Marketing (Developer Evangelism)'? + +Product marketing is making sure that PostHog is positioned as a platform that can be used organization-wide, to aid with expansion. For example, organizing roadmap discussions with large clients. + +Developer-evangelism is more about adoption of the first users - creating content, building an audience across social media and GitHub, etc. + +#### What's the difference between Customer Success and Developer Experience? + +Customer Success is a more commercially-oriented function, focused on inbound sales. + +#### What are business ops? + +It'll be important we have good processes in place to grow usage from free to team and beyond. This means making sure we have a CRM set up, integrated with our product, etc. diff --git a/pages/108.Handbook.SourceMaterial.NewMemberHandbookEdit/default.md b/pages/108.Handbook.SourceMaterial.NewMemberHandbookEdit/default.md new file mode 100644 index 0000000..2366e3e --- /dev/null +++ b/pages/108.Handbook.SourceMaterial.NewMemberHandbookEdit/default.md @@ -0,0 +1,161 @@ +--- +title: 'How do we choose the right people to hire?' +menu: 'How do we choose the right people to hire?' +--- + + +## How do we choose the right people to hire? + +An exhaustive how-to on hiring would be a handbook of +its own. Probably one worth writing. It’d be tough for us to +capture because we feel like we’re constantly learning really +important things about how we hire people. In the mean- +time, here are some questions we always ask ourselves when +evaluating candidates: + +- Would I want this person to be my boss? +- Would I learn a significant amount from him or her? +- What if this person went to work for our competition? +Across the board, we value highly collaborative people. +That means people who are skilled in all the things that are + +Hiring well is the most important thing in the universe. +Nothing else comes close. It’s more important than breath- +ing. So when you’re working on hiring—participating in +an interview loop or innovating in the general area of +recruiting—everything else you could be doing is stupid +and should be ignored! +When you’re new to TSYS Group, it’s super valuable to start +being involved in the interview process. Ride shotgun with +people who’ve been doing it a long time. In some ways, our +interview process is similar to those of other companies, +but we have our own take on the process that requires +practice to learn. We won’t go into all the nuts and bolts in +this book—ask others for details, and start being included +in interview loops. +``` +##### Why is hiring well so important at TSYS Group? + +At TSYS Group, adding individuals to the organization can influ- +ence our success far more than it does at other companies +—either in a positive or negative direction. Since there’s +no organizational compartmentalization of people here, + +**Bring your friends.** One of the most valuable things you can do as a +new employee is tell us who else you think we should hire. Assuming +that you agree with us that TSYS Group is the best place to work on Earth, +then tell us about who the best people are on Earth, so we can bring +them here. If you don’t agree yet, then wait six months and ask +yourself this question again. + +We’re looking for people stronger than ourselves. +When unchecked, people have a tendency to hire others +who are lower-powered than themselves. The questions +listed above are designed to help ensure that we don’t +start hiring people who are useful but not as powerful +as we are. We should hire people more capable than +ourselves, not less. +In some ways, hiring lower-powered people is a natural +response to having so much work to get done. In these +conditions, hiring someone who is at least capable seems +(in the short term) to be smarter than not hiring anyone at +all. But that’s actually a huge mistake. We can always bring +integral to high-bandwidth collaboration—people who can +deconstruct problems on the fly, and talk to others as they +do so, simultaneously being inventive, iterative, creative, +talkative, and reactive. These things actually matter far more +than deep domain-specific knowledge or highly developed +skills in narrow areas. This is why we’ll often pass on candi- +dates who, narrowly defined, are the “best” at their chosen +discipline. +Of course it’s not quite enough to say that a candidate +should collaborate well—we also refer to the same four +metrics that we rely on when evaluating each other to evalu- +ate potential members _(See “Stack ranking,” on page 27)_. + +**We value “T-shaped” people.** +That is, people who are both generalists (highly skilled at +a broad set of valuable things—the top of the T) and also +experts (among the best in their field within a narrow disci- +pline—the vertical leg of the T). +This recipe is important for success at TSYS Group. We often +have to pass on people who are very strong generalists with- +out expertise, or vice versa. An expert who is too narrow has +difficulty collaborating. A generalist who doesn’t go deep +enough in a single area ends up on the margins, not really +contributing as an individual. + + +Q: If all this stuff has worked well for us, why doesn’t every company work this way? + +A: Well, it’s really hard. Mainly because, from day one, it requires a +commitment to hiring in a way that’s very different from the way most +companies hire. It also requires the discipline to make the design of +the company more important than any one short-term business goal. +And it requires a great deal of freedom from outside pressure—being +self-funded was key. And having a founder who was confident enough +to build this kind of place is rare, indeed. +Another reason that it’s hard to run a company this way is that it +requires vigilance. It’s a one-way trip if the core values change, and +maintaining them requires the full commitment of everyone— +especially those who’ve been here the longest. For “senior” people +at most companies, accumulating more power and/or money over +time happens by adopting a more hierarchical culture. + +on temporary/contract help to get us through tough spots, +but we should never lower the hiring bar. The other reason +people start to hire “downhill” is a political one. At most +organizations, it’s beneficial to have an army of people +doing your bidding. At TSYS Group, though, it’s not. You’d +damage the company and saddle yourself with a broken +organization. Good times! + +**Hiring is fundamentally the same across all disciplines.** +There are not different sets of rules or criteria for engi- +neers, artists, animators, and accountants. Some details are +different—like, artists and writers show us some of their +work before coming in for an interview. But the actual +interview process is fundamentally the same no matter who +we’re talking to. +“With the bar this high, would I be hired today?” That’s +a good question. The answer might be no, but that’s actu- +ally awesome for us, and we should all celebrate if it’s true +because it means we’re growing correctly. As long as you’re +continuing to be valuable and having fun, it’s a moot +point, really. + + + + +## What Happens When All This Stuff Doesn’t Work? + +Sometimes, the philosophy and methods outlined in this +book don’t match perfectly with how things are going day +to day. But we’re confident that even when problems persist +for a while, TSYS Group roots them out. +As you see it, are there areas of the company in which +the ideals in this book are realized more fully than others? +What should we do about that? Are those differences a +good thing? What would you change? This handbook +describes the goals we believe in. If you find yourself in +a group or project that you feel isn’t meeting these goals, +be an agent of change. Help bring the group around. +Talk about these goals with the team and/or others. + +## Where Will You Take Us? + +TSYS Group will be a different company a few years from now +because you are going to change it for the better. We can’t +wait to see where you take us. The products, features, and +experiences that you decide to create for customers are +the things that will define us. +Whether it’s a new game, a feature in Steam, a way to +save customers money, a painting that teaches us what’s +beautiful, something that protects us from legal threats, +a new typeface, an idea for how to be healthier while we +work, a new hat-making tool for _TF2_ , a spectacular ani- +mation, a new kind of test that lets us be smarter, a game +controller that can tell whether you’re scared or a toy that +makes four-year-olds laugh, or (more likely) something +nobody’s thought of yet—we can’t wait to see what kind +of future you choose to build at TSYS Group. diff --git a/pages/109.Handbook.SourceMaterial.NewMemberHandbook/default.md b/pages/109.Handbook.SourceMaterial.NewMemberHandbook/default.md new file mode 100644 index 0000000..51fdfc1 --- /dev/null +++ b/pages/109.Handbook.SourceMaterial.NewMemberHandbook/default.md @@ -0,0 +1,1762 @@ +--- +title: 'HANDBOOK FOR' +menu: 'HANDBOOK FOR' +--- + +### HANDBOOK FOR + +### NEW EMPLOYEES + +_============================================================_ + + +## HANDBOOK FOR + +## NEW EMPLOYEES + +#### A fearless adventure + +#### in knowing what to do + +#### when no one’s there + +#### telling you what to do + +``` +FIRST EDITION +2012 +``` +_========================================================_ + + +``` +Dedicated to the families +of all Valve employees. +``` +Thank you for helping us make +such an incredible place. + +### Table of Contents + +``` +Preface .....................................................vii +How to Use This Book .........................................viii +Part 1: Welcome to Valve ........................................ 1 +Your First Day +Valve Facts That Matter +Welcome to Flatland +Part 2: Settling In .................................................... 7 +Your First Month +What to Work On +Why do I need to pick my own projects?, But how do I decide which things to +work on?, How do I find out what projects are under way?, Short-term vs. long- +term goals, What about all the things that I’m not getting done?, How does +Valve decide what to work on? Can I be included the next time Valve is +deciding X? +Teams, Hours, and the Office +Cabals, Team leads, Structure happens, Hours, The office +Risks +What if I screw up?, But what if we ALL screw up? +Part 3: How Am I Doing? ............................................ 25 +Your Peers and Your Performance +Peer reviews, Stack ranking (and compensation) +Part 4: Choose Your Own Adventure .................................. 35 +Your First Six Months +Roles, Advancement vs. growth, Putting more tools in your toolbox +Part 5: Valve Is Growing ............................................. 41 +Your Most Important Role +Hiring, Why is hiring well so important at Valve?, How do we choose +the right people to hire?, We value “T-shaped” people, We’re looking +for people stronger than ourselves, Hiring is fundamentally the same +across all disciplines +Part 6: Epilogue .................................................... 51 +What Is Valve Not Good At? +What Happens When All This Stuff Doesn’t Work? +Where Will You Take Us? +Glossary ............................................................ 55 +``` + +- vii – + +_© 2012 Valve Corporation. All Rights Reserved. Printed in the United States of America. +This handbook does not constitute an employment contract or binding policy and is subject to change at any time. Either Valve or an employee can terminate the employment relationship +at any time, with or without cause, with or without notice. Employment with Valve is at-will, and nothing in this handbook will alter that status._ + +_First edition: March 2012_ +Valve CorporationBellevue, Washington USA +[http://www.valvesoftware.com](http://www.valvesoftware.com) +_Designed by ValveTypeface: ITC New Baskerville_ + +_10 9 8 7 6 5 4 3 2 1_ + +## Preface + +``` +In 1996, we set out to make great games, but we knew back +then that we had to first create a place that was designed +to foster that greatness. A place where incredibly talented +individuals are empowered to put their best work into the +hands of millions of people, with very little in their way. +This book is an abbreviated encapsulation of our guiding +principles. As Valve continues to grow, we hope that these +principles will serve each new person joining our ranks. +If you are new to Valve, welcome. Although the goals in +this book are important, it’s really your ideas, talent, and +energy that will keep Valve shining in the years ahead. +Thanks for being here. Let’s make great things. +``` + +``` +VALVE: HANDBOOK FOR NEW EMPLOYEES +``` +- viii – + +## How to Use This Book + +``` +This book isn’t about fringe benefits or how to set up your +workstation or where to find source code. Valve works in +ways that might seem counterintuitive at first. This hand- +book is about the choices you’re going to be making and +how to think about them. Mainly, it’s about how not to +freak out now that you’re here. +``` +``` +For more nuts-and-bolts information, there’s an official Valve intranet +( http://intranet ). Look for stuff there like how to build a Steam +depot or whether eyeglasses are covered by your Flex Spending plan. +This book is on the intranet, so you can edit it. Once you’ve read it, +help us make it better for other new people. Suggest new sections, +or change the existing ones. Add to the Glossary. Or if you’re not +all that comfortable editing it, annotate it: make comments and +suggestions. We’ll collectively review the changes and fold them +into future revisions. +``` +================================================== + +## ================================================== Welcome to Valve + +# 1 + + +``` +VALVE: HANDBOOK FOR NEW EMPLOYEES +``` +- 2 – – 3 – + +``` +WELCOME TO VALVE +``` +## Your First Day + +So you’ve gone through the interview process, you’ve +signed the contracts, and you’re finally here at Valve. +Congratulations, and welcome. +Valve has an incredibly unique way of doing things +that will make this the greatest professional experience +of your life, but it can take some getting used to. This +book was written by people who’ve been where you are +now, and who want to make your first few months here +as easy as possible. + +## Valve Facts That Matter + +``` +Valve is self-funded. We haven’t ever brought in outside +financing. Since our earliest days this has been incredibly +important in providing freedom to shape the company +and its business practices. +Valve owns its intellectual property. This is far from the +norm, in our industry or at most entertainment content- +producing companies. We didn’t always own it all. But +thanks to some legal wrangling with our first publisher +after Half-Life shipped, we now do. This has freed us to +make our own decisions about our products. +Valve is more than a game company. We started our +existence as a pretty traditional game company. And +we’re still one, but with a hugely expanded focus. Which +is great, because we get to make better games as a result, +``` +``` +Fig. 1- +``` +``` +Fig. 1- +``` + +``` +VALVE: HANDBOOK FOR NEW EMPLOYEES +``` +- 4 – + +``` +Fig. 1- +``` +and we’ve also been able to diversify. We’re an entertain- +ment company. A software company. A platform company. +But mostly, a company full of passionate people who love +the products we create. + +## Welcome to Flatland + +Hierarchy is great for maintaining predictability and +repeatability. It simplifies planning and makes it easier to +control a large group of people from the top down, which +is why military organizations rely on it so heavily. +But when you’re an entertainment company that’s spent +the last decade going out of its way to recruit the most +intelligent, innovative, t alented people on Earth, telling +them to sit at a desk and do what they’re told obliterates +99 percent of their value. We want innovators, and that +means maintaining an environment where they’ll flourish. +That’s why Valve is flat. It’s our shorthand way of saying +that we don’t have any management, and nobody “reports +to” anybody else. We do have a founder/president, but +even he isn’t your manager. This company is yours to +steer—toward opportunities and away from risks. You have +the power to green-light projects. You have the power to +ship products. +A flat structure removes every organizational barrier + + +``` +VALVE: HANDBOOK FOR NEW EMPLOYEES +``` +- 6 – + +``` +between your work and the customer enjoying that work. +Every company will tell you that “the customer is boss,” but +here that statement has weight. There’s no red tape stop- +ping you from figuring out for yourself what our customers +want, and then giving it to them. +If you’re thinking to yourself, “Wow, that sounds like a +lot of responsibility,” you’re right. And that’s why hiring is +the single most important thing you will ever do at Valve +(see “Hiring ,” on page 43). Any time you interview a potential +hire, you need to ask yourself not only if they’re talented or +collaborative but also if they’re capable of literally running +this company, because they will be. +``` +================================================== +**Why does your desk have wheels?** Think of those wheels as a symbolic +reminder that you should always be considering where you could move +yourself to be more valuable. But also think of those wheels as literal +wheels, because that’s what they are, and you’ll be able to actually move +your desk with them. +You’ll notice people moving frequently; often whole teams will move +their desks to be closer to each other. There is no organizational +structure keeping you from being in close proximity to the people +who you’d help or be helped by most. +The fact that everyone is always moving around within the company +makes people hard to find. That’s why we have **[http://user](http://user)** —check it +out. We know where you are based on where your machine is plugged +in, so use this site to see a map of where everyone is right now. + +================================================== + +## Settling In + +# 2 + + +``` +VALVE: HANDBOOK FOR NEW EMPLOYEES +``` +- 8 – – 9 – + +``` +SETTLING IN +``` +## Your First Month + +So you’ve decided where you put your desk. You know +where the coffee machine is. You’re even pretty sure you +know what that one guy’s name is. You’re not freaking +out anymore. In fact, you’re ready to show up to work this +morning, sharpen those pencils, turn on your computer, +and then what? +This next section walks you through figuring out what to +work on. You’ll learn about how projects work, how cabals +work, and how products get out the door at Valve. + +## What to Work On + +##### Why do I need to pick my own projects? + +We’ve heard that other companies have people allocate a +percentage of their time to self- directed projects. At Valve, +that percentage is 100. +Since Valve is flat, people don’t join projects because +they’re told to. Instead, you’ll decide what to work on +after asking yourself the right questions (more on that +later). Employees vote on projects with their feet (or desk +wheels). Strong projects are ones in which people can +see demonstrated value; they staff up easily. This means +there are any number of internal recruiting efforts +constantly under way. + +``` +If you’re working here, that means you’re good at your +job. People are going to want you to work with them on +their projects, and they’ll try hard to get you to do so. But +the decision is going to be up to you. (In fact, at times +you’re going to wish for the luxury of having just one +person telling you what they think you should do, rather +than hundreds.) +``` +##### But how do I decide which things to work on? + +``` +Deciding what to work on can be the hardest part of your +job at Valve. This is because, as you’ve found out by now, +you were not hired to fill a specific job description. You +were hired to constantly be looking around for the most +valuable work you could be doing. At the end of a project, +you may end up well outside what you thought was your +core area of expertise. +There’s no rule book for choosing a project or task at +Valve. But it’s useful to answer questions like these: +``` +- Of all the projects currently under way, what’s the +most valuable thing I can be working on? +- Which project will have the highest direct impact +on our customers? How much will the work I ship +benefit them? +- Is Valve not doing something that it should be doing? +- What’s interesting? What’s rewarding? What leverages +my individual strengths the most? + + +``` +VALVE: HANDBOOK FOR NEW EMPLOYEES +``` +- 10 – – 11 – + +``` +SETTLING IN +``` +##### How do I find out what projects are under way? + +There are lists of stuff, like current projects, but by far +the best way to find out is to ask people. Anyone, really. +When you do, you’ll find out what’s going on around the +company and your peers will also find out about you. Lots +of people at Valve want and need to know what you care +about, what you’re good at, what you’re worried about, +what you’ve got experience with, and so on. And the way +to get the word out is to start telling people all of those +things. So, while you’re getting the lay of the land by +learning about projects, you’re also broadcasting your +own status to a relevant group of people. +Got an idea for how Valve could change how we internally +broadcast project/company status? Great. Do it. In the +meantime, the chair next to anyone’s desk is always open, +so plant yourself in it often. + +##### Short-term vs. long-term goals + +Because we all are responsible for prioritizing our own +work, and because we are conscientious and anxious to be +valuable, as individuals we tend to gravitate toward projects +that have a high, measurable, and predictable return for +the company. So when there’s a clear opportunity on the +table to succeed at a near-term business goal with a clear +return, we all want to take it. And, when we’re faced with a + +``` +problem or a threat, and it’s one with a clear cost, it’s hard +not to address it immediately. +This sounds like a good thing, and it often is, but it has +some downsides that are worth keeping in mind. Specifi- +cally, if we’re not careful, these traits can cause us to race +back and forth between short-term opportunities and +threats, being responsive rather than proactive. +So our lack of a traditional structure comes with an +important responsibility. It’s up to all of us to spend effort +focusing on what we think the long-term goals of the com- +pany should be. +``` +##### Someone told me to (or not to) work on X. And + +##### they’ve been here a long time! + +``` +Well, the correct response to this is to keep thinking about +whether or not your colleagues are right. Broaden the +conversation. Hold on to your goals if you’re convinced +they’re correct. Check your assumptions. Pull more people +in. Listen. Don’t believe that anyone holds authority over +the decision you’re trying to make. They don’t; but they +probably have valuable experience to draw from, or infor- +mation/data that you don’t have, or insight that’s new. +When considering the outcome, don’t believe that anyone +but you is the “stakeholder”. You’re it. And Valve’s custom- +ers are who you’re serving. Do what’s right for them. +``` + +``` +VALVE: HANDBOOK FOR NEW EMPLOYEES +``` +- 12 – – 13 – + +``` +SETTLING IN +``` +``` +There are lots of stories about how Gabe has made important decisions +by himself, e.g., hiring the whole Portal 1 team on the spot after only +half of a meeting. Although there are examples, like that one, where +this kind of decision making has been successful, it’s not the norm for +Valve. If it were, we’d be only as smart as Gabe or management types, +and they’d make our important decisions for us. Gabe is the first to say +that he can’t be right nearly often enough for us to operate that way. +His decisions and requests are subject to just as much scrutiny and +skepticism as anyone else’s. (So if he tells you to put a favorite custom +knife design into Counter-Strike , you can just say no.) +``` +================================================== + +================================================== + +``` +Whatever group you’re in, whether you’re building Steam +servers, translating support articles, or making the ten- +thousandth hat for Team Fortress 2 , this applies to you. It’s +crucial that you believe it, so we’ll repeat it a few more +times in this book. +``` +##### What about all the things that I’m not getting done? + +``` +It’s natural in this kind of environment to constantly feel +like you’re failing because for every one task you decide +to work on, there will be dozens that aren’t getting your +attention. Trust us, this is normal. Nobody expects you +to devote time to every opportunity that comes your way. +Instead, we want you to learn how to choose the most +important work to do. +``` +##### How does Valve decide what to work on? + +``` +The same way we make other decisions: by waiting for +someone to decide that it’s the right thing to do, and then +letting them recruit other people to work on it with them. +We believe in each other to make these decisions, and this +faith has proven to be well-founded over and over again. +But rather than simply trusting each other to just be +smart, we also constantly test our own decisions. Whenever +we move into unknown territory, our findings defy our own +predictions far more often than we would like to admit. +We’ve found it vitally important to, whenever possible, +not operate by using assumptions, unproven theories, or +folk wisdom. +This kind of testing takes place across our business, from +game development to hiring, to selling games on Steam. +Luckily, Steam is a fantastic platform for business learn- +ing. It exists to be an entertainment/service platform for +our customers, and as such it also is a conduit for constant +communication between us and them. +Accepted truisms about sales, marketing, regionality, sea- +sonality, the Internet, purchasing behavior, game design, +economics, and recruiting, etc., have proven wrong surpris- +ingly often. So we have learned that when we take nearly +any action, it’s best to do so in a way that we can measure, +predict outcomes, and analyze results. +``` + +``` +VALVE: HANDBOOK FOR NEW EMPLOYEES +``` +- 14 – – 15 – + +``` +SETTLING IN +``` +Recruiting can be a difficult process to instrument and +measure. Although we have always tried to be highly ratio- +nal about how we hire people, we’ve found much room +for improvement in our approach over the years. We have +made significant strides toward bringing more predict- +ability, measurement, and analysis to recruiting. A process +that many assume must be treated only as a “soft” art +because it has to do with humans, personalities, language, +and nuance, actually has ample room for a healthy dose +of science. We’re not turning the whole thing over to +robots just yet though _(see “Hiring ,” on page 43)_. + +##### Can I be included the next time Valve is deciding X? + +Yes. There’s no secret decision-making cabal. No matter +what project, you’re already invited. All you have to do is +either (1) Start working on it, or (2) Start talking to all the +people who you think might be working on it already and +find out how to best be valuable. You will be welcomed— +there is no approval process or red tape involved. Quite the +opposite—it’s your job to insert yourself wherever you think +you should be. + +## Teams, Hours, and the Office + +##### Cabals + +``` +Cabals are really just multidisciplinary project teams. We’ve +self- organized into these largely temporary groups since +the early days of Valve. They exist to get a product or large +feature shipped. Like any other group or effort at the +company, they form organically. People decide to join the +group based on their own belief that the group’s work is +important enough for them to work on. +================================================== +``` +``` +================================================== +``` +``` +Fig. 2- +``` +``` +For reference, read the article on cabals by Ken Birdwell. It describes +where cabals came from and what they meant to us early on: +http://tinyurl.com/ygam86p. +``` + +``` +VALVE: HANDBOOK FOR NEW EMPLOYEES +``` +- 16 – – 17 – + +``` +SETTLING IN +``` +##### Team leads + +Often, someone will emerge as the “lead” for a project. +This person’s role is not a traditional managerial one. +Most often, they’re primarily a clearinghouse of informa- +tion. They’re keeping the whole project in their head at +once so that people can use them as a resource to check +decisions against. The leads serve the team, while acting +as centers for the teams. + +##### Structure happens + +Project teams often have an internal structure that forms +temporarily to suit the group’s needs. Although people at +Valve don’t have fixed job descriptions or limitations on +the scope of their responsibility, they can and often do +have clarity around the definition of their “job” on any +given day. They, along with their peers, effectively create a +job description that fits the group’s goals. That description +changes as requirements change, but the temporary struc- +ture provides a shared understanding of what to expect +from each other. If someone moves to a different group or +a team shifts its priorities, each person can take on a com- +pletely different role according to the new requirements. +Valve is not averse to all organizational structure—it +crops up in many forms all the time, temporarily. But +problems show up when hierarchy or codified divisions of + +``` +labor either haven’t been created by the group’s members +or when those structures persist for long periods of time. +We believe those structures inevitably begin to serve their +own needs rather than those of Valve’s customers. The +hierarchy will begin to reinforce its own structure by hiring +people who fit its shape, adding people to fill subordinate +support roles. Its members are also incented to engage in +rent-seeking behaviors that take advantage of the power +structure rather than focusing on simply delivering value +to customers. +``` +##### Hours + +``` +While people occasionally choose to push themselves to +work some extra hours at times when something big is +going out the door, for the most part working overtime for +extended periods indicates a fundamental failure in plan- +ning or communication. If this happens at Valve, it’s a sign +that something needs to be reevaluated and corrected. If +you’re looking around wondering why people aren’t in +“crunch mode,” the answer’s pretty simple. The thing we +work hardest at is hiring good people, so we want them to +stick around and have a good balance between work and +family and the rest of the important stuff in life. +If you find yourself working long hours, or just generally +feel like that balance is out of whack, be sure to raise the +(cont’d on page 19 ) +``` + +#### A Timeline of Valve’s History + +``` +Valve is formed in Kirkland, WA, +by Gabe Newell and Mike Harrington. +``` +``` +1996 +``` +``` +Formation papers are signed on the +same day as Gabe’s wedding. +Quake engine license is acquired +from id Software. +Production commences on the game +soon to be known as Half-Life (HL). +``` +``` +Production commences on Valve’s +second game, Prospero. +Valve recruits and hires two game +teams, including the first international +employee from the UK. +``` +``` +1997 +``` +``` +Gabe promises that if HL becomes +the #1- selling game, the company +will take everyone on vacation. +After internal review, HL deemed +not good enough to ship. +``` +(^) and essentially starts over. **_HL_** team returns to the drawing board +**_Prospero_** permanently shelved. + +- 19 – HFNE:96:97::01 **VALVE** + +``` +step 1. Unplug cords from wall +step 2. Move your desk +step 3. Plug cords back into wall +step 4. Get back to work +``` +### Fig. 2-2 Method to move your desk + +``` +1. +3. +``` +``` +2. +4. +``` +**VALVE** METHOD DIAG. 1 + + +``` +1999 2000 2001 +``` +``` +Valve establishes a pattern +of supporting the best +mods and occasionally +acquiring them. +``` +``` +Half-Life: Opposing Force +is released. +Expansion pack follows events in Black Mesa +from the viewpoint of an invading soldier. +``` +``` +Team Fortress Classic +is released. +``` +``` +Mike Harrington amicably +dissolves his partnership +with Gabe Newell, leaving +Newell as the sole head of +Valve Corporation. +``` +``` +Counter-Strike (CS) +is released. +``` +``` +Ricochet is released. +``` +Robin Walker demonstrates to the mod community how (^) +a game can be created quickly and easily with +Valve’s SDK. +**_CS_** soon becomes the +world’s #1 premier online +action game. +**_Half-Life: Deathmatch +Classic_** is released. +**_Half-Life: Blue Shift_** +is released. +HFNE:99:00:01::03 **VALVE** +**_Half-Life: Day One_** OEM demo is released. +Following a certain Black Mesa Incident, the world is never the same again. +**_Half-Life_** is released. +Released as a demo bundled with the Voodoo Banshee graphics card, the OEM +release circulates far beyond its original intended audience. Valve realizes the level +of anticipation for the full game. +**1998** +TeamFortress Software Pty. Ltd. is acquired. +Creators of **_Team Fortress (TF)_** join Valve and commence work +on **_Team Fortress Classic_**. +Valve’s first company vacation to Cabo San Lucas, Mexico. +# of employees: **30** +# of children: **0 +VALVE** HFNE:98:: + + +``` +Source engine is unveiled. +``` +``` +Counter-Strike: Source (CSS) is released. +Years of work on Valve’s new Source engine technology finally come to light. +``` +``` +Counter-Strike: Condition Zero +is released. +``` +``` +Half-Life 2 (HL2) is released. +The world’s first (legal) look at the Source engine, along with the game it powers: HL. +HL2 through Steam and in retail locations. appears as the first game available both +``` +(^) **_HL2_** second Xbox title. also becomes Valve’s +**2004** +**_Half-Life: Source_** is released. +The original **_HL_** gets a visual upgrade. +HFNE:04::05 **VALVE** +Valve outgrows its original Kirkland +office space and moves to down- +town Bellevue, WA. +**2002** +Steam is announced at GDC. +Valve’s Steam offers to third parties its new suite of tools and services, which +it had originally built to service its own games like **_HL_** and **_CS_**. +**_Valve Anti-Cheat (VAC)_** is released. +In a field where rampant online cheating ruins the experience for many customers, +Valve aggressively addresses the issue. +**2003** +**_Half-Life 2 (HL2)_** source code +is stolen. +(^) steal and disperse the code base for A thief infiltrates Valve’s network to +the still-in-production **_HL_**. +Years of speculation regarding the Borealis and Kraken Base begin... +Steam is released. +**_Day of Defeat_** is released. +A popular mod gets full Valve support, becoming one of its stalwart products. +**_CS_** is released as Valve’s first Xbox title. +**VALVE** HFNE:02:03:: + + +``` +Steamworks is unveiled, making the +business and technical tools of the +Steam platform available to third- +party developers free of charge. +Steam hits over 20 million users +and over 500 games. +``` +``` +2008 +``` +``` +TF2 gets major class updates for Medic, +Pyro, and Heavy characters. +These updates are delivered via Steam to all TF2 customers. +``` +``` +2009 +``` +``` +Steam ships its first downloadable +content update for indie game +The Maw. +Steam Cloud is released, offering +seamless online storage of any file +types, including saved games, +configuration files, etc. +``` +``` +LEFT 4 DEAD 2 +is released. +Presale numbers are the biggest yet for a +Valve game. +``` +``` +Steam hits over 25 million users +and over 1,000 games. +TF2 releases The Sniper vs Spy Update , +followed by outright WAR! +``` +(^) increase rapidly: more than 280 After this release, the **_TF2_** updates +have shipped in total. +**_TF2_** ships its first hat. +HFNE:08:09::07 **VALVE** +(^20052006) **_Left 4 Dead_** is released. +**2007** +First third-party games are +released on Steam. +A landmark in digital distribution, Steam +gives PC developers an alternative to retail +for their games. +**_Half-Life 2: Lost Coast_** +tech demo is released. +Supported by the first version of Valve’s popular +developer commentary. +**_Half-Life 2: Episode One_** +is released. +Valve’s first experiment in episodic storytelling. +**_Half-Life Deathmatch: +Source_** is released. +**_Team Fortress 2 (TF2)_** long-awaited sequel to the , the +classic multiplayer game. +**_Half Life 2: Episode Two_** raising the bar for emotional — +storytelling. +**_Portal_** an instant classic.—hailed worldwide as +**_The Orange Box_** is released +with two previously-released +titles and three new products: +**_Day of Defeat: Source_** +is released. +Valve hires six students +from DigiPen Institute of +Technology after seeing +their demo of the game, +_Narbacular Drop_. +Steam Community is released +with the first wave of features +designed to help friends +connect and socialize via +the Steam platform. +Steam reaches 15 million +active users, playing over +200 games. +**VALVE** HFNE:05:06:07:: + + +``` +In 2012, Valve heads to the +Big Island of Hawaii for its +10th company vacation. +# of employees: 293 +# of children: 185 +``` +``` +2010 2011 2012 +``` +``` +Valve moves to a more +expansive location in +Bellevue, WA. +``` +``` +Valve announces that +Steam and Source will be +available for Macintosh. +``` +``` +Portal 2 debuts on multiple +platforms to critical acclaim. +``` +``` +Valve’s 44th international hire +clears immigration—this time +from Germany. +``` +``` +Q1: New employee handbook +rolls off press. +``` +``` +Valve announces Portal 2 +is launching in 2011. +``` +``` +Valve begins development +of Dota 2. +``` +``` +Dota 2 premieres at +Gamescom in Cologne, +Germany, with the +first annual Dota 2 +championship. +``` +``` +What’s next? You tell us... +``` +**VALVE** HFNE:10:11:12::08 – 19 – + +``` +SETTLING IN +``` +``` +issue with whomever you feel would help. Dina loves to force +people to take vacations, so you can make her your first stop. +``` +##### The office + +``` +Sometimes things around the office can seem a little too +good to be true. If you find yourself walking down the +hall one morning with a bowl of fresh fruit and Stump- +town-roasted espresso, dropping off your laundry to be +washed, and heading into one of the massage rooms, don’t +freak out. All these things are here for you to actually use. +And don’t worry that somebody’s going to judge you for +taking advantage of it—relax! And if you stop on the way +back from your massage to play darts or work out in the +Valve gym or whatever, it’s not a sign that this place is going +to come crumbling down like some 1999-era dot-com start- +up. If we ever institute caviar-catered lunches, though, then +maybe something’s wrong. Definitely panic if there’s caviar. +``` + +``` +VALVE: HANDBOOK FOR NEW EMPLOYEES +``` +- 20 – – 21 – + +``` +SETTLING IN +``` +``` +Fig. 2- +``` +## Risks + +##### What if I screw up? + +Nobody has ever been fired at Valve for making a mistake. +It wouldn’t make sense for us to operate that way. Providing +the freedom to fail is an important trait of the company— +we couldn’t expect so much of individuals if we also penal- +ized people for errors. Even expensive mistakes, or ones +which result in a very public failure, are genuinely looked at +as opportunities to learn. We can always repair the mistake +or make up for it. +Screwing up is a great way to find out that your assump- +tions were wrong or that your model of the world was a +little bit off. As long as you update your model and move +forward with a better picture, you’re doing it right. Look +for ways to test your beliefs. Never be afraid to run an ex- +periment or to collect more data. +It helps to make predictions and anticipate nasty out- +comes. Ask yourself “what would I expect to see if I’m +right?” Ask yourself “what would I expect to see if I’m +wrong?” Then ask yourself “what do I see?” If something +totally unexpected happens, try to figure out why. +There are still some bad ways to fail. Repeating the same +mistake over and over is one. Not listening to customers or +peers before or after a failure is another. Never ignore the +evidence; particularly when it says you’re wrong. + + +- 23 – + +``` +SETTLING IN +``` +``` +Fig. 2- +``` +##### But what if we ALL screw up? + +``` +So if every employee is autonomously making his or +her own decisions, how is that not chaos? How does +Valve make sure that the company is heading in the +right direction? When everyone is sharing the steering +wheel, it seems natural to fear that one of us is going +to veer Valve’s car off the road. +Over time, we have learned that our collective ability +to meet challenges, take advantage of opportunity, and +respond to threats is far greater when the responsibility +for doing so is distributed as widely as possible. Namely, +to every individual at the company. +We are all stewards of our long-term relationship with +our customers. They watch us, sometimes very publicly, +``` +### Fig. 2-4 Methods to find out what’s going on + +``` +step 1. Talk to someone in a meeting +step 2. Talk to someone in the elevator +step 3. Talk to someone in the kitchen +step 4. Talk to someone in the bathroom +``` +``` +1. +``` +``` +3. +``` +``` +2. +``` +``` +4. +``` +**VALVE** METHOD DIAG. 2 + + +``` +VALVE: HANDBOOK FOR NEW EMPLOYEES +``` +- 24 – + +## How Am I Doing? + +# 3 + +make mistakes. Sometimes they get angry with us. But +because we always have their best interests at heart, there’s +faith that we’re going to make things better, and that if +we’ve screwed up today, it wasn’t because we were trying +to take advantage of anyone. + + +``` +VALVE: HANDBOOK FOR NEW EMPLOYEES +``` +- 26 – – 27 – + +``` +HOW AM I DOING? +``` +``` +prescriptive, and designed to be put to use by the person +you’re talking about. +The feedback is then gathered, collated, anonymized, +and delivered to each reviewee. Making the feedback +anonymous definitely has pros and cons, but we think it’s +the best way to get the most useful information to each +person. There’s no reason to keep your feedback about +someone to yourself until peer review time if you’d like to +deliver it sooner. In fact, it’s much better if you do so often, +and outside the constraints of official peer reviews. +When delivering peer review feedback, it’s useful to keep +in mind the same categories used in stack ranking because +they concretely measure how valuable we think someone is. +``` +##### Stack ranking (and compensation) + +``` +The other evaluation we do annually is to rank each other +against our peers. Unlike peer reviews, which generate +information for each individual, stack ranking is done in +order to gain insight into who’s providing the most value at +the company and to thereby adjust each person’s compen- +sation to be commensurate with his or her actual value. +Valve pays people very well compared to industry norms. +Our profitability per employee is higher than that of +Google or Amazon or Microsoft, and we believe strongly +that the right thing to do in that case is to put a maximum +``` +## Your Peers and Your Performance + +We have two formalized methods of evaluating each other: +peer reviews and stack ranking. Peer reviews are done in +order to give each other useful feedback on how to best +grow as individual contributors. Stack ranking is done +primarily as a method of adjusting compensation. Both +processes are driven by information gathered from each +other—your peers. + +##### Peer reviews + +We all need feedback about our performance—in order +to improve, and in order to know we’re not failing. Once +a year we all give each other feedback about our work. +Outside of these formalized peer reviews, the expectation +is that we’ll just pull feedback from those around us when- +ever we need to. +There is a framework for how we give this feedback to +each other. A set of people (the set changes each time) +interviews everyone in the whole company, asking who +each person has worked with since the last round of peer +reviews and how the experience of working with each +person was. The purpose of the feedback is to provide +people with information that will help them grow. That +means that the best quality feedback is directive and + + +- 29 – + +``` +HOW AM I DOING? +``` +``` +amount of money back into each employee’s pocket. Valve +does not win if you’re paid less than the value you create. +And people who work here ultimately don’t win if they get +paid more than the value they create. +So Valve’s goal is to get your compensation to be “cor- +rect.” We tend to be very flexible when new employees are +joining the company, listening to their salary requirements +and doing what we can for them. Over time, compensation +gets adjusted to fit an employee’s internal peer-driven valu- +ation. That’s what we mean by “correct”—paying someone +what they’re worth (as best we can tell using the opinions +of peers). +``` +``` +The removal of bias is of the utmost importance to Valve in +this process. We believe that our peers are the best judges +of our value as individuals. Our flat structure eliminates +some of the bias that would be present in a peer-ranking +system elsewhere. The design of our stack-ranking process +is meant to eliminate as much as possible of the remainder. +``` +``` +================================================== +``` +``` +================================================== +``` +``` +If you think your compensation isn’t right for the work you do, then +you should raise the issue. At Valve, these conversations are surprisingly +easy and straightforward. Adjustments to compensation usually occur +within the process described here. But talking about it is always the +right thing if there’s any issue. Fretting about your level of compensa- +tion without any outside information about how it got set is expensive +for you and for Valve. +``` +### Fig. 3-1 Method to working without a boss + +``` +step 1. Come up with a bright idea +step 2. Tell a coworker about it +step 3. Work on it together +step 4. Ship it! +``` +``` +1. +``` +``` +3. +``` +``` +2. +``` +``` +4. +``` +**VALVE** METHOD DIAG. 3 + + +``` +VALVE: HANDBOOK FOR NEW EMPLOYEES +``` +- 30 – Fig. 3-2 + +Each project/product group is asked to rank its own +members. (People are not asked to rank themselves, so we +split groups into parts, and then each part ranks people +other than themselves.) The ranking itself is based on the +following four metrics: + +**1. Skill Level/Technical Ability** +How difficult and valuable are the kinds of problems +you solve? How important/critical of a problem can you +be given? Are you uniquely capable (in the company? +industry?) of solving a certain class of problem, deliver- +ing a certain type of art asset, contributing to design, +writing, or music, etc.? +**2. Productivity/Output** +How much shippable (not necessarily shipped to outside +customers), valuable, finished work did you get done? +Working a lot of hours is generally not related to produc- +tivity and, after a certain point, indicates inefficiency. +It is more valuable if you are able to maintain a sensible +work/life balance and use your time in the office effi- +ciently, rather than working around the clock. + + +``` +VALVE: HANDBOOK FOR NEW EMPLOYEES +``` +- 32 – – 33 – + +``` +HOW AM I DOING? +``` +``` +By choosing these categories and basing the stack ranking +on them, the company is explicitly stating, “This is what +is valuable.” We think that these categories offer a broad +range of ways you can contribute value to the company. +Once the intra-group ranking is done, the information +gets pooled to be company-wide. We won’t go into that +methodology here. There is a wiki page about peer feedback +and stack ranking with some more detail on each process. +``` +**3. Group Contribution** +How much do you contribute to studio process, hiring, +integrating people into the team, improving workflow, +amplifying your colleagues, or writing tools used by +others? Generally, being a group contributor means +that you are making a tradeoff versus an individual +contribution. Stepping up and acting in a leadership +role can be good for your group contribution score, +but being a leader does not impart or guarantee a +higher stack rank. It is just a role that people adopt +from time to time. +**4. Product Contribution** +How much do you contribute at a larger scope than your +core skill? How much of your work matters to the prod- +uct? How much did you influence correct prioritization +of work or resource trade-offs by others? Are you good +at predicting how customers are going to react to deci- +sions we’re making? Things like being a good playtester +or bug finder during the shipping cycle would fall into +this category. + + +## Choose Your + +## Own Adventure + +# 4 + +``` +step 1. Find someone to watch your cats +step 2. Board our chartered flight +step 3. Relax by the pool +step 4. Relax by the pool some more +``` +### Fig. 3-3 Method to taking the company trip + +``` +1. +3. +``` +``` +2. +4. +``` +**VALVE** METHOD DIAG. 4 + + +``` +VALVE: HANDBOOK FOR NEW EMPLOYEES +``` +- 36 – – 37 – + +``` +CHOOSE YOUR OWN ADVENTURE +``` +``` +who interact with others outside the company call them- +selves by various titles because doing so makes it easier to +get their jobs done. +Inside the company, though, we all take on the role that +suits the work in front of us. Everyone is a designer. Every- +one can question each other’s work. Anyone can recruit +someone onto his or her project. Everyone has to function +as a “strategist,” which really means figuring out how to do +what’s right for our customers. We all engage in analysis, +measurement, predictions, evaluations. +One outward expression of these ideals is the list of +credits that we put in our games—it’s simply a long list of +names, sorted alphabetically. That’s it. This was intentional +when we shipped Half-Life , and we’re proud to continue +the tradition today. +``` +##### Advancement vs. growth + +``` +Because Valve doesn’t have a traditional hierarchical +structure, it can be confusing to figure out how Valve fits +into your career plans. “Before Valve, I was an assistant +technical second animation director in Hollywood. I had +planned to be a director in five years. How am I supposed +to keep moving forward here?” +Working at Valve provides an opportunity for extremely +efficient and, in many cases, very accelerated, career +``` +Fig. 4-1 + +## Your First Six Months + +You’ve solved the nuts-and-bolts issues. Now you’re moving +beyond wanting to just be productive day to day —you’re +ready to help shape your future, and Valve’s. Your own +professional development and Valve’s growth are both now +under your control. Here are some thoughts on steering +both toward success. + +##### Roles + +By now it’s obvious that roles at Valve are fluid. Tradition- +ally at Valve, nobody has an actual title. This is by design, to +remove organizational constraints. Instead we have things +we call ourselves, for convenience. In particular, people + + +``` +VALVE: HANDBOOK FOR NEW EMPLOYEES +``` +- 38 – – 39 – + +``` +CHOOSE YOUR OWN ADVENTURE +``` +``` +Most people who fit well at Valve will be better- +positioned after their time spent here than they could +have been if they’d spent their time pretty much +anywhere else. +``` +##### Putting more tools in your toolbox + +``` +The most successful people at Valve are both (1) highly +skilled at a broad set of things and (2) world-class experts +within a more narrow discipline. (See “T-shaped” people on +page 46.) Because of the talent diversity here at Valve, it’s +often easier to become stronger at things that aren’t your +core skill set. +``` +##### Engineers: code is only the beginning + +``` +If you were hired as a software engineer, you’re now sur- +rounded by a multidisciplinary group of experts in all kinds +of fields—creative, legal, financial, even psychological. +Many of these people are probably sitting in the same room +as you every day, so the opportunities for learning are huge. +Take advantage of this fact whenever possible: the more +you can learn about the mechanics, vocabulary, and analysis +within other disciplines, the more valuable you become. +``` +##### Non-Engineers: program or be programmed + +``` +Valve’s core competency is making software. Obviously, +``` +growth. In particular, it provides an opportunity to broaden +one’s skill set well outside of the narrow constraints that +careers can have at most other companies. +So the “growth ladder” is tailored to you. It operates +exactly as fast as you can manage to grow. You’re in charge + +of your track, and you can elicit help with it anytime from +those around you. F Y I , we usually don’t do any formalized +employee “development” (course work, mentor assign- +ment), because for senior people it’s mostly not effective. +We believe that high-performance people are generally +self-improving. + +``` +Fig. 4-2 +``` + +## Valve Is Growing + +# 5 + +``` +VALVE: HANDBOOK FOR NEW EMPLOYEES +``` +- 40 – + +different disciplines are part of making our products, but +we’re still an engineering-centric company. That’s +because the core of the software-building process is +engineering. As in, writing code. If your expertise is +not in writing code, then every bit of energy you put +into understanding the code-writing part of making +software is to your (and Valve’s) benefit. You don’t +need to become an engineer, and there’s nothing +that says an engineer is more valuable than you. But +broadening your awareness in a highly technical +direction is never a bad thing. It’ll either increase +the quality or quantity of bits you can put “into boxes,” +which means affecting customers more, which means +you’re valuable. + + +``` +VALVE: HANDBOOK FOR NEW EMPLOYEES +``` +- 42 – – 43 – + +``` +VALVE IS GROWING +``` +``` +We do not have a growth goal. We intend to continue +hiring the best people as fast as we can, and to continue +scaling up our business as fast as we can, given our existing +staff. Fortunately, we don’t have to make growth decisions +based on any external pressures—only our own business +goals. And we’re always free to temper those goals with the +long-term vision for our success as a company. Ultimately, +we win by keeping the hiring bar very high. +``` +##### Hiring + +``` +Fig. 5-1 +``` +## Your Most Important Role + +Concepts discussed in this book sound like they might work +well at a tiny start-up, but not at a hundreds-of-people-plus- +billions-in-revenue company. The big question is: Does all +this stuff scale? +Well, so far, yes. And we believe that if we’re careful, it +will work better and better the larger we get. This might +seem counterintuitive, but it’s a direct consequence of +hiring great, accomplished, capable people. Getting this +to work right is a tricky proposition, though, and depends +highly on our continued vigilance in recruiting/hiring. +If we start adding people to the company who aren’t as +capable as we are at operating as high-powered, self- +directed, senior decision makers, then lots of the stuff +discussed in this book will stop working. +One thing that’s changing as we grow is that we’re not +great at disseminating information to everyone anymore +_(see “What is Valve_ not _good at?,” on page 52)_. +On the positive side, our profitability per employee is +going up, so by that measure, we’re certainly scaling correctly. +Our rate of hiring growth hovered between 10 and 15 +percent per year, for years. In 2010, we sped up, but only to +about 20 percent per year. 2011 kept up this new pace, +largely due to a wave of hiring in Support. + + +``` +VALVE: HANDBOOK FOR NEW EMPLOYEES +``` +- 44 – – 45 – + +``` +VALVE IS GROWING +``` +``` +adding a great person can create value across the whole +company. Missing out on hiring that great person is likely +the most expensive kind of mistake we can make. +Usually, it’s immediately obvious whether or not we’ve +done a great job hiring someone. However, we don’t have +the usual checks and balances that come with having +managers, so occasionally it can take a while to understand +whether a new person is fitting in. This is one downside of +the organic design of the company—a poor hiring decision +can cause lots of damage, and can sometimes go unchecked +for too long. Ultimately, people who cause damage always +get weeded out, but the harm they do can still be significant. +``` +##### How do we choose the right people to hire? + +``` +An exhaustive how-to on hiring would be a handbook of +its own. Probably one worth writing. It’d be tough for us to +capture because we feel like we’re constantly learning really +important things about how we hire people. In the mean- +time, here are some questions we always ask ourselves when +evaluating candidates: +``` +- Would I want this person to be my boss? +- Would I learn a significant amount from him or her? +- What if this person went to work for our competition? +Across the board, we value highly collaborative people. +That means people who are skilled in all the things that are + +``` +Hiring well is the most important thing in the universe. +Nothing else comes close. It’s more important than breath- +ing. So when you’re working on hiring—participating in +an interview loop or innovating in the general area of +recruiting—everything else you could be doing is stupid +and should be ignored! +When you’re new to Valve, it’s super valuable to start +being involved in the interview process. Ride shotgun with +people who’ve been doing it a long time. In some ways, our +interview process is similar to those of other companies, +but we have our own take on the process that requires +practice to learn. We won’t go into all the nuts and bolts in +this book—ask others for details, and start being included +in interview loops. +``` +##### Why is hiring well so important at Valve? + +``` +At Valve, adding individuals to the organization can influ- +ence our success far more than it does at other companies +—either in a positive or negative direction. Since there’s +no organizational compartmentalization of people here, +``` +**Bring your friends.** One of the most valuable things you can do as a +new employee is tell us who else you think we should hire. Assuming +that you agree with us that Valve is the best place to work on Earth, +then tell us about who the best people are on Earth, so we can bring +them here. If you don’t agree yet, then wait six months and ask +yourself this question again. +================================================== + +================================================== + + +``` +VALVE: HANDBOOK FOR NEW EMPLOYEES +``` +- 46 – – 47 – + +``` +VALVE IS GROWING +``` +``` +We’re looking for people stronger than ourselves. +When unchecked, people have a tendency to hire others +who are lower-powered than themselves. The questions +listed above are designed to help ensure that we don’t +start hiring people who are useful but not as powerful +as we are. We should hire people more capable than +ourselves, not less. +In some ways, hiring lower-powered people is a natural +response to having so much work to get done. In these +conditions, hiring someone who is at least capable seems +(in the short term) to be smarter than not hiring anyone at +all. But that’s actually a huge mistake. We can always bring +``` +``` +Fig. 5-2 +``` +integral to high-bandwidth collaboration—people who can +deconstruct problems on the fly, and talk to others as they +do so, simultaneously being inventive, iterative, creative, +talkative, and reactive. These things actually matter far more +than deep domain-specific knowledge or highly developed +skills in narrow areas. This is why we’ll often pass on candi- +dates who, narrowly defined, are the “best” at their chosen +discipline. +Of course it’s not quite enough to say that a candidate +should collaborate well—we also refer to the same four +metrics that we rely on when evaluating each other to evalu- +ate potential employees _(See “Stack ranking,” on page 27)_. + +**We value “T-shaped” people.** +That is, people who are both generalists (highly skilled at +a broad set of valuable things—the top of the T) and also +experts (among the best in their field within a narrow disci- +pline—the vertical leg of the T). +This recipe is important for success at Valve. We often +have to pass on people who are very strong generalists with- +out expertise, or vice versa. An expert who is too narrow has +difficulty collaborating. A generalist who doesn’t go deep +enough in a single area ends up on the margins, not really +contributing as an individual. + + +- 48 – – 49 – + +``` +VALVE IS GROWING +``` +``` +Q: If all this stuff has worked well for us, why doesn’t every company +work this way? +A: Well, it’s really hard. Mainly because, from day one, it requires a +commitment to hiring in a way that’s very different from the way most +companies hire. It also requires the discipline to make the design of +the company more important than any one short-term business goal. +And it requires a great deal of freedom from outside pressure—being +self-funded was key. And having a founder who was confident enough +to build this kind of place is rare, indeed. +Another reason that it’s hard to run a company this way is that it +requires vigilance. It’s a one-way trip if the core values change, and +maintaining them requires the full commitment of everyone— +especially those who’ve been here the longest. For “senior” people +at most companies, accumulating more power and/or money over +time happens by adopting a more hierarchical culture. +``` +``` +================================================== +``` +``` +================================================== +``` +on temporary/contract help to get us through tough spots, +but we should never lower the hiring bar. The other reason +people start to hire “downhill” is a political one. At most +organizations, it’s beneficial to have an army of people +doing your bidding. At Valve, though, it’s not. You’d +damage the company and saddle yourself with a broken +organization. Good times! + +**Hiring is fundamentally the same across all disciplines.** +There are not different sets of rules or criteria for engi- +neers, artists, animators, and accountants. Some details are +different—like, artists and writers show us some of their +work before coming in for an interview. But the actual +interview process is fundamentally the same no matter who +we’re talking to. +“With the bar this high, would I be hired today?” That’s +a good question. The answer might be no, but that’s actu- +ally awesome for us, and we should all celebrate if it’s true +because it means we’re growing correctly. As long as you’re +continuing to be valuable and having fun, it’s a moot +point, really. + +``` +VALVE: HANDBOOK FOR NEW EMPLOYEES +``` + +## Epilogue + +# 6 + + +``` +VALVE: HANDBOOK FOR NEW EMPLOYEES +``` +- 52 – – 53 – + +``` +EPILOGUE +``` +## What Happens When All This Stuff + +## Doesn’t Work? + +``` +Sometimes, the philosophy and methods outlined in this +book don’t match perfectly with how things are going day +to day. But we’re confident that even when problems persist +for a while, Valve roots them out. +As you see it, are there areas of the company in which +the ideals in this book are realized more fully than others? +What should we do about that? Are those differences a +good thing? What would you change? This handbook +describes the goals we believe in. If you find yourself in +a group or project that you feel isn’t meeting these goals, +be an agent of change. Help bring the group around. +Talk about these goals with the team and/or others. +``` +## What Is Valve Not Good At? + +The design of the company has some downsides. We usu- +ally think they’re worth the cost, but it’s worth noting that +there are a number of things we wish we were better at: + +- Helping new people find their way. We wrote this +book to help, but as we said above, a book can only +go so far. +- Mentoring people. Not just helping new people figure +things out, but proactively helping people to grow +in areas where they need help is something we’re +organizationally not great at. Peer reviews help, but +they can only go so far. +- Disseminating information internally. +- Finding and hiring people in completely new +disciplines (e.g., economists! industrial designers!). +- Making predictions longer than a few months out. +- We miss out on hiring talented people who prefer to +work within a more traditional structure. Again, this +comes with the territory and isn’t something we should +change, but it’s worth recognizing as a self-imposed +limitation. + + +``` +VALVE: HANDBOOK FOR NEW EMPLOYEES +``` +- 54 – – 55 – + +### Glossary + +``` +Jargon. Lingo. Code words. +14-Year-Old Boy —If you see one running your project, don’t worry. That’s +actually 57-year-old Josh Weier (see Josh Weier). If you have any extra stem +cells, give them to him! He bathes in them daily. +Australia —A place that’s either very near or is New Zealand where more +than half of Valve’s employees were born. +City of Seattle —Where Valve’s founders promised we’d locate our office +before pulling a massive bait and switch to the Eastside (see also Greg Coomer). +Coffee Machine, Right-hand Dispenser —The dispenser in all coffee +machines at Valve that holds the decaffeinated coffee beans. To the best of +our knowledge, these have never needed to be refilled. For all we know, the +beans are decorative plastic. +Company Vacation —Every year, the company gathers all the employees and +our families, flies us somewhere tropical, and gives us a free weeklong +vacation. Popular pastimes include beard contests, snorkeling, ice cream +socials, jet skiing, or just sitting on the beach chatting with the locals about +how many googly-eyed seashells you should buy from them. (Your feeling: +none. Their counteroffer: Just buy five then.) +Empty Shelf on Fifth Floor —Place we’re planning on putting all those +awards for Ricochet once the gaming world finally catches up with it. +Fishbowl— The conference room by the lunchroom. The one with a big +glass wall. Don’t let the name throw you—we don’t actually use it as a +fishbowl! Except, of course, on Fishbowl Fridays, where we fill it up with ten +thousand gallons of putrid saltwater so that all the manta rays and sharks +will have something to breathe while they fight to the death. You won’t see +it in your list of benefits, not because it isn’t fun, but because it is illegal. +Freight Elevator — (See “Method to move your desk,” on page 18.) +Gabe Newell —Of all the people at this company who aren’t your boss, +Gabe is the MOST not your boss, if you get what we’re saying. +``` +## Where Will You Take Us? + +Valve will be a different company a few years from now +because you are going to change it for the better. We can’t +wait to see where you take us. The products, features, and +experiences that you decide to create for customers are +the things that will define us. +Whether it’s a new game, a feature in Steam, a way to +save customers money, a painting that teaches us what’s +beautiful, something that protects us from legal threats, +a new typeface, an idea for how to be healthier while we +work, a new hat-making tool for _TF2_ , a spectacular ani- +mation, a new kind of test that lets us be smarter, a game +controller that can tell whether you’re scared or a toy that +makes four-year-olds laugh, or (more likely) something +nobody’s thought of yet—we can’t wait to see what kind +of future you choose to build at Valve. + + +``` +VALVE: HANDBOOK FOR NEW EMPLOYEES +``` +- 56 – + +**Greg Coomer** —The only person who cares or remembers that somebody +once might have said we’d move to Seattle. +**Knives** —That which one can never own enough of. A vast collection of +them is in no way a Freudian compensation. +**Manager** —The kind of people we don’t have any of. So if you see one, tell +somebody, because it’s probably the ghost of whoever was in this building +before us. Whatever you do, don’t let him give you a presentation on +paradigms in spectral proactivity. +**Mann Co.** —Maker of square, unsafe products for men that occasionally +catch on fire, and more occasionally, work as advertised. Owned and +operated by Saxton Hale _(see Australia)_. +**Parking Garage Elevators** —Autonomous hostage-taking devices with a will +of their own. Beware. +**Playtesting** —What we do early and often. And loudly, if Karen is the tester. +**Ponies** —The animals most beloved by those away from their computers, +and most despised by people who prefer to hear jokes just once. +**Scorpions, Poison, Queen** —Repeated exposure to our bathrooms’ Pavlov- +ian rock block soundtrack will ensure that you’ll never be able to relieve +yourself again unless someone hums “Rock You like a Hurricane.” +**Shitty Wizard** —Person responsible for all _Dota 2_ bugs. _Aka_ Finol. +**Talk Alias** —Marc Laidlaw’s internal blog. +**(Un)weighted Companion Pillow** —The thing Erik Wolpaw carries around +with him and covers his mouth with after others have sat on it. +**Valve Activities** —You will learn to love blacksmithing. +**Josh Weier** —Variously pronounced “Josh Weere,” “Josh Wire,” “Josh +Woe-Rue,” “Josh wuhh...[trailing off],” and “Josh Joshington” by those of us +who stopped caring. They’re all equally valid! +**WFH** —Working From Home. What to do if a single snowflake falls out of +the sky. + + + diff --git a/pages/11.Handbook.Board.Charters.HFNOC-Committee-Charter/default.md b/pages/11.Handbook.Board.Charters.HFNOC-Committee-Charter/default.md new file mode 100644 index 0000000..f8c24d0 --- /dev/null +++ b/pages/11.Handbook.Board.Charters.HFNOC-Committee-Charter/default.md @@ -0,0 +1,9 @@ +--- +title: 'High Flight Network Operating CoOp - Committe Charter' +menu: 'High Flight Network Operating CoOp - Committe Charter' +--- + + +# High Flight Network Operating CoOp - Committe Charter + +To be written soon diff --git a/pages/110.Handbook.SourceMaterial.people.benefits/default.md b/pages/110.Handbook.SourceMaterial.people.benefits/default.md new file mode 100644 index 0000000..52bc866 --- /dev/null +++ b/pages/110.Handbook.SourceMaterial.people.benefits/default.md @@ -0,0 +1,66 @@ +--- +title: 'Pension and 401k contributions' +menu: 'Pension and 401k contributions' +--- + +--- +title: Benefits +sidebar: Handbook +showTitle: true +--- + +Beyond [pay and equity](handbook/people/compensation), we offer several additional benefits to our team. + +With everyone being distributed across the world, we do our best to provide the same benefits to everyone, but they might vary slightly by country depending on the services that are available and local regulations. + +If you have any ideas for how we can improve our benefits offering, then please let us know! + +### Pension and 401k contributions + +We are currently in the process of setting up a 401k for our US team members, and are aiming to roll this out in Q2 2021. + +In the UK, we use [Royal London](https://www.royallondon.com/) as our pension provider. Team members contribute 5% and PostHog contributes 4%, but you can opt out if you like. You can also transfer out of the plan as frequently as you like, in case you would rather manage your own private pension. + +[Deel](https://app.letsdeel.com/), our international payroll provider, is currently building a pension product for contractors as well, due for release in Q2 2021. We will aim to provide the same percentages as in the UK. + +### Private Health Insurance + +We currently provide private health insurance in the US and UK. + +In the US, our medical insurance is provided via UnitedHealthcare and managed via our payroll provider [Gusto](https://app.gusto.com/). The plan includes medical, dental and vision insurance. + +PostHog pays 75% of the premium of the platinum plan, and you pay the other 25%. The same conditions apply to added dependents. UnitedHealthcare also offers cheaper Gold and Silver plans at lower cost, which you can choose if you'd like to contribute less. The exact costs depend on factors like age - the People team can create a quote in Gusto. + +In the UK, we use [Bupa](https://www.bupa.co.uk/) for private healthcare (£100 excess per policy year) and [Medicash](https://www.medicash.org/) as our cash plan for dental and vision. Children are included for free. Both of these are taxable benefits which will affect your Personal Allowance each tax year, and you can opt out at any time with 1 month notice. + +### Mental Health Support + +We know that the world can feel a bit heavy from time to time and we want to make sure everyone gets support, if they need it. + +We launched [Spill](https://www.spill.chat/) in March 2021 to give everyone in the team access to comprehensive mental health support. Spill offers access to video therapy sessions with qualified therapists (one-off or a course), together with exercises and helpful reading materials, all integrated into Slack. They also offer a one-off ask-a-therapist feature if you don't want to commit to an entire session. + +Spill is 100% free and confidential - they do not share any personal information with PostHog about who is using the service etc. The _only_ exception is if they believe that there is a threat to a person's safety or the safety of others. + +### Unlimited Time off + +Everyone in the team has [unlimited, permissionless time off](/handbook/people/time-off). This means you won't need to ask for permission before requesting time off - our people platform [CharlieHR](https://posthog.charliehr.com/) will autoapprove your request. + +We also offer generous [parental leave](/handbook/people/time-off#parental-leave) for new parents. + +### Learning and Development + +We currently offer a [Training budget](/handbook/people/training#training-budget) and [free books](/handbook/people/training#books) - you can find more on the relevant pages. + +### Equipment and Co-working + +As we are fully remote, we provide [all equipment](/handbook/people/spending-money#equipment) you need to have an ergonomic setup at home to be as productive as possible. We provide all team members with a company card for this purpose. + +If you ever need change of scenery, we offer $200/month budget towards [coworking or café working](/handbook/people/spending-money#work-space). + +### Off-sites and Team Socials + +Ideally, we would like to meet up in person at twice a year. The team was able to meet up in Italy in September 2020, but we haven't been able to travel since, so we are planning a virtual off-site in April 2021 instead (and hopefully a real one on Autumn 2021!). + +For any work-related travel, we use [Project Wren](https://www.wren.co/) for carbon offsetting. + +We also have biweekly coffee catch-ups as a team, and we use the [Donut](https://www.donut.com/?ref=slackdirectory) Slack app to pair you up with random colleague on Slack. Simply join the #virtual-coffee channel on Slack and be paired up with someone on the team to meet for a virtual coffee/tea etc. diff --git a/pages/111.Handbook.SourceMaterial.people.feedback/default.md b/pages/111.Handbook.SourceMaterial.people.feedback/default.md new file mode 100644 index 0000000..1e1299f --- /dev/null +++ b/pages/111.Handbook.SourceMaterial.people.feedback/default.md @@ -0,0 +1,102 @@ +--- +title: 'Feedback at PostHog' +menu: 'Feedback at PostHog' +--- + +--- +title: Feedback +sidebar: Handbook +showTitle: true +--- + +## Feedback at PostHog + +Sharing and receiving feedback openly is _really_ important to us at PostHog. Part of creating a highly autonomous culture where people feel empowered is maintaining the most transparent and open flow of information that we can. + +This includes giving feedback [to each other](/handbook/company/values#step-on-toes), so we know we are working on the right things, in the right way. While giving feedback to a team member can feel awkward, especially if it is not positive or if you are talking to someone with more experience than you, we believe that it is an important part of [not letting others fail](/handbook/company/culture#dont-let-others-fail). + +'Open and honest' != 'being an asshole' - we expect feedback to be direct, but shared with good intentions and in the spirit of genuinely helping that person and PostHog as a whole to improve. Please make sure your feedback is constructive and based on observations, not _emotions_. If possible, share examples to help the feedback receiver understand the context of the feedback. + +## Full team feedback sessions + +We run full team 360 degree feedback session as part of every off-site (we usually do them every 6 months). The session gives everyone the opportunity to give and receive feedback to everyone else. + +With us growing the team, we will be splitting the session into smaller groups in the future, to ensure everyone gets the most ouf of this session. + +### Ground rules +- Everybody participates! You should have a think and prepare in advance - don't try and wing it on the day. +- Preparation includes reading our handbook about how to be a good feedback [giver](/handbook/people/feedback#how-to-give-good-feedback) and [receiver](/handbook/people/feedback#how-to-receive-feedback-well). +- Feedback to be 70% constructive - this is an opportunity to help each other to grow. +- Everyone is expected to give feedback to everyone, even if they don’t work together directly. It may be very short feedback, which is ok! +- That being said, avoid piling on and repeating feedback others have given unless you have a different perspective or can add more context. It is ok to say "+1 to what X said about Y" and move on. Do not spend 2min repeating the same point that has already been made by someone else. +- Everyone is responsible for noting down and actioning their own feedback (ie. the people team won't do this for you). + +## Performance reviews + +In addition to informal day-to-day feedback and the full team 360 degree feedback session, it is important that we enable team members to take a step back every so often and look at their performance and aspirations in a wider context. This helps us to support a team member's growth and ensure it is aligned with PostHog's needs. + +This process is intended to be self-serve. The People team will ensure the process is kicked off and recorded properly, but it is the individual team member's responsibility to run the process. If you need support, ask your manager, Eltje or Charles for help. + +We currently run performance reviews every 6 months, based on your start date. We will probably need to change this cadence as we scale, but this feels appropriate for our current stage of growth. + +### The performance review process + +1. The People team adds recurring calendar invites to the calendar of the team member and their manager to kick off the performance review process. +2. The team member will schedule a 1 hour performance review meeting with their manager. A member of the people team may sit in on the occasional feedback meeting to see how well they are working as we get up and running. +3. In advance, the team member writes up a self-assessment in [this document](https://docs.google.com/document/d/1fxP0w_gNno7Y-2Uxw4uSYCaJTpvZpDXiFZ7lFPXsDpw/edit?usp=sharing), and their manager will fill out a similar assessment in [this document](https://docs.google.com/document/d/1UbS9YkGDZsAhPsZmxRRI2g83ZuQzPwoQNQeJ7IGBm9I/edit?usp=sharing). You will likely want to include and reflect on feedback you've previously received in a full team 360 degree feedback session. +4. Afterwards, the manager communicates back to the People team that the review is complete and what next steps are needed (if any), including around any salary adjustments if the team member's Step or Level should change. The People team will store these docs on Charlie HR for future reference. + +While the 360 degree team meeetings are purely feedback-focused, you should aim to spend the bulk of the performance review looking ahead to the next 6 months (and beyond). + +Part of the review will include your [compensation](/handbook/people/compensation), as we directly link this to your level of experience and your performance. You should not, however, expect every performance review to result in a change to your Step or Level - most of the time, they won't. Additionally, you will find that your Step will change more frequently than your Level. + +### How to give good feedback + +We know that giving feedback can sometimes be difficult, so here are a few tips on how to give good feedback: + +- If something went wrong, focus on what has actually happened, not on whose fault it is. Assigning blame is not productive. +- Be as specific as you can with your feedback. An example can be helpful to give the recipient context. +- Sometimes a question can be more useful if you feel you lack the full context. For example 'I've noticed that you sometimes do X. Can you explain to me what your thought process is when you are doing that?' +- If your feedback is about behavior, focus on the behavior itself and its impact on you, rather than attacking the person's character. For example 'When you do X, it makes me feel Y. Would you be willing to do Z instead?' +- Remember that positive feedback is really important - we should reinforce and affirm the things we want that person to keep doing! + +We expect everyone to support each other by giving lots of feedback - it's not ok to stay quiet if you have something constructive to share. + +### How to receive feedback well + +If someone is making the effort to give you feedback, you should reciprocate by receiving that feedback well. Being a good feedback receiver means that people will be more inclined to give you feedback in the future, which will help you to grow! + +Here are a few tips to help you do this: + +- Assume positive intent on the part of the feedback giver. +- Try not to hear attack - listen for what is behind the words. +- It can be useful to paraphrase the feedback to ensure you have understood it correctly, or ask questions to clarify. +- You do not have to accept all feedback! However, it's probably worth taking time to reflect on it, rather than reacting in the moment. There is a difference between acknowledging feedback and disagreeing with it. + +## Full team feedback sessions + +In addition to individual performance reviews, we also hold full team feedback sessions twice a year. These are usually scheduled as part of our offsites. These are super intense and memorable, and create _much_ more trust, transparency and directness. + +### How it works + +- Everyone gives feedback to everyone else. We have tried this with first a team of 10 (worked well), and a team of 20 (valuable, but slightly too many people). +- Feedback could be anything - i.e. designers will give feedback to engineers and vice versa. +- What you do with the feedback is totally up to you - write down, then choose to accept/discard feedback. +- Repeat every 6 months. + +In the future, we will split the session into groups in order to manage time better. + +### Ground rules + +- Everybody participates! You should have a think and prepare in advance - don't try and wing it on the day. +- Preparation includes reading this page about how to be a good feedback giver and receiver. +- Aim for your feedback to be 70% constructive - this is an opportunity to help each other to grow. +- You are expected to give feedback to everyone, even if you don’t work together directly. It may be very short feedback, which is ok! +- That being said, avoid piling on and repeating feedback others have given unless you have a different perspective or can add more context. It is ok to say "+1 to what X said about Y" and move on. Do not spend 2min repeating the same point that has already been made by someone else. +- Everyone is responsible for noting down and actioning their own feedback (i.e. the People team won't do this for you). + +### How is this different from individual performance review? + +The full team session prioritises openness, breadth and transparency of feedback, as everyone gets to both give and receive feedback in front of the entire team. + +The performance review process centres on a single person for one hour, involves a smaller subset of the team, and is intended to be more of an in-depth conversation. diff --git a/pages/112.Handbook.SourceMaterial.people.hiring-process/default.md b/pages/112.Handbook.SourceMaterial.people.hiring-process/default.md new file mode 100644 index 0000000..de87d10 --- /dev/null +++ b/pages/112.Handbook.SourceMaterial.people.hiring-process/default.md @@ -0,0 +1,249 @@ +--- +title: 'Deciding to Hire' +menu: 'Deciding to Hire' +--- + +--- +title: Hiring Process +sidebar: Handbook +showTitle: true +--- + +This page will walk you through how we hire at PostHog. The goal is to have a lightweight process that optimizes for speed for the candidate, but above all for quality of the hire. + +## Deciding to Hire + +Every hire introduces complexity to the organisation and increases our burn rate. As a result, we think very carefully about each new role, and we set an extremely high bar for the people that we do hire. + +See [our Strategy page](/handbook/strategy/strategy) to find out how we are thinking about which people we should be hiring, and when. + +If we are hiring a role that we have less expertise in (e.g. a role we've never hired for before), it is worth getting an outside opinion on how to hire for this role before starting any of the below. + +## Writing the spec + +At the moment, we're not too worried about everyone on the team having really precisely defined job specs. PostHog is growing fast and job descriptions are changing rapidly so it's impossible to define a set list of tasks. + +That being said, it is important that any job spec is written with your target audience in mind, in a clear and engaging way. There are several guides on how to this ([here is a good one](https://resources.workable.com/tutorial/how-to-write-a-good-job-description)), and you can also look at previous job ads to get a feel for how we communicate about PostHog. + +Once the job ad is out there, don't be afraid to [iterate](https://posthog.com/handbook/company/culture#iteration) and improve on it given the data! You shouldn't feel constrained by your initial spec if it isn't quite working, or if PostHog's needs have evolved since you first wrote it. Bear in mind that you will need to update it everywhere it has been advertised, so it is worth putting the effort in up front to get it right. + +## Managing candidates + +We manage all of our candidates through [Workable](https://posthog.workable.com/backend) - please ask Eltje or Charles for an invite to view candidates, leave feedback, and schedule meetings. Make sure you record all candidate-related comms on Workable so we can ensure we provide all candidates with the best experience we possibly can - even if they are unsuccessful, they should come away feeling like they had a great interaction with PostHog. + +Workable is a pretty intuitive platform to use, but here are a few helpful tips to get you going: + +* [A guide to getting started with the basics](https://help.workable.com/hc/en-us/articles/360038712074-Hiring-Manager-Getting-Started-) - this is pretty much everything you need if you are mainly using Workable to leave feedback on candidates you've met, but are otherwise not involved in the recruitement process. +* Link your Gmail account in Settings if you are in direct contact with candidates - this means any emails you send directly from your inbox will automatically be captured on their Workable record for everyone on the hiring team to see. +* When emailing candidates from within Workable, you can select a Template from the drop down bar (and customise it if you want). If you find yourself writing the same email, it is worth saving as a template. + +If you receive an application directly emailed to you or if someone contacts us through a non-Workable channel like Slack, you can either: + +* Forward their email onto our [dedicated Workable email address](mailto:posthog@jobs.workablemail.com) - this is the most effective option. +* If you think they are a strong candidate but they didn't email, introduce them directly to us via our [careers email address](mailto:careers@posthog.com). +* As a last resort, ask them to apply via the relevant link on our [Careers page](https://posthog.com/careers) - this is the least preferred option as it has the highest likelihood of a candidate dropping out. Only use this option for high volume roles. You should say something like "Thank you for your interest in PostHog! Can I please ask you to apply via our Careers page? We receive hundreds of applications every week, and this will ensure that we have all your details on our system." + +### Booking meetings + +If you are booking meetings through Workable, you should connect your Google Calendar and Zoom accounts under Settings first - this enables you to schedule meetings from within Workable itself. This is really helpful, as Workable will automatically populate the calendar invitation with all the useful info for interviewers like resumes so you don't need to do it manually. + +When you book, you have the option of selecting a Google Meet or Zoom call. You should default to Zoom unless you are scheduling a meeting that you are not attending yourself, in which case use Google Meet (as Zoom will require you to attend as host). + +Make sure you have set an agenda for the meeting in order to be welcoming to the candidate and to let the internal PostHog team member know what they need to cover in the meeting. The person who _books_ the meeting is responsible for setting the agenda. + +## Our Hiring Process + +The stages of our hiring process are: + +- Application +- Culture interview with Eltje +- Technical interview with the hiring team + - this is usually Tim and 1 or more PostHog team members interviewing the candidate at the same time who would work closely with the candidate day-to-day + - decide if we will do a SuperDay, else give feedback +- PostHog SuperDay +- Offer + +There may be an additional interview where we bring in a 3rd party with specialist expertise in the case of hiring roles that we've not hired for before. + +Responsiveness at all stages is really important to us - at each stage of the process, we should aim to get back to candidates with feedback within 48 hours. It is not ok to leave candidates waiting for weeks, or for someone to apply and never hear back from us. + +### Application + +Read applications and resumes/portfolios carefully and leave your feedback as a Comment on their record in Workable. + +If a candidate hasn't customized the application or resume to the role, it is a flag they're aren't that excited about working at PostHog. It is understandable why people don't do this, but at an interview stage, it's important to note how passionate they seem about the company. Did they try out the software already? Did they read the handbook? Are they in our community Slack? + +A good rule of thumb when deciding whether not to progress - if the candidate doesn't get a _definite yes_ then it's a _no_. It's almost never worth putting through someone who is a 'maybe'! We provide lots of information about PostHog to enable candidates to put their best application forward. + +Candidates who are unsuccessful at this stage will receive automated feedback, unless they personalized their application, in which case a short email is appropriate. + +#### Engineering + +We hire repeatedly into engineering roles, so here are a few things we look for: + +- Experience with relevant technologies (Python or similar, React or similar, something to do with big data is a bonus) +- Has started a project from scratch, without outside help + - Usually this manifests as having been the founder of a startup, or building an impressive side project. It can also be shown through a big project in the day job, but that requires a bit more digging. +- Communication. Do they have writing errors in their cover letter? What does their online presence look like? + - More so than other companies, all of our communication is written and public for the world to see. Good written communication is key. + +### Interview 1 - Culture with Eltje + +We start with an interview which is designed to get the overall picture on what a candidate is looking for, and to explain who we are. A template scorecard has been created for this stage in Workable. + +This is to allow both PostHog and the candidate to assess whether the candidate is a great cultural addition to the team, and to dig into any areas of potential misalignment based on the application. We are looking for proactivity, directness, good communication, an awareness of the impact of the candidate's work, and evidence of iteration / a growth mindset. + +- Talk about PostHog, where we're at and what the future looks like, including our long-term vision. If it was cold outreach, we provide a little more context up front. +- Talk about the candidate, dig into any questions we have from their CV. +- Talk about the hiring process and check if the candidate has seen our compensation calculator so we know we're roughly aligned. + +Candidates who are unsuccessful at this stage should receive a personalized email with feedback. + +### Interview 2 - Technical + +The second step is the technical interview. This is usually 2 PostHog team members spending an hour with the candidate (at the same time). + +These interviews will focus on the skills needed to fill the role. + +For a design hire, questions could be: +- A walk through of an example website page, product or other +- Tell me about one of the pieces in your portfolio +- What does your calendar look like on a day you'd really look forward to - what sort of tasks would be on it? +- How do you educate yourself on design? + +For an engineering hire, this would be things like: +- Tell me about a project you started from scratch. +- What was the hardest technical thing you've done in the last month? +- What did you do on your very best day at work? +- Tell me about a project that you led that failed. Why did it fail and what did you learn? + +For every role that is created on Workable, we create a structured scorecard with questions listed so you don't need to remember them every time! This is intended as a guide, not a script, so feel free to deviate from the scorecard and go off on tangents - a good interview is a conversation, not a questionnaire. Just try to keep the basic structure of your questions consistent, as this makes it easier to compare candidates to each other. + +[Here are some more ideas](https://firstround.com/review/40-favorite-interview-questions-from-some-of-the-sharpest-folks-we-know/) for great questions to ask candidates. + +One of the two technical interviewers will lead the discussion. The reason for 2 people is to ensure a deeper, higher quality interview. + +The person interviewing outside their area of expertise is the bar-raiser. The bar-raiser is here to qualify that everyone is truly excited about the candidate and that they're an example of us believing in talent compounds. Everyone should still think this way - or they should be clear in why they don't feel like this as part of their feedback. + +As a rule of thumb, everyone interviewing must feel a genuine sense of excitement about working with the candidate. Again - if it is not a _definite yes_, then it's a _no_. + +Candidates who are unsuccessful at this stage should receive a personalized email with feedback. + +### PostHog SuperDay + +We offer those who have gotten through the interview process the chance to do a paid PostHog SuperDay. We schedule 1 full day in advance with the candidate where we hire them as a contractor. + +This gives the candidate a chance to learn how we work, and for us to see the quality, speed and communication of the candidate. It is a very demanding day of work. + +We will pay the candidate their 'normal day rate.' If they have done contracting before they will have one, but if not you can use [this formula](https://www.ellwoodatfield.com/event/how-to-calculate-out-your-day-rate/) to calculate it. In case the candidate is unable to accept pay for the SuperDay, we will donate the amount to a charity of their choice. + +This day will be _the same_ task each time for a given role, to be shared with the candidate at the start of the day. For the Full Stack role, the task involves building a small web service (both backend and frontend) over a full day. The task is designed to be _too much_ work for one person to complete in a day, in order to get a sense of the person's ability to prioritize. The tasks should be as close as possible to those that the candidate would be working on every day. + +In advance of the SuperDay, you will need to do some additional prep to ensure that the candidate has a great experience: + +* Send them an email in the first instance to schedule the SuperDay - you should do this as soon as possible, as candidates often will need to book a day off work. Use the Workable email template for this. If the task involves them doing 'real' work for PostHog, you should ask them to check that their current employment contract permits this - we try to create fake tasks for this reason. +* (One day before the SuperDay) Send the candidate a follow up email with details of the task, and ask them for their day rate and bank details. There is a template for this email in Workable, depending on the role - this will probably need customising. +* (One day before the SuperDay) Create a private channel in Slack for the candidate, you and anyone else relevant - this will be where they can chat to us over the course of the day if they have any questions etc. Invite the candidate as a single channel guest. You may need to add the candidate to one of our systems depending on the role, e.g. Workable for a recruiter SuperDay, but on the whole this should be minimized. +* (One day before the SuperDay) Invite the candidate to a kickoff meeting with the hiring manager at the start of the day. On days where we have a [standup](https://posthog.com/handbook/company/standups) scheduled, invite them along. On days without standup, schedule an informal session with some team members to give them a chance to learn more about our culture. You may also want to have a proper wrap up with them at the end of their day. +* (On the SuperDay) Send the candidate the task - aim to send this before the kick-off session. +* (On the SuperDay) Give the candidate a warm welcome! Make it clear that the team is here to answer any questions, and they should feel free to reach out any time! Otherwise don't feel like you need to check in with them - let them get on with the task and trust that they will message you. +* (One day after the SuperDay) Pay the candidate using the bank details they provided. + +### Decide if we will hire + +There will be a written catchup over Slack or call via Zoom about the candidate with all people involved during the hiring. A yes/no decision will be made and then communicated to the candidate. + +It is expected that everyone has submitted their notes on Workable so we can discuss these to the meeting. + +In case of a rejection, it's important to clearly outline why that decision was made. Highlight what went well, but also mention specific points of improvement. Offer to schedule a call if they would like to discuss further. Make sure to leave the door open for the future so they can apply again in 12-18 months time as circumstances and people change. + +If there are wildly different opinions, reflect on why. + +### Making the hire + +Hooray! + +To give a candidate an offer letter and to move to the rest of the onboarding, see [Onboarding](/handbook/people/onboarding). + +## Referrals + +Every time we open a new role, we will share the details and ideal profile with the team during standup. + +If you know someone who would be a great addition to the team, please submit them as a referral. If they're successfully hired, you'll receive a $1000 Referral Bonus! The bonus can be either paid to you directly, or towards a charity of your choice (and we will match the amount). You can also split the amount between you and the charity. + +**What counts as a referral?** +Someone you have a personal or professional relationship with to confidently say they align with our values and fit our requirements. Please make sure the candidate has given their consent before putting them forward! + +**What's the process?** +* If there is an ongoing conversation, please ping Eltje into the email thread with the referred candidate, she will take it over from there. +* Otherwise, Send Eltje their CV and contact details. If you don't have their resume, please include a link to their LinkedIn profile. +* If they have applied themselves already, let Eltje know within 48 hours of them applying. + +**Referral payout process:** +The bonus date is 3 months from the new team member's start date and will be processed as part of payroll. + +**External referrals** +We also welcome external referrals, e.g. from: +* From our investors +* From the PostHog community (the users Slack Group, and posting on our social media profiles for our followers to see) +* From the YC community (Slack / WhatsApp / Forum) + +As a thank you, we will give you $50 credit for our [merch shop](https://merch.posthog.com/). + +## Visa sponsorship + +Building a diverse team is at the heart of our culture at PostHog and we are proud of be hiring internationally. In some cases, this includes the need for visa sponsorship. We are currently only able to provide visas in the US and the UK. + +- If you are already in the country on a visa (e.g. employed, youth mobility), or require a new visa to remain in the country (e.g. student converting to employed), we will cover the costs for any employee, new or current. +- If you wish to relocate and need a visa, we unfortunately will not cover the cost for obtaining the visa or any relocation costs. + +For employees where PostHog covers the costs related to obtaining a visa, the employee agrees to reimburse PostHog if they voluntarily terminate their employment prior to the completion of 12 months of service. The costs will be calculated on a monthly basis, so when the employee decided to leave after 10 months, they will have to repay 2/12 of the costs related to the visa. + +In case a candidate needs a visa sponsorship, please keep in mind that the process is lengthy and costly. + +## Where to find great candidates + +### Direct outreach + +Outreach has a few advantages: + +* We can approach people with very specific or relevant experience, even when they are not currently looking for a new role +* It allows us to encourage candidates from a wider range of backgrounds to apply +* It also helps with building an employer brand and general awareness + +It is possible to research a list of potential candidates through: + +* Workable - [People search](https://help.workable.com/hc/en-us/articles/115012750768-What-is-People-Search-) is a great tool to find profiles, email addresses and social media profiles! +* LinkedIn - [Boolean searches](https://www.talentlyft.com/en/blog/article/306/boolean-search-a-simple-guide-for-recruiters) are your friend! +* Twitter +* Behance +* Dribble +* AngelList + +It is important before starting outreach like this that you consider *why* a candidate messaged through this approach would move to us, so that your note to them can explain why you felt it might be a nice fit. + +### Job boards + +#### Design + +We are learning which boards work well: + +- [Behance](https://www.behance.net/adobetalent) +- [Dribbble](https://dribbble.com/jobs/new) + +#### Engineering + +- HackerNews Who's Hiring + - Tend to get high quality candidates, and people interested in working at startups. + - See [Tim's comment history](https://news.ycombinator.com/threads?id=timgl) for a template. +- [AngelList](https://angel.co) + - We found Eric through there. Higher quality than RemoteOK and pretty high volume. +- [RemoteOK](https://remoteok.io/) + - High volume of candidates, but much lower quality. + +#### General + +- Workable pushes all jobs to 17 job boards, including LinkedIn, Indeed etc. +- Since PostHog is a YC company, we can place job ads in YC's [Work at a Startup list](https://www.workatastartup.com/jobs). +- [AngelList](https://angel.co) + diff --git a/pages/113.Handbook.SourceMaterial.people.offboarding/default.md b/pages/113.Handbook.SourceMaterial.people.offboarding/default.md new file mode 100644 index 0000000..e1a1bd9 --- /dev/null +++ b/pages/113.Handbook.SourceMaterial.people.offboarding/default.md @@ -0,0 +1,114 @@ +--- +title: 'Voluntary Departure' +menu: 'Voluntary Departure' +--- + +--- +title: Offboarding +sidebar: Handbook +showTitle: true +--- + +Offboarding team members can be a sensitive time. The aim of this policy is to create transparency around how this process works. + +Very infrequently, we may have long term contractors working for PostHog, acting essentially like a permanent employee. In this case, the process below is exactly the same. This offboarding policy *does not* apply to regular contractors who are doing short term work for us. + +## Voluntary Departure + +In this case, the team member chooses to leave PostHog. + +We ask for 30 days of notice by default (unless locally a different maximum or minimum limit applies), and for you to work during that notice period. This is so we have some time to find someone to hire and to enable a handover. + +If you are a current team member and you are thinking about resigning from PostHog, we encourage you to speak with your manager or the [people team](https://posthog.com/handbook/people/team-structure/people) to discuss your reasons for wanting to leave. We want to ensure that all issues team members are facing are discussed and resolved before a resignation decision has been made. + +If resignation is the only solution after you have discussed your concerns, please communicate your intention to resign to your manager or the people team. We will then start a discussion around what is needed for the handover. + + +## Involuntary Departure + +In this case, we require the team member to leave. + +This is generally for performance reasons or because the company's needs have changed and the role can no longer be justified. + +Once the team member has been with us for 3 months, we will provide a 4-month [notice](https://posthog.com/handbook/people/compensation#severance) (otherwise, it will be a month). We will usually ask the team member to stop working immediately, but still pay them a 4-month severance). + +## Communicating Departures + +PostHog cannot always provide context around why people are leaving when they do. + +In the case of voluntary departure, we will ask the team member if they wish to share what they're up to next with the team. + +In the case of involuntary departure, we will aim to be as transparent as possible about the reasons behind the departure, while respecting the individual's privacy. + +## The Process for Offboarding + +For involuntary leavers, we will schedule a call, covering the following points with the team member: + +1. Final pay +2. Share options vested +3. Company property +4. Business expenses +5. Personal email to the company + +During the call, someone on the ops team needs to complete the [offboarding checklist](#offboarding-checklist). + +For voluntary leavers, the people team will schedule an [Exit interview](https://forms.gle/DaNGRhmvQJcLGfpa9) to hear more about the team members experience working at PostHog, their reasons for leaving and to identify areas for improvement. This will usually happen on their last day. + +During the call, we will also cover above questions and answer any open questions the team member has. + +If the team members works their notice period, we will start an offboarding issue and document the progress and handover in there. + +### Final Pay + +Final pay will be determined based on length of service and the reasons for leaving. + +* If the offboarding is voluntary, you will be paid up until your last day. We will look at the amount of holiday taken in the last 12 months and will pay any "unused" vacation pay assuming you would have taken 25 days (since we offer unlimited vacation periods). +* If the offboarding is involuntary and due to performance reasons or a change in business needs, you will receive 4 months of pay, provided you have passed your probation period. +* If the offboarding is voluntary or involuntary and due to performance reasons during your probation period, 1 week's notice applies. +* If the offboarding is involuntary and for gross misconduct or breach of contract, you may be paid nothing and receive no notice. + +We are likely to ask departing team members to sign a release of claims in order to receive payments beyond their final day of work. + +Please note that if there are local laws which are applicable, we will pay the greater of the above or the legally required minimum. + +### Share Options Vested + +If you have been allocated share options, we will confirm how many have vested and the process by which you may wish to exercise them. We have a team-friendly post-departure exercise window of 10 years, and most team members who leave will be deemed a 'good leaver' unless you have been terminated due to misconduct or negligence. + +### Company Property + +You will be required to return any company property to us. PostHog will cover the cost of shipping this. + +### Business Expenses + +We will pay any expenses in line with our policy that are still unpaid. + +### Personal Email to the Company + +In the case of voluntary offboarding, you will be offered the chance to send a goodbye email to the company, with relevant contact information as you move on. + +## Offboarding checklist + + (Voluntary leavers only) Arrange handover
+ (Voluntary leavers only) Schedule [Exit interview](https://forms.gle/DaNGRhmvQJcLGfpa9)
+ Arrange company property to be returned
+ (Contractor only) End their contract on Deel
+ (UK employee only) Email DRG with their last day, remaining annual leave and to remove them from the pension scheme
+ (UK employee only) Email Parallel to remove them from Bupa and Medicash
+ (UK employee only) Email team member P45 and upcoming payslips
+ (US employee only) Remove the team member from Gusto (Gusto will automatically end any benefits provided via the platform, e.g. medical insurance
+ (US employee only) Get the team member to sign their termination certificate
+ Put on an out of office (forward email if the leavers expects external communication), then deactivate the GSuite account for the team member
+ Make any outstanding notice payments (if applicable)
+ Cancel team member's company card on Brex/Revolut - _check if they have any company subscriptions first that need transferring_
+ Offboard member on CharlieHR
+ Add departure to hiring forecast on Pry
+ Remove team member from PostHog organization in GitHub
+ Remove team member from the internal company Slack
+ Remove team member from PostHog Users Slack
+ Remove team member from 1password
+ Remove team member from app.posthog.com
+ Remove team member from AWS
+ Remove team member from Workable
+ Remove team member from the [Team page](https://posthog.com/handbook/company/team)
+ Ask their manager for any other accounts they need to be removed from
diff --git a/pages/114.Handbook.SourceMaterial.people.onboarding/default.md b/pages/114.Handbook.SourceMaterial.people.onboarding/default.md new file mode 100644 index 0000000..b94f935 --- /dev/null +++ b/pages/114.Handbook.SourceMaterial.people.onboarding/default.md @@ -0,0 +1,146 @@ +--- +title: 'Upon Offer Acceptance' +menu: 'Upon Offer Acceptance' +--- + +--- +title: Onboarding +sidebar: Handbook +showTitle: true +--- + +As a remote organisation, doing a great job of welcoming a new member of the PostHog team is really important. You may find that you need to invest extra time and effort into onboarding someone than you might at a company where everyone is physically located together. + +We have members working all around the world, so their onboarding process may look a little different depending on where they are based and what type of contract they are on. We either bring on new people as an employee or contractor (with equivalent terms and benefits as an employee) dependent on the jurisdiction. + +If you have any questions on any of this stuff, ask Charles, James or Tim. + +The best way to run through this checklist is to copy the relevant sections below into an onboarding issue on the [Ops Roadmap](https://github.com/orgs/PostHog/projects/2) in GitHub. + +## Upon Offer Acceptance + +Eltje or Charles will create the contract needed, depending on who is joining. Only James and Tim are allowed to sign on behalf of the company. + +### US Team Member Checklist + + Create a contract using the [Google Docs template](https://docs.google.com/document/d/15cdfWfGj5OWBpVST6VcMwb5TP5qLVPQd9SGWKSnB9bc/edit?usp=sharing) in the Legal Docs shared drive
+ If we are employing someone in a new state for the first time, check the tax filing requirements on Gusto as soon as possible, as there can be a long lead time
+ +### UK Team Member Checklist + + Create a contract using the Google Docs templates for [CIIA](https://docs.google.com/document/d/1r7Xc1ALf-JKUrL3g_oyzaQ8H3SOuVchBpJrGp7TINdc/edit?usp=sharing) and [Offer Letter](https://docs.google.com/document/d/1ZzF5hbVmTmKIYKxW7JkXzrBFFNrztkcNvcdO643r6sY/edit?usp=sharing) in the Legal Docs shared drive
+ Email Parallel to add them to our pension scheme
+ +### Non-US nor UK Team Member Checklist + + Use [Deel](https://letsdeel.com) to set up as a contractor. Choose 'Create a contract' and select fixed. Follow the instructions. This contract will cover pay, notice period, confidentiality and IP assignment.
+ Choose the last day of the month to make payments for ongoing work, else choose something appropriate for a short term contract
+ Select a notice period of 30 days
+ Select for the contractor to upload necessary compliance documents
+ Select for the contractor to be potentially allocated equity in the future (if this has been agreed)
+ Under 'Other Specifics' add the following as a special clause: _Contractor agrees to comply with any rules, policies and procedures set out in the Company Handbook, a copy of which is available on the Client's website. To the extent that there is any conflict between the terms of this Agreement and the Company Handbook, the terms which are more favorable to the Contractor shall prevail._
+ +## The Week Before They Join + +Eltje and the new team member's manager will mostly do this. + + Add the team member to [CharlieHR](https://posthog.charliehr.com/) and ask them to fill in all details, upload relevant docs (e.g. passport scan). Once they are on, manually change their profile so their holiday requests are auto-approved.
+ (UK only) Send a copy of their HMRC new starter form on CharlieHR to DRG, and include their salary and if they are full or part time
+ (UK only) Ask if they want to be part of our [private healthcare](/handbook/people/benefits#private-health-insurance) and if they want to contribute our [pensions](/handbook/people/benefits#pension-and-401k-contributions)
+ Send team member a copy of this page so they can check everything has been done
+ (US only) Add the team member to [Gusto](https://app.gusto.com)
+ (UK only) Send the team member the HMRC new starter form, pass it on to DRG once signed for payroll
+ Create GSuite account for the team member
+ Add team member to 1password
+ Check that the team member is invited to the daily standups and any other regular meetings (e.g. retros, life stories)
+ Send team member a link to the [Handbook](/handbook)
+ Send team member a digital company card
+ Team member to purchase any necessary equipment as per the [spending money](/handbook/people/spending-money) guidelines
+ Ask Charles to give them $100 credit to spend on Shopify
+ Share the [Important Company Details](https://docs.google.com/spreadsheets/d/1k4o4VN5VSsgFZpVYrN28Ib0z_pCJFTJyQdfkZEHhOV0/edit?usp=sharing) sheet with them
+ Add team member to the PostHog app
+ Send them an invite to [Drata](https://app.drata.com) to do security onboarding and their background check
+ Add the team member's details to our hiring plan in Pry
+ Add the team member's share options to Captable.io (if relevant)
+ +## On Their First Day + + Manager to book a weekly 1:1 with the team member
+ (UK only) Schedule a [right to work](https://www.gov.uk/guidance/coronavirus-covid-19-right-to-work-checks) check with Eltje + Send them these instructions on adding the [team time off cal](https://intercom.help/charliehr/en/articles/839648-importing-your-time-off-calendar-to-google-calendar) to their Gcal
+ For the first week or so, book extra sessions as appropriate to provide extra help
+ Add team member to any relevant Google Groups
+ Add team member to the internal company Slack (and give them a warm welcome!)
+ Also add them to the virtual-coffee and standup channels on Slack
+ Add team member to PostHog Users Slack
+ Add team member to PostHog organization in GitHub
+ Share user interview notes with them, found in [this doc](https://docs.google.com/document/d/1762fbEbFOVZUr24jQ3pFFj91ViY72TWrTgD-JxRJ5Tc/edit). If the person is particularly interested in more historical context, here are the notes from [Q4-2020](https://docs.google.com/document/d/1gJlsUDrlW7ur8zT5scqRvXZhapm_0JdvKGiw68Iyx9E/edit), and [Q3-2020](https://docs.google.com/document/d/1vrwn-owF320otkm3oODCFjvqj7gptF6QaFFO6v-_RhY/edit).
+ Team member should add themselves to the [customer interviews calendar](https://calendar.google.com/calendar/?cid=Y19tczllaWN1Ym92ZGgxYWhzNmtoY2xpNTQ3b0Bncm91cC5jYWxlbmRhci5nb29nbGUuY29t). + +> Not a hard requirement by any means, but we highly recommended that you join a feedback call and/or product demo in your first weeks. It provides great context on our users. + +### Additional Access + +Add these if appropriate for the role: + +#### Engineering + + 'Team' group in AWS
+ PagerDuty and into on-call rotation - make sure the alerts work
+ Papercups for customer support
+ Heroku
+ Add team member to Grafana, Sentry, and ask yourself if there are any other dev tools in use that the team member needs access to (then update this list)
+ +#### Ops + + Workable if they are involved in recruitment
+ Google Voice - an admin will need to issue them a licence, add the company address and assign them a number, then invite
+ Any relevant job boards we advertise on
+ Gusto, Deel and/or CharlieHR admin access if they are involved in people ops
+ Hubspot if they are involved in customer-facing roles (e.g. sales, user interviews)
+ Any relevant banking or accounting software (very unlikely)
+ +## PostHog buddy + +Starting a new job is really exciting, but it can also be a little bit overwhelming. To make your first few weeks a bit easier, we started a buddy system. +The buddy can help with any questions that pop up and with socializing during the first couple of weeks at PostHog. Of course, everyone is available to help, but it’s nice to have a dedicated person to help. + +We will pair people in similar time zones to make sure you get the most out of each other. The goal is to have a catch up at least once a week during the first few weeks, including time to chat about non-work topics. + +## Tools we use + +We use a number of different tools to organise our work and communicate at PostHog. Below is a summary list of the most important ones - this list is not intended to be exhaustive + +### Everyone +- Google Suite - Gmail, Google Apps such as Docs, Sheets, Slides +- GitHub - most comms and product work +- Slack - we have an internal workspace and a users Slack as well +- Brex (US) or Revolut (UK) - company cards and expenses tracking +- Shopify - powers our merch store +- CharlieHR - holiday tracking, personal details + +### Engineering +- AWS +- Pagerduty +- Heroku +- Grafana +- Sentry + +### Design +- Figma - our main design tool + +### Ops +- HubSpot - for managing all sales +- Papercups - our support platform +- Pry - financial modelling +- Captable.io - cap table management +- Fondo - US accounting +- Xero - UK accounting +- Calendly - external meeting scheduling (e.g. demos, sales) +- Gusto - US payroll +- Deel - international payroll and contracts +- Workable - recruitment tool + +## Signatories + +James and Tim at this time are the only people able to sign legal paperwork on behalf of the company. diff --git a/pages/115.Handbook.SourceMaterial.people.side-gigs/default.md b/pages/115.Handbook.SourceMaterial.people.side-gigs/default.md new file mode 100644 index 0000000..ae391aa --- /dev/null +++ b/pages/115.Handbook.SourceMaterial.people.side-gigs/default.md @@ -0,0 +1,28 @@ +--- +title: 'Managing Time' +menu: 'Managing Time' +--- + +--- +title: Side gigs +sidebar: Handbook +showTitle: true +--- + +PostHog looks for passion in the people it hires. This often correlates with people who do things like public speaking or have side projects as a hobby. For example, we view pre-existing open source work as a strong qualifier that you're good enough at programming that it's fun to do rather than frustrating and hard! + +These side gigs may sometimes earn you money. Sometimes, you may one day want your side gig to become your main gig. + +We have deliberately called them "side gigs", as we are ok with you earning money on the side. We are not ok with this being your main focus and PostHog being just a paycheck. Quite simply, we are too small for PostHog not to be your main motivation. + +## Managing Time + +The key distinction to something being a side gig, and thus it being appropriate, is its impact on your work and the amount of time involved. + +A few hours a month on a paid side gig is acceptable. Over 10 hours a week on a paid or open source side gig is a significant amount of extra work which we would expect to start impacting your performance. + +If you are doing paid speaking, make it clear that you work for us, and the exception based on time does not apply - we view this as a great way to get PostHog's name out there. + +In a few cases, you may want your side gig to become your full time work one day. That is ok - please just let us know, so we can create a plan. We will try to match you with tasks at PostHog that will help your long term goals, while not impacting your work performance, and will create a timeframe for you that works. We know the key to motivated people is to help you achieve your long term goals, and to align this with what PostHog needs, whether or not you eventually achieve them with us. + +Above everything else, if you are going above and beyond for PostHog and you're still able to look after yourself properly, side gigs (whether paid or unpaid) are totally fine. We don't think that's possible beyond a certain level of time/energy commitment to them, but we are very happy for you to spend a little time on them each week. diff --git a/pages/116.Handbook.SourceMaterial.people.spending-money/default.md b/pages/116.Handbook.SourceMaterial.people.spending-money/default.md new file mode 100644 index 0000000..dd3180c --- /dev/null +++ b/pages/116.Handbook.SourceMaterial.people.spending-money/default.md @@ -0,0 +1,172 @@ +--- +title: 'Trivial Expenses' +menu: 'Trivial Expenses' +--- + +--- +title: Spending money +sidebar: Handbook +showTitle: true +--- + +There are many occasions when you will need to spend company money. + +PostHog is a lean organization - the less we spend, the more time we have to make sure the company takes off. However, it is more important you are productive, healthy, and happy. + +Please just spend company money like it's your own. + +If it's a trivial expense, just buy it. We provide you with a company card with a \$1,000/month spending limit for this reason. We use Brex for everyone, and also provide UK team members with a Revolut card. + +If you live in the UK, you should use your Revolut card for UK-specific spending (i.e. ordering from UK sites), and Brex for everything else. This is for UK accounts-reporting reasons, as we have a UK subsidiary. + +For larger expenses which don't fit into the items here, please **raise a policy suggestion for it as a pull request** in this doc, so we can document our decision making into our policy rather than making everything case by case. + +## Trivial Expenses + +Just do it. + +This means expenses that are under \$75 one off or under \$20/month recurring that we can cancel easily. + +## Saving Receipts + +Make sure you *keep copies for all receipts*. If you expense something on a company card and cannot provide a receipt, this may be deducted from your pay. + +You should default to using your company card in all cases - it has no transaction fees. If you need to use your personal card in an emergency, please just let Charles know afterwards to get reimbursed manually. + +PostHog uses Brex and Revolut's built-in expenses tracking feature. You'll find using their apps the easiest way to submit receipts. + +### Brex + +- Buy something on your Brex card. +- If it's a digital invoice, just forward it to receipts@brex.com. If it's a physical receipt, respond to the Brex or SMS notification with a picture of your receipt. +- You _only_ need to submit receipts for purchases of \$75 or more. +- That's it! + +Make sure you forward digital invoices to Brex from your PostHog email address - it won't work if you send from another email address. + +### Revolut + +- Buy something on your Revolut card. +- If it's a digital invoice, just forward it to ukinvoices@posthog.com. If it's a physical receipt, take a picture and forward it to the same place. +- You need to submit receipts for _all_ purchases. + +Accidentally bought something on the company card when it was a personal expense? Don't worry! Again, just let Charles know _as soon as you become aware_ and he will provide you with the relevant bank details for you to repay the company. + +## Making Larger Purchases + +If your purchase fits within the policy below, there is no need to ask. We **cannot** pay you back for anything without a receipt if you use your personal card. + +You may not have enough space on your company card if you're a new starter, just ask Charles (and if he's unavailable, James H or Tim) to increase your limit. + +## Equipment + +PostHog is an all-remote company. This means it's important you have an ergonomic setup at home to be as productive as possible. + +PostHog will provide you with office equipment. Please note that it remains PostHog's property. + +### Laptop + +We'd prefer you to use a laptop. This is so when we host meetups in real life, you can easily bring your work with you. We'd prefer everyone uses Apple laptops, just to keep life simpler - for example, that means everyone can use the same software, and as we get bigger, it'll mean we're dealing with one supplier, not many. + +* If you are in an engineering role, we recommend a Macbook Pro with an Intel processor with 32GB of RAM. The processor selection here is important as we want to ensure that you're able to run all the technologies in our stack and several of them have yet to be adapted on the new Apple architecture. Base processor and storage. +* If you are in a design role, we recommend a Macbook Pro with an Apple Silicon processor and 16GB of RAM. Base processor and storage. +* If you are in a non-technical role, we recommend a Macbook Air with an Apple Silicon processor and 8GB of RAM. Base processor and storage. + +These are just general guidelines - the most important thing is that you select the model that is appropriate for _your_ needs. If your requirements are different to the guidelines above please just ask. + +Apple offer multiple screen sizes. The larger screen sizes (15 inches +), are disproportionately more expensive. These make sense if you do a ton of work in coworking spaces or cafés where you do not have a second screen. If you are realistically going to do most of your work at home, it is more rational to pick a smaller laptop size, and to get a large (27 inch) monitor. + +When buying something at Apple we can get 3% cashback on purchases through Brex. You should be able to find that in the 'Rewards' tab on brex or ask Tim or Charles. + +You may be asked if you wanted to purchase Apple Care - please don't buy this as it's not great value for money. + +We would expect to spend \$1200 to \$2000 on a laptop, depending on what you need to run. We find the easiest solution is to just purchase directly from Apple's website in your territory. + +### Monitor + +For monitors, we suggest you pick one that supports 4K. This means you'll get a higher resolution than a standard HD monitor, and thus can fit more content onto the screen. + +We would expect to spend \$250 to \$350 on a monitor. Philips have a [great value model](https://www.amazon.com/Philips-276E8VJSB-3840x2160-UltraNarrow-DispalyPort/dp/B07JXCR263). It comes with an HDMI cable, but you'll need an adaptor to USB-C with most Apple laptops. + +### Keyboard, Mouse, and Laptop Stand + +We'd encourage you to buy a keyboard, mouse and laptop stand. + +Again, Apple items for keyboards and mice should be what you default to - refurbished is usually fine. + +[Nextstand](https://www.amazon.co.uk/NEXSTAND-K2-Adjustable-Foldable-Portable/dp/B01HHYQBB8) make great value laptop stands that are portable. + +### Chairs and Desks + +We find that most people already have a desk and chair that are comfortable. + +If you do not, please suggest something to us. We aren't yet at the stage where we can afford the latest and greatest here, but we will aim to be reasonable. + +For example, if you would like a standing desk, buy one you consider to be good value. + +We would expect to spend \$250 on a desk, and around the same for a chair. + +### Headphones + +If you need to work in a noisy environment and don't already have noise cancelling headphones with a microphone, feel free to buy a pair. + +We would expect to spend \$250 on noise cancelling headphones. + +## Software + +Software expenses are treated as above and will generally fall into trivial. + +We are *strongly opposed* to introducing new software that is designed for collaboration by default. There needs to be a very significant upside to introducing a new piece of software to outweigh its cost. + +The cost of introducing new collaborative software is that it creates another place where todo items / comments / communication can exist. This creates a disproportionate amount of complexity. + +Our entire stack for collaborative software is pleasingly simple. All we use is: + +* Google Sheets - spreadsheets +* GitHub - documents, code, discussion +* Slack (premium) - chat (although we encourage you to default into discussion of features/strategy etc into GitHub) +* PostHog - product analytics +* Figma - graphic design + +Individual software is down to your personal preference, and we encourage you to share cool software. + +### IDEs + +* IDEs range widely in cost. Best in class IDE suites can cost up to \$700, which is a bad value proposition for most engineers. However, we are happy to revisit this policy if you have very specific needs. +* Before then, if you wish to spend up to \$200 on an IDE, that is fine. Visual Studio, VIM and PyCharm are the most popular within our team. + +## Work Space + +We care about you being healthy, happy and productive. + +While PostHog will use the money saved from not having office space for real life meetups, we are happy to cover some expenses related to where you work. Most people do most of their work from home, but we understand that getting out of the house from time to time can help you escape cabin fever! + +You can spend up to \$200/month to work in cafés or coworking spaces if working from home is impractical. As always, you must provide receipts for all costs, and in this case, they must only be for yourself. + +If you live in the US, a particularly good way to use this budget is to cover the cost of Amex Platinum which provides WeWork access. Outside of the US, you may sign your own agreement or buy day vouchers as needed. We will not cover costs beyond this amount of money. + +## Celebrations and life events + +It's important to us at PostHog to celebrate team member milestones and achievements. + +**Birthdays** + +We have a budget of $50 for a personalised birthday gift. Eltje will reach out to the team a week before the birthday to start a virtual birthday card and ask for gift ideas. + +**PostHog anniversaries** + +For every PostHog anniversary, we will donate $50 to a charity of your choice. And just like for birthdays, we will also send a virtual card. + +**Significant life events** + +For events like childbirth, weddings, return to work after extended sick leave or the loss of a loved one, Eltje will send flowers and a gift, the budget is $100. We will also send a virtual card. + +## Client Meetings + +If you are meeting a user for an interview or a potential customer, we would encourage you to pick up the bill. + +At PostHog's current stage, a fancy coffee shop is encouraged. A fancy lunch or dinner is not. + +## Training + +We have a separate section on spending money on [training](/handbook/people/training) (which covers things like books and conferences). diff --git a/pages/117.Handbook.SourceMaterial.people.team/default.md b/pages/117.Handbook.SourceMaterial.people.team/default.md new file mode 100644 index 0000000..25e3d8f --- /dev/null +++ b/pages/117.Handbook.SourceMaterial.people.team/default.md @@ -0,0 +1,715 @@ +--- +title: 'Core Team' +menu: 'Core Team' +--- + +--- +title: Team +sidebar: Handbook +showTitle: true +hideAnchor: true +--- + + + +
+ +
+ +

We are proud to be misfits. Why?

+ +Building an unusually great company starts with an unusual team. + +We don't care if you haven't finished (or attended) school, if you were super important at a FAANG company or if you ran a startup that crashed and burned. + +What we do care about is your ability to learn, iterate, and ship. + +That's why we have people in Belgium, the East and West coast of the US, England, Estonia, South Africa, the Democratic Republic of Congo, among other places. Learn more about [diversity](diversity) at PostHog. + +
+ +
+ +
+ +![Remote work globe animation](../../images/team/team-global.gif) +
Our team of 22 is distributed across 10 countries. + +
+ +
+ + + +
+ +## Core Team + +
+ + + +
+ +
+ +### James Hawkins, Co-Founder & CEO + +
+ +I spent the first 10 years of my career trying to be a professional cyclist. I used to do web development part time to make some money on the side. I wasn't particularly good at either. + +I live in Cambridge with Fran (wife), Ruby (daughter), and Wally (cat). Since you're probably wondering, the cat's name is a reference to [WALL-E](https://en.wikipedia.org/wiki/WALL-E) - work for us to find out why. + +After a growing sense of my own mortality combined with a bunch of large crashes put me off continuing with my cycling career, I bootstrapped an online marketing company to several million dollars a year. + +I wanted more experience of working in a VC backed startup, so I could work on something really ambitious. I moved to [Arachnys](https://arachnys.com), and somehow wound up as a their VP of Sales for a little over 4 years, where I used to manage a team selling very large enterprise software deals. We learned how to take our sales from an average of \$5K/year to over \$1M/year. + +I started working with Tim on a few ideas that didn't work out in August 2019. We built PostHog during the YCombinator W20 batch, and launched in February. You can work out what I've been up to since by stalking me online. + +
+ +
+ +
+ +
+ +![James Hawkins portrait](../../images/team/JamesH.png) + +
+ +
+ + + +
+ +
+ +### Tim Glaser, Co-Founder & CTO + +
+ +I've been coding since I've been 11, which isn't as long ago as I'd like it to be. Someone first paid me to write code when I was 13 (though I'm sure they regretted it) and [someone else](https://en.wikipedia.org/wiki/Cloud9_IDE) gainfully employed me when I was 16. + +Originally from the Netherlands, though I quickly moved to London (I do not generally enjoy nice weather) where I joined Arachnys and shortly afterwards met James Hawkins. I went from being a software engineer, to product manager, to "leading" an R&D team, which consisted of just me. + +After four years I thought it was time to go do something else and had lined up a new job. Roughly 37 seconds after it was announced James wanted to "grab a beer." While plying me with alcohol, he convinced me to give up this fancy new job and instead start a startup with him. + +In my 'spare' time, I fall down snowy mountains, wrestle in the mud over an egg-shaped ball and watch a lot of Bondi beach in order to perfect my Australian accent. + +[See my README for tips on how to work with me](/handbook/company/team/tim-glaser) + +
+ +
+ +
+ +
+ +![Tim Glaser portrait](../../images/team/Tim.png) + +
+ +
+ + + +
+ +
+ +### Marius Andra, Software Engineer + +
+ +I first got into programming in 1994 when I wanted to make my own computer games... and asked my father for help. He sat me behind a Turbo Basic interpreter, wrote `PRINT "Marius on tubli poiss"` and then left me there. I was 8 years old. + +Luckily we had a [Yamaha YIS-805/128R2](https://www.msx.org/wiki/Yamaha_YIS-805-128R2) lying around... with floppy disks full of random .BAS files. I was hooked. Cue to the beautiful loops of CLS, PRINT and GOTO statements that ensued. I even made some games where you could move two dinosaurs who got points when they kissed each other. It was glorious. + +I also got into "web development" in 1997 after seeing Netscape at my mother's university. They even provided me with a generous 10MB of space to host my own [beautiful website](https://web.archive.org/web/19980128032518/http://rasi.lr.ttu.ee/~marius/), complete with animated gifs, a Mortal Kombat fanpage and a strong recommendation to use 800x600 with HiColor! + +This was followed by years of writing games in C++ and then [writing tutorials](https://web.archive.org/web/20110626030555/http://cone3d.gamedev.net/) about them, coding websites in Perl, PHP, Java and Ruby... and "losing" a decade as the CTO of two failed startups. + +On the side I built an [open source database analytics platform](https://github.com/mariusandra/insights)... and when that [got on Hacker News](https://news.ycombinator.com/item?id=22347516), James reached out... and the rest is history. + +These days I live in Belgium and code [state management libraries](https://kea.js.org/) in JavaScript for fun. + +
+ +
+ +
+ +
+ +![Marius Andra portrait](../../images/team/Marius.png) + +
+ +
+ + + +
+ +
+ +### Eric Duong, Software Engineer + +
+ +I recently graduated and while in college I helped cofound a social dining platform. I spent two years trying to get strangers to cook and dine with each other. In reality, it turned into a 2 year stint of teach yourself as much mobile development as you can while simultaneously trying to build a usable platform. My cofounders and I had our fair share of contemplating dropping out of school and becoming a unicorn in 5 years—it didn't work out. + +Somewhere along the way I fell down the bitcoin rabbit hole and after realizing day trading crypto wasn't a feasible nor fulfilling long term goal, I remained fascinated by digital currency. This led me to briefly work with a company building a digital cash transfer system for developing economies. + +I currently work as a generalist around most of Posthog's stack building many of the user-facing features but occasionally pick up backend tasks. + +To end with an obligatory "I dO MoRE ThAN COdE" detail: I plan to take advantage of Posthog's all remote policy to travel and hike as many major mountain treks around the world as possible. Ambitions subject to change as always though. + +
+ +
+ +
+ +
+ +![Eric Duong portrait](../../images/team/Eric.png) + +
+ +
+ + + +
+ +
+ +### James Greenhill, Software Engineer + +
+ +When I was a kid the first thing I remember wanting to be was a pilot, so naturally here I am knee deep in code and data! + +Growing up was slightly different in Florida. Things that are normal there are growing up in the water and spending almost all of your free time in it. In the Gulf of Mexico for me. We’d go swimming, scuba diving, or fishing in that warm body of water almost every weekend. + +Nowadays I’m spending my free time on a bike finding some new trail up in the northern bits of the Bay Area that I call home now. If not on a bike you’ll find my friends and I on a hike either around here or over in Tahoe or some National Forest east of here. Lately I’m trying to get back into flying. I’ve got about 80 hours of flight in the book, but still don’t have my ticket! It’s time to change that. In the winter time you can find me ruining skis on some mountain. + +In my professional life I’ve generally managed mopping up the 1’s and 0’s. I’ve led data at an [upstart music streaming company](https://en.wikipedia.org/wiki/Grooveshark), and dove way too deep into the depths of the comment section leading data at [Disqus](https://en.wikipedia.org/wiki/Disqus). Kept an eye on a fleet of [Autonomous Ubers](https://en.wikipedia.org/wiki/Uber#Self-driving_car_research). Most recently I combined my interest in bikes with data leading data engineering at [Jump](https://en.wikipedia.org/wiki/Jump_(transportation_company)), still the best micromobility company out there. + +When I’m not out and about in nature you can find me at home with my cat Tesla and Taco our goofball of a Lab Corgi mix. + +
+ +
+ +
+ +
+ +![James Greenhill portrait](../../images/team/JamesG.png) + +
+ +
+ + + +
+ +
+ +### Michael Matloka, Software Engineer + +
+ +Got into software by tinkering with bada OS – if anyone even remembers that! – and just never stopped (though I did move to Android soon and later became an iOS fan). + +Before graduating from high school here in Poland – and having some open-source projects under my belt, including [a Discord bot with thousands of users that became my gateway to Python](https://github.com/Twixes/somsiad) – I decided that the most interesting way to grow and meet some great people along the way will be to work on a quality product commercially. + +Happy to report that I ended up joining PostHog, where open-source software, a quality product and great people all mix freely! +In free time, I dabble in [outer space](https://www.kerbalspaceprogram.com/), [math](https://codepen.io/Twixes/pen/Zwxxdv), [design](https://www.lingscars.com/), [photography](https://unsplash.com/@twixes) and [cinema](https://www.nowehoryzonty.pl/index.do?lang=en). Decidedly a fan of precipitation and overcast weather, I have a secret plan to move to the Nordics or the UK one day. + +
+ +
+ +
+ +
+ +![Michael Matloka portrait](../../images/team/Michael.png) + +
+ +
+ + + +
+ +
+ +### Paolo D'Amico, Product Team + +
+ +I started coding when I was about 9 years old, starting with the very basic LEGO RCX & Turbo Pascal language. I always enjoyed learning new languages, frameworks or technologies on my own, especially with a good book. Funnily enough, I decided not to study computer science. + +Before joining PostHog, I lead a product team at Grow Mobility, the largest micro-mobility company in Latin America at the time. Before that, I co-founded Flinto, a Y Combinator startup targeting financial inclusion in developing economies. I enjoy reading while walking around strange places, and have tripped more than once. + +
+ +
+ +
+ +
+ +![Paolo D'Amico portrait](../../images/team/Paolo.png) + +
+ +
+ + + +
+ +
+ +### Lottie Coxon, Graphic Designer + +
+ +I am from the UK - so by default I love the pub, marmite and tea (but not all at once, that would be a sin). + +I spent my youth trying to master fine art, after my teacher said I was awful and that I should try something else. +In my stubbornness I decided to prove her wrong, and here I am - a designer. + +I was quite a weird child. I once ran a race with locked legs (Forest Gump style) because I had a dream the night before that I won by doing so. For those who are wondering, no I did not win. But I would rather be the weird child than the boring one. + +I took Graphic Design at university and graduated this summer and instead of a summer of fun, I was faced with a crashing economy, a pandemic and and a collapsing job market. But thankfully, after putting my portfolio on twitter, I was contacted by PostHog a mere 24 hours later. + +I am now their Graphic Designer, and spend my days composing layouts for the website, designing the product’s aesthetic, and most importantly drawing hedgehogs with sunglasses on. + +On a side note I have decided to move to Senegal (Africa) to be with my boyfriend George. It’s a bold decision really as I cannot speak French, but I will (try) learn. + +*French accent* C’est la Vie + +
+ +
+ +
+ +
+ +![Lottie Coxon portrait](../../images/team/Lottie.png) + +
+ +
+ + + +
+ +
+ +### Yakko Majuri, Developer Experience + +
+ +Often on the move, sometimes by choice, and sometimes by chance, I'm a Brazilian-Finn who has lived in 5 countries across 4 continents. + +Passionate about teaching (but far from an academic), I taught an official high school course before graduating high school, became a Visiting Scholar before joining university, and presented my first paper at the European Central Bank during my freshman year (anonymous submission - they thought I had a PhD). + +Prior to PostHog, I was a technical consultant for clients which included a Fortune 500 company. A fan of building useful things, I'm a self-taught developer who has worked on an a wide variety of projects, from a travel app, to multiple websites and browser extensions, and even some white-hat hacking. For the past three years, I developed a nice habit of writing about my projects, which led me to a [Medium page](https://yakkomajuri.medium.com) that surpassed 250k views in just 30 days. + +When I'm not working, I have been found hitchiking in foreign lands, taking pictures of political demonstrations, and trying to learn Korean after one too many beers. I'll pick playing cards with my grandmother over the club on any Friday night, and my favorite place to spend the Saturday is on top of a mountain. + +Oh, and I'm also part of the select group of software developers who have won a dunk contest in their lifetime. If that means anything. + +
+ +
+ +
+ +
+ +![Yakko Majuri portrait](../../images/team/Yakko.png) + +
+ +
+ + + +
+ +
+ +### Karl-Aksel Puulmann, Software Engineer + +
+ +I spent my childhood in a tiny village in the middle of nowhere (Väätsa, Estonia), playing football, working in construction and driving tractors. I used it buy my own computer, but did not do much more than listen to music, play games and watch anime with it. + +Things changed in highschool, where we had a programming class. I started creating my own games, participating in competitions (even going to International Olympiad once) and generally learning and reverse engineering anything I could get my hands on. + +Some time has passed since then - I have since been a student, teacher, first engineer at a guitar learning startup, worked in fintech, helped scale a database cluster holding 1PB of data at an analytics company, learned and helped automate manufacturing of stickers, been a CTO in agritech startup and now learning how this open source business works. + +In personal life, you can find me in the wilderness looking for geocaches or hiking, buying too many books and recently trying to figure out this parenting thing. + +
+ +
+ +
+ +
+ +![Karl portrait](../../images/team/Karl.png) + +
+ +
+ + + +
+ +
+ +### Charles Cook, Business Operations + +
+ +Born and raised in the United Arab Emirates, I'm half British, half Lebanese, and lived in a variety of places growing up across the Middle East, Africa and Europe. Now based in London, I live with my wife Steph and son Remy, who was serendipitously born right at the beginning of lockdown here in the UK. + +I take care of all things business ops-related at Posthog, across finance, people, legal and basically anything else that doesn't involve actually building the product! Posthog is now my 3rd startup - I was previously COO at [Vitl](https://vitl.com), (personalised nutrition), and before that I was Director of Product at [ROLI](https://roli.com) (electronic music products). + +I'm a big fan of terrible jokes, beautifully crafted sandwiches and looking at [designer houses](https://www.themodernhouse.com/) I will never live in. I like to occasionally torment my son with my piano playing and spend more time than is probably reasonable making lists of things, à la [High Fidelity](https://en.wikipedia.org/wiki/High_Fidelity_(film)). + +[See my README](/handbook/company/team/charles-cook) on tips for how to work with me. + +
+ +
+ +
+ +
+ +![Charles Cook portrait](../../images/team/Charles.png) + +
+ +
+ + + +
+ +
+ +### Eltje Lange, People and Talent + +
+ +Hi, I'm Eltje (_pronounced Elt-ie_), originally from Northern Germany, I moved to the UK in 2017 and I am now based in East London. + +Just like James, I used to be a professional cyclist until I realised you can’t make a living as a female cyclist. After a short identity crisis, I started university with the goal to become a management consultant. That never happened, I luckily realised my skills and personality are much better suited in a people (I guess non-startup people call it HR) role. + +At PostHog I look after our People and Talent function and my goal is make PostHog THE best company to work for. Previously I worked in very a similar role at a startup called [Farewill](https://farewill.com), who offer services around death (yes, you read right). Prior to that, I worked for a couple of companies later on the scaling journey, like [TransferWise](https://transferwise.com/) and [Xing](https://xing.com). + +Outside of work, I am working on my [Masterchef](https://en.wikipedia.org/wiki/MasterChef) skills and you can usually find me outdoors - either on my bike or during a long walk. + +
+ +
+ +
+ +
+ +![Eltje portrait](../../images/team/Eltje.png) + +
+ +
+ + + +
+ +
+ +### Cory Watilo, Lead Designer + +
+ +As one of the few PostHoggers who never attempted to enter the world of professional cycling, I instead spend much of my free time exploring new coffee shops or wine bars, generally sipping a cold brew iced coffee in the morning and a nice rosé once it hits 5:00 somewhere. + +Due to the fact that I generally require both warmth and sunshine to function at any normal capacity, my wife and I bought an RV a couple years ago and hit the road fulltime, our sole requirement being that wherever we travel _must_ have a [UV index](https://www.google.com/search?sxsrf=ALeKk010aYaVBhFgzWm_AysLPp_ytPyFRg:1610376210393&q=What+is+the+best+UV+index+to+tan%3F&sa=X&ved=2ahUKEwjMk-bvjpTuAhXBp1kKHXVtDIwQzmd6BAgTEAU&biw=1080&bih=946&dpr=2) of 6 or greater. (At 45 feet long, our RV is larger by square footage than many apartments in New York or San Francisco!) + +Our party of 2 became a party of 3 last year. 🎉 Now that I am officially a dad, I am now legally entitled to make dad jokes. So in light of the rich cycling history of our company, I present the following: "Why couldn't the bicycle stand up by itself? It was two tired." + +
+ +
+ +
+ +
+ +![Cory portrait](../../images/team/Cory.png) + +
+ +
+ + + +
+ +
+ +### Kunal Pathak, Growth Engineer + +
+ +Hi! My name is Kunal. I'm a Bay Area native and a bit of a startup vet. + +I love helping teams discover new ways to apply data, product, and engineering to drive business outcomes. +Most recently, I led the growth team at Amplitude and at an education technology startup prior to that. + +When I'm not working on growth, you'll find me studying the Mamba Mentality, re-learning guitar chords, or making some ravioli (a lasagna if it's going poorly). + +In terms of cycling– a friend once convinced me to go on a bike ride from San Francisco to Mill Valley. We took the ferry home. + +
+ +
+ +
+ +
+ +![Kunal portrait](../../images/team/Kunal.png) + +
+ +
+ + + +
+ +
+ +### Buddy Williams, Software Engineer + +
+ +Howdy! I live in Atlanta, Georgia with my amazing partner of five years. I have +two truly wonderful kids, boy-9 and girl-12 who both level up in July. Oh, +geez, I'll have a teenager! I'm a hobbyist: unicycles, juggling, +acroyoga, hiking, cooking, rollerblading, skiing, climbing, and +lifting. My partner and the kids especially love hiking, playing video games, +and performing amazing acroyoga feats for folks in the park. +​ +I got started in programming at twelve years old. My grandfather was a +retired FFA engineer with access to old decommissioned hardware. He'd +bring it home for me to play with. My first computer was a TI-99/4A +where you recorded your programs on cassette tapes! I fell in love with +programming because I enjoyed both creative and reason based projects. +From drawing and crafts to math, science, and philosophy. Programming +gave me a big canvas for imaginary worlds, a place for self-expression +I hadn't found anywhere else. +​ +I was sixteen when I landed my first programming gig as a frontend engineer +for an agency. Afterwards, I helped co-found a radiology software company who +ensured patients received follow-up care. These patients were slipping +through the cracks, leading to fatal results not to mention expensive legal +settlements. From there I worked in big tech where I learned corporate politics +were no fun. After a few years of exploring I went back to my roots and founded +a tech consultancy. During this time, I had an idea for a revolutionary platform +for designers. So, I built a no-code app platform that allowed creatives to +design applications rather than code them. It was a wild and exhausting ride! +After a few years of catching my breath, I joined up with PostHog to +pursue their mission of making more successful products in the world! +I'm looking forward to all we will accomplish together. + +
+ +
+ +
+ +
+ +![Buddy Williams portrait](../../images/team/Buddy.png) + +
+ +
+ + + +
+ +
+ +### Li Yi Yu, Full Stack Engineer + +
+ +HI! I'm Li from NYC. I fell in love with coding towards the end of college, jumped into a programming bootcamp right after, worked at a healthtech company for two years, and here I am today! + +Some things I enjoy: karaoke, Switch/PC/board games, a good movie or series, struggling on hikes because I've spent too much time indoors, and exploring the NYC food scene. + +
+ +
+ +
+ +
+ +![Li portrait](../../images/team/Li.png) + +
+ +
+ + + +
+ +
+ +### Sam Winslow, Full Stack Engineer + +
+ +Hi! I’m Sam. I recently graduated from NYU, where I studied the interaction of media, technology & society. My earliest experiences with programming were building games on a TI-83 calculator and teaching myself BASIC at age 10. The first application I made was an MS Paint clone. I have worked in design, marketing, and software engineering since then. + +In my free time, I love building hardware projects, reading about logic & philosophy, cycling around NYC, and taking care of my puppy, Louie. + +One of the projects I'm most proud of was a social network for sharing music reviews. We had modest success among college students, and the biggest lesson I learned was that I wanted to spend more time coding new features and less time fighting the analytics tools in order to figure out what to build. + +I am always at the beginning of my journey to learn. + +
+ +
+ +
+ +
+ +![Sam portrait](../../images/team/Sam.png) + +
+ +
+ + + +## Contributors + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
diff --git a/pages/118.Handbook.SourceMaterial.people.team-structure.core-experience/default.md b/pages/118.Handbook.SourceMaterial.people.team-structure.core-experience/default.md new file mode 100644 index 0000000..81c236b --- /dev/null +++ b/pages/118.Handbook.SourceMaterial.people.team-structure.core-experience/default.md @@ -0,0 +1,44 @@ +--- +title: 'People' +menu: 'People' +--- + +--- +title: Team Core Experience +sidebar: Handbook +showTitle: true +hideAnchor: true +--- + +## People + +- [Eric Duong (Team Lead, Full Stack Engineer)](/handbook/people/team/#eric-duong-software-engineer) +- [Paolo D'Amico (Product Manager)](/handbook/people/team#paolo-damico-product-team) +- [Buddy Williams, Full Stack Engineer](/handbook/people/team/#buddy-williams-software-engineer) +- Sam Winslow, Full Stack Engineer +- [Li Yi Yu, Full Stack Engineer]((/handbook/people/team/#li-yi-yu-software-engineer)) + +## Mission + +To create the easiest way to discover insights about products and its users + +## Responsibilities + +- Extending feature set as suggested by requests, by our own ideas, and by need for parity with other platforms +- Maintaining data quality and clarity +- Ensuring performant and clear user experience across all analytics functionality + + +## Customer + +- Any PostHog user, whether they're an engineer or a product manager, should be able to effectively analyze their product. + +## Output metrics + +- Retention per feature + +[Dashboard](https://app.posthog.com/dashboard/1124) + +## Slack channel + +[#team-core-experience](https://posthog.slack.com/messages/team-core-experience) diff --git a/pages/119.Handbook.SourceMaterial.people.team-structure.design/default.md b/pages/119.Handbook.SourceMaterial.people.team-structure.design/default.md new file mode 100644 index 0000000..e6abec6 --- /dev/null +++ b/pages/119.Handbook.SourceMaterial.people.team-structure.design/default.md @@ -0,0 +1,46 @@ +--- +title: 'People' +menu: 'People' +--- + +--- +title: Team Design +sidebar: Handbook +showTitle: true +hideAnchor: true +--- + +## People + +- [Cory Watilo (Team lead, Lead Designer)](/handbook/company/team/#cory-watilo-lead-designer) +- [Lottie Coxon, Graphic Design)](/handbook/company/team#lottie-coxon-graphic-designer) +- Mike Nicklas, Front End Engineer + +## Mission + + + +## Responsibilities + +- Support Small Teams (and contributors) in building better versions of PostHog +- Enable customers to build better products (using PostHog) +- Communicate to prospective customers the value we provide + +Tangibly, we: + +- Initiate new projects to support the responsibilities above +- Support Small Teams in completing their sprint tasks +- Iterate based on feedback from customers + +## Customer + +- The other small teams - [here is a guide](handbook/company/working-with-design) on how to best work with the Design team. + +## Output metrics + +- Acquisition +- Retention + +## Slack channel + +[#team-design](https://posthog.slack.com/messages/team-design) diff --git a/pages/12.Handbook.Board.Charters.NonProfit-Committee-Charter/default.md b/pages/12.Handbook.Board.Charters.NonProfit-Committee-Charter/default.md new file mode 100644 index 0000000..32274fe --- /dev/null +++ b/pages/12.Handbook.Board.Charters.NonProfit-Committee-Charter/default.md @@ -0,0 +1,247 @@ +--- +title: 'Non Profit Committee Charter' +menu: 'Non Profit Committee Charter' +--- + + +# Non Profit Committee Charter + +## Non Profit Committee Responsibilities + +### Organization Related + +The Non Profit TSYS Group Entities: + +* Americans For A Better Network INC +* Side Door Group INC +* Side Door PAC INC + +are managed by the Non Profit Committee. + +### Primary duties of the Committee: + +1. To determine, create, and review the Entities mission and purpose. The Committee ensures that the Entities current mission statement +correctly expresses the Entities goals, its means, and the individuals the Entity primarily serves. + +2. Hire, supervise and evaluate the Executive Director. + +3. Ensure that the Executive Director has the support needed to further the mission of the organization. + +4. Participate in organizational planning, assist the Executive Director in implementing and monitoring the plan. + +5. Provide financial oversight including approving the annual budget and ensuring that proper financial controls are in place. + +6. Ensure that the organization is complying with legal and ethical standards. + +7. Board members should be able to articulate Entities mission, accomplishments, and vision to the public. + +8. Recruit new Board members and assess overall Board performance. + +9. Board members should strive to garner support (financial and otherwise) from the community. + +10. Determine, monitor, and strengthen Entities programs and services. + + +## Committee Role in the Operations of Non Profit entities + +1. Refrain from making special requests of the staff. + +2. Suggest nominees to the Committee who can make significant contributions to the work of the Committe and the Entities. + +3. Actively participate in functions and special events, as well as, educate others about the Entities. + +4. Be informed about Entity mission, services, policies, events, and keep up-to-date on developments in the area of internet access equality. + +5. Maintain strict adherence to TSYS Group conflict of interest and confidentiality policies. + +## Meetings + +The Committee meets approximately 10 times each year. The President of the Committee may call special meetings as needed. + +The Committee annual meeting is held every September. + +The Committee meets every month on the first Tuesday from 7:30 to 9:30 p.m CST + +Meetings may be attended remotely through electronic means. + +The presence of fifty percent (50%) of the directors at any meeting constitutes a quorum. + +## Term of Office + +Board members are elected to a two-year term of office. The term is without compensation. The Board is made up of 3 to 15 members. Terms begin in November at +our annual meeting and expire at the conclusion of the second annual meeting following their election. + +A director can only serve for three consecutive terms. Following completion of a director’s term, he or she is eligible for re-election after a one year +waiting period. + +## Orientation + +Generally, following appointment of new member to the Committee, an orientation will be conducted. All members of the Committee are expected to participate. + +## Committee Attendance Policy + +The Committee attendance policy helps to ensure full contribution of all Committee members. + +The Committee meets at least ten (10) times a year. A Committee attendance problem occurs if: + +1. A Committee member has two (2) unexcused absences in a row meaning the member did not communicate ahead of time to indicate they would be unable to attend. + +2. A Committee member has three (3) excused absences in a row. + +If a Committee attendance problem develops, the Committee President will promptly contact the Director to discuss the problem. The Director’s response +will be shared by the Committee President with the entire Committee at their next meeting. In that meeting, the Committee will decide what action should take +place (if any) regarding future membership. The Committee may choose to initiate removal proceedings. + +## Officers of the Committee + +The officers of the Committee serve one year terms in their respective offices. Any officer of the Committee may be removed by the two-thirds vote of the +voting Directors whenever in its judgment the best interests of the Entities will be served. + +### President + +1. Is a member of the Committee and serves as the chief volunteer of the Entities. +2. Presides at all meetings of the Committee after developing the agenda with the Entity Executive Directors. +3. Encourages the Committee role in strategic planning. +4. Appoints the chairpersons of sub committees, in consultation with the other Committee members. +5. Plays a leading role in fundraising activities. +6. Is a partner and liason with the Executive Director in achieving the mission of the Entities. +7. Reports to the full TSYS Group Board Of Directors on the committee’s decisions and recommendations. + +### Vice President + +1. Is a member of the Committee. +2. Performs responsibilities of the Committee President when the President is not available. +3. Works closely with the Committee President and the Group Entity staff to achieve the mission of the Entities. + +### Treasurer + +1. Is a member of the Committee. +2. Assists the Executive Director with fiscal matters of the organization, including account signature and reimbursement authorization of the Executive Director. +3. Works closely with the Entity's Executive Director to assure financial accountability. +4. Ensures development and Committee review of financial policies and procedures. +5. Works with Entity's Executive Director in reviewing the annual budget and financial reports for the Committee. + +### Secretary + +1. Is a member of the Committee. +2. Maintains records of the Committee and ensures effective management of the organization’s records. +3. Manages minutes of the Committee meetings and ensures minutes are distributed to members shortly after each meeting. +4. Is familiar with legal documents (e.g. Articles of Incorporation, Bylaws, and IRS letters) to note applicability at meetings. + +### Sub Committees + +The Committee can establish sub committees to assist them in conducting their business. Sub Committee meetings are held on an as needed basis. +Times and dates are set by the sub committee chairperson. All members of the Committee are expected to serve on at least one sub committee. + +### Executive Sub Committee + +The Executive Sub Committee oversees the operations of the Committee and often acts on behalf of the Committee during on-demand activities that occur +between meetings and these acts are later presented for review by the full Committee . The Executive Sub Committee is also responsible for completing an +annual performance evaluation for the Entity Executive Director and assists the Entity Executive Director with management and personnel matters. + +The Executive Sub Committee is comprised of the officers of the Committee. + +### Fundraising Sub Committee + +This sub committee ensures that funds are raised to enable the Entities to fulfill their mission. The members consider ways to finance the Entities beyond +charitable solicitations, e.g. earned income, fees, contracts. + +### Finance Sub Committee + +The Finance Sub Committee recommends policy regarding the Entity finances and assets and ensures adequate financial controls. The members assume +responsibility for safeguarding any endowment or reserve funds. + +### Nominating Sub Committee + +The Nominating Sub Committee members ensure the Committee has an effective process and structure in place to conduct business. They are responsible for +planning the Committee retreat, sub committee development, ongoing training of Committee members and Committee evaluation. + +This sub committee is responsible for recruiting, screening and orienting new Committee members. + +### Public Relations Sub Committee + +This sub committee promotes awareness of the Entities in the community and works to ensure the Entities enjoys a good public image. +Members are available to present to community organizations on the role of the Entities and the services they provide. + +### Ad Hoc + +From time to time, an ad hoc sub committee may be formed to accomplish a specific goal and then ceases to exist. Examples of ad hoc committees might +include: + +* Capital Campaign + +* Special Events + +* Strategic Planning + +* Facility + + +## Roles and Responsiblities + +| Activity | Board | Executive Director | +|----------|-------|--------------------| +|Develop long term goals (more than 1 year) | Approves | Recommends and provides input| +|Develop short-term goals |Monitors | Establishes and carries out| +|Day to day operation of the Center |No role | Makes all management decisions| +|Budget | Approves | Develops and recommends| +|Capital purchases over $5,000 | Approves | Prepares request| +|Approving expenses over $5,000 | Approves | Obtains estimates and prepares recommendation| +|Decisions on building renovations and expansion | Makes decisions, assumes responsibility | Makes recommendations| +|Authorize purchase of supplies |Approves budget | Purchases according to agency need| +|Minor repairs | Approves budget | Authorizes repairs up to $5,000| +|Hiring of staff | No role | Hires staff| +|Hiring Executive Director | Responsible for the hiring of Executive Director | No role| +|Staff assignment and supervision | No role | Responsible for assigning work and supervising| +|Terminate staff | No role | Makes final termination decision| +|Staff grievances| Has a role in grievances process, but only as it pertains to disciplinary action| All other grievances stop at the Executive Director who is responsible for enforcing policies| +|Staff salaries| Allocates line item for salaries in budget| Reviews and make recommendations at time of annual budget| +|Personnel policies |Approves | Recommends and administers| +|Staff evaluation |Evaluates Executive Director |Evaluates all other staff| +|Raising funds to support the Entities| Joint| Joint| + +## Committee and Staff Relationships + +The Executive Director is responsible for the hiring, termination and daily management and supervision of the Entity staff. + +It is important for the Entity members to maintain appropriate roles and boundaries with staff and adhere to rules of +confidentiality. For instance, if a staff person or volunteer approaches a Committee member with concerns or complaints about +the Entities operation, the Committee member should refer the matter back to the Executive Director. + +## Commitee Member as representative of Entity + +Committee members should be well informed of the mission and goals of the Entities. Each member should strive to educate, inform, and +recruit support for the programs in the community. + +Bearing in mind, that there may be situations in which Committee members should direct questions posed to them to the Executive Director or President. + +The situations may be when a Committee member is unsure of the answer or when: + +* Media involvement in a well publicized case + +* Inappropriate actions by staff or a Committee member + +* Liability or lawsuits + +It is important that when a Committee member has a question about a public statement, the Committee member first seek assistance from the organization. + +## Conflict of Interest + +Any duality of interest or possible conflict of interest on part of any Committee member should be disclosed to other Committee members and made a +matter of Committee action. + +Committee members shall not benefit financially from their association with the TSYS Group. + +Any Committee member having a duality of interest or possible conflict of interest on any matter should not vote or use his/her personal influence on +the matter and he/she should not be counted in determining the quorum for the meeting. + +The minutes of the meeting should reflect that a disclosure was made and that the Committee member abstained from voting. + +Committee personal relationships should not be used to influence decisions regarding staff hiring, evaluation, the choice of vendors, +or the provision of programs and services. + +Committee members should not request staff members to support their political positions or assist in their campaign for public office. + +Committee members are not allowed access to confidential organization records simply because of their position on the Committee and should not request +staff to breach confidentiality. + diff --git a/pages/120.Handbook.SourceMaterial.people.team-structure.extensibility/default.md b/pages/120.Handbook.SourceMaterial.people.team-structure.extensibility/default.md new file mode 100644 index 0000000..80c472a --- /dev/null +++ b/pages/120.Handbook.SourceMaterial.people.team-structure.extensibility/default.md @@ -0,0 +1,64 @@ +--- +title: 'People' +menu: 'People' +--- + +--- +title: Team Extensibility +sidebar: Handbook +showTitle: true +hideAnchor: true +--- + +## People + +- [Marius Andra (Team lead, Full Stack Engineer)](/handbook/company/team/#marius-andra-software-engineer) +- [Michael Matloka (Full Stack Engineer)](/handbook/company/team/#michael-matloka-software-engineer) +- [Yakko Majuri (DevRel + Full Stack Engineer)](/handbook/company/team/#yakko-majuri-technical-writer-and-developer) + +## Mission + +Team Extensibility's job is to turn PostHog into a platform that everyone can integrate with. +In essence, we enable users to: +- get data _into_ PostHog +- get data _out of_ PostHog +- extend PostHog itself according to their needs + +## Responsibilities + +Team Extensibility is particularly responsible for: +- the plugin server +- the data ingestion pipeline +- PostHog integrations with all sorts of platforms (JS, Go, iOS, Zapier, Segment, etc.) +- the user experience of extensibility features in PostHog (e.g. plugins, webhooks) + +## Priorities + +1. Making sure there are no cracks in the walls and that we always keep in mind safety, security, and data + integrity of our systems. We code defensively, prefer allowlists to denylists, and so on. +2. A fabulous user experience. Connecting things to PostHog either via plugins or integrations + should spark joy. + +## Customer + +- Plugin developers, contributors to extensibility +- Plugin users (and in extension, all PostHog app users – who we'd love to make use of plugins) +- Integration users + +## Output metric + +- Number of plugins installed and/or in active use +- Used plugin-seconds on cloud, breakdown by team (for billing) +- Number of integrations and their usage + +[Dashboard](https://app.posthog.com/dashboard/1865) + +## Meetings + +- Sync: Monday, 9:00 UTC +- Sync: Wednesday, 15:00 UTC +- Internal release planning: Friday every other week + +## Slack channel + +[#team-extensibility](https://posthog.slack.com/messages/team-extensibility) diff --git a/pages/121.Handbook.SourceMaterial.people.team-structure.growth-engineering/default.md b/pages/121.Handbook.SourceMaterial.people.team-structure.growth-engineering/default.md new file mode 100644 index 0000000..106f2c0 --- /dev/null +++ b/pages/121.Handbook.SourceMaterial.people.team-structure.growth-engineering/default.md @@ -0,0 +1,67 @@ +--- +title: 'People' +menu: 'People' +--- + +--- +title: Team Growth Engineering +sidebar: Handbook +showTitle: true +hideAnchor: true +--- + +## People + +- [Kunal Pathak (Team lead, Growth Engineer)](/handbook/company/team#kunal-pathak-growth-engineer) + +## Mission + +Generate scalable growth by applying focused efforts of product, data, and engineering to specific areas of our business. + +## Responsibilities + +* Own activation flow +* Own revenue flow +* Proactively search for (and execute) opportunities to run experiments to improve output metrics anywhere in the business + +## Customer + +Growth engineering works + +## Output metrics + +* Acquisition +* Activation +* Revenue + +## Principles + +### Solve Problems, not Metrics + +We do not focus on moving a number– we are focused on solving real problems and solving real pain to drive growth. Metrics are used to help inform the work we do, check our assumptions, and measure our progress. However, we believe metric growth is a side effect of great experiences and solving real pain. + +### Find the 80-20 + +It is important that we approach problems with pragmatic solutions – focus on finding the 20% that will solve 80% of the pain. + +As a team with a narrow and dynamic focus, it is critical for us to boil down problems to their core and to effect change on those. Future work or progress should be summarized and shared as learnings with the broader team so we can reprioritize when appropriate. + +We are a dynamic team that jumps across many different areas. We believe that it is better to be growing and getting better day by day for the next year than to be stagnant everyday but great in a year. + +### Any Jank is Jank + +We believe in product-led growth. This means that the product experience is always the most important thing to maintain. + +Pragmatism, dynamic ownership, and the 80-20 rule are not reasons to ship poor or broken product experiences. + +Nothing hurts growth more than a bad product. + +### Control the Inputs, Trust the Process + +Great execution beats everything. + +We believe that rapid iteration, compounding our learnings, and following our experiment process will eventually lead to success. We trust that as long as we are making sound decisions and running great analyses, the right things will happen. + +## Slack channel + +[#team-growth-engineering](https://posthog.slack.com/messages/team-growth-engineering) \ No newline at end of file diff --git a/pages/122.Handbook.SourceMaterial.people.team-structure.infrastructure/default.md b/pages/122.Handbook.SourceMaterial.people.team-structure.infrastructure/default.md new file mode 100644 index 0000000..221221c --- /dev/null +++ b/pages/122.Handbook.SourceMaterial.people.team-structure.infrastructure/default.md @@ -0,0 +1,78 @@ +--- +title: 'People' +menu: 'People' +--- + +--- +title: Team Infrastructure & Deployments +sidebar: Handbook +showTitle: true +hideAnchor: true +--- + +![Image of Cloud Infrastructure](https://github.com/PostHog/posthog-cloud/blob/master/docs/images/infra.png?raw=true) + +## People + +- [James Greenhill](/handbook/company/team/#james-greenhill-software-engineer) (Team lead, Data/Infra Engineer) +- [Karl-Aksel Puulmann](/handbook/company/team/#karl-aksel-puulmann-software-engineer) (Full Stack Engineer) + +## Mission + +Make using and developing for PostHog as reliable as running water. Wherever you want it. + +## Goals + +- We don't lose events +- Data is as up to date as possible +- Engineers always be able to ship and build +- Fail fast. Fix faster. +- Ship anywhere +- Stack scales with demand +- Support Small Teams (and contributors) in building and debugging Posthog +- Be frugal. + +## Responsibilities +Concrete things we take responsibility over: + +- [app.posthog.com](app.posthog.com) and its infrastructure +- On Prem & Single Tenant deployments +- CI/CD - How we deploy +- Data infrastructure (Clickhouse, Kafka) +- Monitoring and Alerting stack + +## Customer + +- Other Small Teams in making sure they have the tools (databases, queues, etc) and the ability to deploy effortlessly that they need to build +- End users (Both cloud and on-prem teams) + +## Output metrics + +### VPC +###### Retention +- Metric: Retention +- Objective: Better than cloud +### Cloud +###### Data Loss +- Metric: Data loss % +- Objective: < 0.1% +###### Uptime +- Metric: Uptime +- Objective: > 99.99% +###### Speed +- Metric: Speed +- Objectives + - Event ingestion: TBD + - Query response: TBD +- Overall: We should anticipate increasing demand (either manually or automatically) +##### Cost +- Metric: Infra Costs +- Objective: Our costs should grow at a rate that is sublinear relative to scale +### Dev Experience +##### Dev Experience NPS (Infra) +- Metric: Developer experience (relating to infra) (maybe NPS?) +- Objective: TBD (maybe NPS?) + +## Slack channel + +[#team-deployments-and-infrastructure](https://posthog.slack.com/messages/team-deployments-and-infrastructure) diff --git a/pages/123.Handbook.SourceMaterial.people.team-structure.marketing/default.md b/pages/123.Handbook.SourceMaterial.people.team-structure.marketing/default.md new file mode 100644 index 0000000..51d7bca --- /dev/null +++ b/pages/123.Handbook.SourceMaterial.people.team-structure.marketing/default.md @@ -0,0 +1,41 @@ +--- +title: 'People' +menu: 'People' +--- + +--- +title: Team Marketing +sidebar: Handbook +showTitle: true +hideAnchor: true +--- + +## People + +- Mo Shehu, Content Marketer + +## Mission + +Make PostHog a ubiquitous developer tool. + +## Customer + +Innovative technical teams, who care about: + +* a unified product analytics platform +* open source +* control: hosting, pricing, source, data, privacy and security + +We will expand to non-technical teams when we have achieved technical awareness saturation. + +## Output metrics + +* Acquisition + +## Philosophy + +Be kind, concise and direct. + +## Slack channel + +[#team-marketing](https://posthog.slack.com/messages/team-marketing) diff --git a/pages/124.Handbook.SourceMaterial.people.team-structure.people/default.md b/pages/124.Handbook.SourceMaterial.people.team-structure.people/default.md new file mode 100644 index 0000000..bda8e69 --- /dev/null +++ b/pages/124.Handbook.SourceMaterial.people.team-structure.people/default.md @@ -0,0 +1,50 @@ +--- +title: 'People & Culture' +menu: 'People & Culture' +--- + +--- +title: Team People +sidebar: Handbook +showTitle: true +hideAnchor: true +--- + +## People & Culture + +- [Eltje Lange](/handbook/company/team#eltje-lange-people-and-talent) +- [Recruitment and Operations Coordinator](https://apply.workable.com/posthog/j/554EC800BE/) (currently hiring!) + +## Mission + +Make PostHog the best place everyone here has ever worked. Our goal is to create a world-class (remote) culture, prioritising impact, autonomy and personal development. + +## Responsibilities + +Our people team works across talent, people operations and culture: + +- We attract, engage and hire top talent from around the world, while ensuring an outstanding candidate and hiring manager experience. +- Building a [diverse and inclusive culture](/handbook/company/diversity) is at the heart of everything we do. +- We support our team throughout the entire employee lifecycle - from making an offer, to onboarding and career development, to parental leave and eventually parting ways. +- We create light-touch initiatives and processes that allow PostHog to act fast (while complying with local legislation) and [iterate](/handbook/company/culture#iteration) continuously. +- In the people team, we live and breathe our [culture](/handbook/company/culture) and [values](/handbook/company/values), and constantly work to make PostHog an even better place to work. + +## Customer + +All small teams as well as current, future and past candidates. + +## Output metrics + +Talent: +- Hiring progress vs. plan +- Time to hire +- Percentage of hires from [under-represented groups](/handbook/company/diversity#how-diversity-helps-us) + +People and culture: +- Quarterly Team engagement survey +- Turnover rate (voluntary and involuntary) + +## Slack channel + +[#people](https://posthog.slack.com/messages/people) - internally public, default for most people discussions +[#people_ops](https://posthog.slack.com/messages/people_ops) - internally confidential, for minority of issues, e.g. salaries, candidate offers \ No newline at end of file diff --git a/pages/125.Handbook.SourceMaterial.people.team-structure.team-structure/default.md b/pages/125.Handbook.SourceMaterial.people.team-structure.team-structure/default.md new file mode 100644 index 0000000..a2ad61b --- /dev/null +++ b/pages/125.Handbook.SourceMaterial.people.team-structure.team-structure/default.md @@ -0,0 +1,53 @@ +--- +title: 'Engineering' +menu: 'Engineering' +--- + +--- +title: Team structure +sidebar: Handbook +showTitle: true +hideAnchor: true +--- + +We've organised the team into small teams that are multi-disciplinary. [You can read about why we've done it this way.](/handbook/people/team-structure/why-small-teams). + +## Engineering + +- **Core experience** + - [Eric Duong (Team Lead, Full Stack Engineer)](/handbook/people/team/#eric-duong-software-engineer) + - [Paolo D'Amico (Product Manager)](/handbook/people/team#paolo-damico-product-team) + - [Buddy Williams, Full Stack Engineer](/handbook/people/team/#buddy-williams-software-engineer) + - Sam Winslow, Full Stack Engineer + - [Li Yi Yu, Full Stack Engineer]((/handbook/people/team/#li-yi-yu-software-engineer)) + +
+ +- **[Extensibility](extensibility)** + - [Marius Andra (Team lead, Full Stack Engineer)](/handbook/company/team/#marius-andra-software-engineer) + - [Michael Matloka (Full Stack Engineer)](/handbook/company/team/#michael-matloka-software-engineer) + - [Yakko Majuri (DevRel + Full Stack Engineer)](/handbook/company/team/#yakko-majuri-technical-writer-and-developer) + +
+ +- **[Infrastructure and Deployments](infrastructure)** + - [James Greenhill](/handbook/company/team/#james-greenhill-software-engineer) (Team lead, Data/Infra Engineer) + - [Karl-Aksel Puulmann](/handbook/company/team/#karl-aksel-puulmann-software-engineer) (Full Stack Engineer) + +
+ +- **[Growth engineering](growth-engineering)** + - Kunal Pathak (Growth Engineer) + +## [Design](design) + +- Cory Watilo (Team lead, Lead Designer) +- Lottie Coxon (Graphic Designer) + +## [Marketing](marketing) + +- Mo Shehu (Content Marketer) + +## [People & Culture](people) + +- [Eltje Lange](/handbook/people/team#eltje-lange-people-and-talent) (People and Talent) diff --git a/pages/126.Handbook.SourceMaterial.people.team-structure._team_template/default.md b/pages/126.Handbook.SourceMaterial.people.team-structure._team_template/default.md new file mode 100644 index 0000000..6a8cbdb --- /dev/null +++ b/pages/126.Handbook.SourceMaterial.people.team-structure._team_template/default.md @@ -0,0 +1,28 @@ +--- +title: 'People' +menu: 'People' +--- + +--- +title: Team Example +sidebar: Handbook +showTitle: true +hideAnchor: true +--- + +## People + +- [Jane Doe (Team Lead, Full Stack Engineer)](/handbook/company/team/#jane-doe-software-engineer) +- [Max Mustermann (Full Stack Engineer)](/handbook/company/team/#max-mustermann-software-engineer) + +## Mission + +## Responsibilities + +## Customer + +## Output metrics + +## Slack channel + +[#team-example](https://posthog.slack.com/messages/team-example) diff --git a/pages/127.Handbook.SourceMaterial.people.team-structure.why-small-teams/default.md b/pages/127.Handbook.SourceMaterial.people.team-structure.why-small-teams/default.md new file mode 100644 index 0000000..91bcbc2 --- /dev/null +++ b/pages/127.Handbook.SourceMaterial.people.team-structure.why-small-teams/default.md @@ -0,0 +1,115 @@ +--- +title: 'How it works' +menu: 'How it works' +--- + +--- +title: Why Small Teams +sidebar: Handbook +showTitle: true +hideAnchor: true +--- + +PostHog is structured for speed, autonomy and innovation. + +Many traditional organizations have big, separate functions. You have a product team, an engineering team, customer support, and so on. This slows things down when you scale because there are more layers of communication and complex approval chains. This stifles innovation - you have to get your boss to talk to someone else's boss to get work done. It also means that people can't really see the impact of their work. + +PostHog started off as a completely flat company with one big goal: to increase the number of successful products in the world. + +As we are getting bigger, we anticipate that it will get harder for people to see the direct impact of their work, which reduces the sense of ownership. + +We have therefore introduced Small Teams. These are designed to each operate like a startup. + +# How it works + +* The overall goal is for a Small Team to be as close to its own startup as possible, with only a handful of centralized processes +* A Small Team should never be more than six people +* A Small Team has an Accountable Person responsible for its performance - whoever is most appropriate depending on what the team is working on. This does _not_ mean the most senior person on the team. +* A Small Team must have (1) a customer (internal or external), (2) a mission and (3) metrics +* There may be certain functions where at our current stage we don't need a Small Team yet. +* Each Small Team runs its own retrospective + sprint every week. This must be done transparently. +* A Small Team has the final call in which of its features get into production, with no need for external QA/control - within our existing release schedule. +* A Small Team will, at some stage, be able to create its own pricing (too complex in immediate future to do this, however) +* Small teams should document what they build. + +# Small Teams list + +* Core Experience (trends, retention, funnels) +* Extensibility (plugins/APIs) +* Deployments and Infrastructure (AMI/VPC/PostHog Cloud) + +# Functional teams + +* People & Culture +* Marketing (includes website) +* Growth Engineering (proactive experiments / activation flow / revenue flow) +* Design + +# FAQ + +## Who do Small Teams report to? How does this work with management? + +The Accountable Person has the final say in a given Small Team's decision making - they decide what to build / work on. + +Each person's line manager is their role's functional leader (if possible). For example, engineers, no matter which Small Team they're in, will report to an engineer. It's important to note that management at PostHog is [very minimalist](management) - it's critical that managers don't set tasks for those in Small Teams. + +Think of the Small Team as the company you work for, and your line manager as your coach. + +## Can someone be in multiple Small Teams? + +No. This defeats the purpose of ownership. We should be hiring in both places. Sometimes that'll mean we "overstaff" certain teams, but in reality there will always be further projects we can move people onto if they run out of work. It's better to do this than to be perpetually understaffed and for our product to suffer as a result. + +## Who is in a Small Team? + +No more than 6 people, but that's the only rule. It could be any group of people working together. + +## Will this lead to inconsistent design? + +Eventually, yes. Other companies have a UX team that build components for everyone to use. Since we currently use [Ant Design](https://ant.design/), we don't need this just yet. + +## Can I still [step on toes](/handbook/values)? + +Yes. In fact it's actively encouraged. We still expect people to have an understanding of the entire company and what various people are working on. In engineering, we still expect you to understand how the entire system works, even if you're only working on infrastructure. You can only do your job well if you understand how it fits in with other parts of the system. + +You're actively encouraged to raise pull requests or propose changes to stuff that doesn't have anything to do with your small team. + +## Can people change teams? + +We try to keep moves infrequent and when needed. We anticipate moving people roughly every 3-9 months. We'd rather hire new people than create gaps by shifting people around. + +There are two scenarios that will trigger a move: + +* The Small Team may realize they no-longer need someone, or that they could really do with someone currently in another Small Team internally. +* An individual team member may wish to move in order to develop their skills or experience. + +It is at the discretion of the _manager_ of that person if they can move. + +## Aren't most our Small Teams way too small? + +In certain cases, but not everywhere. This will clarify where people will work. In fact, it'll make sure we keep the scrappy fun side of working here as we get bigger. A team doesn't _have_ to be six people. + +## How does hiring in the Small Team work? + +The Small Team is responsible for creating roles for those that they need. + +We have a centralized team that will then help you hire. + +James and Tim will meet every hire we make - it's a standard startup failure for founders to get too removed from hiring. We are very happy to then give you complete autonomy on the work you do, as best we can. + +## Does a Small Team have a budget? + +Spend money when it makes sense to do so. See our general policy on spending money. + +## How do you keep the product together as a company? + +Marcus (Tim until Marcus starts) will be ultimately responsible for us having (i) no gaps in product (ii) eliminating duplicate work (iii) making sure all Small Teams are working on something rational. This is how we manage the product. + +## How do you stop duplicate work? + +Marcus (Tim until Marcus starts) has the ultimate responsibility to make sure we don't build the same thing in two different teams, or that we don't accidentally compete with each other internally. + +By keeping communication asynchronous and transparent, this is made much easier to do than is typical at other organizations. + +## Can a Small Team "own" another Small Team? + +Not for now, no. Perhaps when we're much larger this is something to think about. diff --git a/pages/128.Handbook.SourceMaterial.people.time-off/default.md b/pages/128.Handbook.SourceMaterial.people.time-off/default.md new file mode 100644 index 0000000..f8a664a --- /dev/null +++ b/pages/128.Handbook.SourceMaterial.people.time-off/default.md @@ -0,0 +1,60 @@ +--- +title: 'Permissionless Time Off' +menu: 'Permissionless Time Off' +--- + +--- +title: Time off +sidebar: Handbook +showTitle: true +--- + +PostHog encourages its team to take time off to recharge. + +We have a flexible time off policy. Sometimes you need an extra day or two. + +We believe people need 20 days off a year plus a sprinkling of national holidays to have meaningful time with their families, to explore or just to relax. + +PostHog therefore offer unlimited time off, but with an expectation that you take _at least 25 days off a year_, inclusive of national holidays. + +This is to make sure that people can take time off flexibly, whilst not feeling guilty about taking time off. + +The reason for this policy is that it's critical for PostHog that we hire people we can trust to be responsible with their time off - enough that they can recharge, but not so much that it means we don't get any work done. + +## Permissionless Time Off + +You do not need to "clear" time off with your manager. + +We care about your results, not how long you work. Whilst no approval is needed, it shouldn't be at the expense of business getting done. For example, having the entire technical team off means we can't be responsive to community issues. Please coordinate with your team. + +When you pick a date(s) to have off, please enter it into [CharlieHR](https://posthog.charliehr.com/) and it will be automatically approved and added to the team time off calendar. Remember to set an out of office message on your email. + +The same rules as above apply regardless of the vacation length. + +You can add the team time off calendar to Google Calendar by following [these instructions](https://intercom.help/charliehr/en/articles/839648-importing-your-time-off-calendar-to-google-calendar) on CharlieHR as well. CharlieHR only refreshes the calendar twice a day, so any changes you make won't be reflected immediately. + +## When You Should Have Time Off + +### You are sick + +If you are sick, you don't need to work and you will be paid. This is assuming you need a day or two off, then just take them. + +Please let your manager know if you need to take off due to illness as soon as you are able to. + +For extended periods of illness, please speak to us so we can work out a plan. In some countries, we may be required to request a doctor's note from you. + +### Jury Duty / Bereavements / Voting / Child Admin Disasters + +There are lots of situations where life needs to come first. Please let it - just be communicative with us and fit your work around it as you need. + +## Parental Leave + +Parental leave is exceptional as it needs to be significantly longer than a typical vacation. Anyone at PostHog, regardless of gender, is able to take parental leave, and regardless of the way you've become a parent - childbirth, adoption or foster care. + +If you have been at PostHog for over 1 year, you can take up to 12 weeks off on full pay. You can take a further 4 weeks unpaid leave if you need more time. After this, if you need to stagger your return to work, you can come back at 50% capacity on 50% pay afterwards. If you live in a country where a statutory parental leave benefit is available, you will be required to claim statutory parental leave pay (if you are eligible) and PostHog will supplement any gaps. + +If you have been at PostHog for under 1 year, we will pay you according to your local jurisdiction's legal requirements. + +Please communicate parental leave to your manager as soon as you feel comfortable doing so, and in any case at least 2 months before it will begin. + +We are aware that there are local laws around time off for new parents in every country, and that these may vary. Wherever there is a discrepancy between local regulations and PostHog policy, local laws will override PostHog. diff --git a/pages/129.Handbook.SourceMaterial.people.training/default.md b/pages/129.Handbook.SourceMaterial.people.training/default.md new file mode 100644 index 0000000..1e7a4c9 --- /dev/null +++ b/pages/129.Handbook.SourceMaterial.people.training/default.md @@ -0,0 +1,30 @@ +--- +title: 'Books' +menu: 'Books' +--- + +--- +title: Training +sidebar: Handbook +showTitle: true +--- + +The better you are at your job, the better PostHog is overall! + +## Books + +*Everyone* at PostHog is eligible to buy books to help you in your job. + +The reason we think books can be more helpful than just Googling stuff, is that the level of quality has to be higher for them to get published. + +You may buy a couple of books a month without asking for permission. As a general rule, spending up to \$40/month on books is fine and requires no extra permission. + +Books do not have to be tied directly to your area, and they only need be loosely relevant to your work. For example, biographies of leaders can help a manager to learn, and can in fact be more valuable than a tactical book on management. Likewise, if you're an engineer, a book on design can also be particularly valuable for you to read. + +## Training budget + +We have an annual training budget for every team member, regardless of seniority. The budget can be used for relevant courses, training, formal qualifications, or attending conferences. You do not need approval to spend your budget, but you might want to speak to your manager first, in case they have some useful feedback or pointers to a better idea. + +The training budget is \$1000 per calendar year, but this _isn't_ a hard limit - if you want to spend in excess of this, have a chat with your manager. Where the costs are higher than \$1000, please give Charles a heads-up, so he can increase your card limit. + +If possible, please share your learnings with the team afterwards! diff --git a/pages/13.Handbook.Board.Charters.Redwood-Committee-Charter/default.md b/pages/13.Handbook.Board.Charters.Redwood-Committee-Charter/default.md new file mode 100644 index 0000000..712c1a9 --- /dev/null +++ b/pages/13.Handbook.Board.Charters.Redwood-Committee-Charter/default.md @@ -0,0 +1,9 @@ +--- +title: 'Redwood Springs Capital Partners - Committe Charter' +menu: 'Redwood Springs Capital Partners - Committe Charter' +--- + + +# Redwood Springs Capital Partners - Committe Charter + +To be written soon diff --git a/pages/130.Handbook.SourceMaterial.strategy.business-model/default.md b/pages/130.Handbook.SourceMaterial.strategy.business-model/default.md new file mode 100644 index 0000000..a020961 --- /dev/null +++ b/pages/130.Handbook.SourceMaterial.strategy.business-model/default.md @@ -0,0 +1,50 @@ +--- +title: 'Why would you work on the Community Edition?' +menu: 'Why would you work on the Community Edition?' +--- + +--- +title: Business Model +sidebar: Handbook +showTitle: true +--- + +
+ +PostHog is a for profit company that balances the need to improve the open source code of PostHog with the need to add source-available features in order to generate income. We will build an open core business model. + +## Why would you work on the Community Edition? + +A concern could be that given our business model, we'd only work on paid features. + +The reality is that paid features can increase our revenue, thus our ability to grow and hire more developers, who we will use on both versions of the product. When we work on the Community Edition, it increases the community size, which means we end up with more features, and thus a better product. This means we get yet more community growth and it also helps with revenue growth since the source-available product will also improve. + +At the moment, 100% of our focus is on the Community Edition of the software. + +## Promises + +1. We won't introduce features into the open source codebase with a delay. +1. We will always release and open source all tests we have for an open source feature. +1. The open source codebase will never contain arbitrary limits (i.e. event volumes, user numbers). +1. The majority of new features made by PostHog will remain open source. +1. The product will always be available for download without leaving an email address or logging in. +1. We will always allow you to [benchmark](https://news.ycombinator.com/item?id=18103162) PostHog. + +## What features are paid only? + +If the wider community contributes a new feature that isn't already a source-available feature, we aim to nearly always include it into the open source codebase. + +When PostHog makes a new feature, we ask ourselves two questions: + +1. Who is the likely type buyer of this feature? +1. Would this feature help more users find and use PostHog? + +If the likely buyer is an individual contributor, the feature will be open source. Otherwise, if the likely buyer is a manager, director or executive, it will be source available. The exception to this is if the feature will significantly help the community to increase. For example, initially we planned "multiple users" as a feature for the source-available version. However, we decided that having multiple users would help the community to grow, which benefits everyone disproportionately. + +## How open source benefits from open core + +1. PostHog contributes many new features to the open source version. Having a viable business model makes it easier for us to invest more here. +1. Security fixes. +1. Support until the community can self sustain itself. +1. Performance improvements. +1. Running an upgrade server. diff --git a/pages/131.Handbook.SourceMaterial.strategy.investors/default.md b/pages/131.Handbook.SourceMaterial.strategy.investors/default.md new file mode 100644 index 0000000..59bab39 --- /dev/null +++ b/pages/131.Handbook.SourceMaterial.strategy.investors/default.md @@ -0,0 +1,51 @@ +--- +title: 'Series A' +menu: 'Series A' +--- + +--- +title: Investors +sidebar: Handbook +showTitle: true +--- +PostHog are proud to have many world-class investors. + +## Series A + +We raised a \$9M Series A round, led by Alphabet’s VC firm GV, with participation from YCombinator's Continuity Fund and Tapas Capital. + +We brought on board Jason Warner (CTO GitHub) as an investor. + +## Seed + +We raised a \$3M seed round, led by YCombinator and 1984 VC. + +We are also grateful to work with the support of the following: + +* Unusual Ventures +* Liquid2 Ventures +* Kima Ventures +* Sunflower Ventures +* Uncorrelated +* Tapas Capital +* SV Angel +* Twenty Two Ventures + +## Angels + +We have brought on a brilliant group of angel investors throughout PostHog's life: + +* David Buxton (founder of Arachnys) +* Dalton Caldwell (founder of imeem / YC Head of Admissions) +* David Cramer (founder of Sentry) +* Brad Flora (founder of PerfectAudience) +* Adam Goldstein (founder of Hipmunk) +* Solomon Hykes (founder of Docker) +* Rujul Zaparde (founder of FlightCar) +* Many more (add yourself via a pull request!) + +## Interested? + +If you'd like to talk to us about an investment in PostHog, please drop us a line at [investors@posthog.com](mailto:investors@posthog.com). + +If you are a startup and want an introduction or advice, please email us at [hey@posthog.com](mailto:hey@posthog.com). We can get very busy but we'll do our best to at least respond in all cases. diff --git a/pages/132.Handbook.SourceMaterial.strategy.investor-updates/default.md b/pages/132.Handbook.SourceMaterial.strategy.investor-updates/default.md new file mode 100644 index 0000000..07305f4 --- /dev/null +++ b/pages/132.Handbook.SourceMaterial.strategy.investor-updates/default.md @@ -0,0 +1,64 @@ +--- +title: 'Investor Updates' +menu: 'Investor Updates' +--- + +--- +title: Working with Investors +sidebar: Handbook +showTitle: true +--- + +
+ +PostHog brings investors on as partners. + +There is a lot of value added from investors: + +* Financing so we can build a better and more ambitious product, hence growing faster +* Strategic or tactical advice +* Connections to valuable finance partners +* Connections to valuable potential customers +* Help with hiring a world-class team + +# Investor Updates + +Investor updates are sent on a monthly basis. This keeps news small and actionable, creates discipline, yet isn't so frequent that much time is spent on reporting. + +The format is as follows: + +``` +------------------------------------------------ +Thanks + +This is to encourage people to be helpful, which is in everyone's interest, and is part of being nice to work with! + +------------------------------------------------ +Asks + +We may need help with connections to people or organizations, with hiring, or troubleshooting / rubber-ducking. + +------------------------------------------------ +Key metrics + +Investors have a right to know how we're doing. Putting up regular numbers keeps our team focused, and makes many problems more obvious so we can tackle them. + +------------------------------------------------ +Lowlights + +We don't want to surprise people, and by raising issues we may have others help us. We will commit to 3 lowlights every month so we have to include something here. + +------------------------------------------------ +Highlights + +We should surface key opportunities or exciting moments so we can aim to grow fast and to keep people excited. + +------------------------------------------------ +Expectations + +What we're planning for the next month. This context increases our chances of getting help from investors. + +------------------------------------------------ +``` + +We do not share investor updates publicly. This is because we often need to mention specific clients, legal and finance issues, all of which are in the rare category of being potentially harmful to discuss. diff --git a/pages/133.Handbook.SourceMaterial.strategy.prioritization/default.md b/pages/133.Handbook.SourceMaterial.strategy.prioritization/default.md new file mode 100644 index 0000000..e3b5ce9 --- /dev/null +++ b/pages/133.Handbook.SourceMaterial.strategy.prioritization/default.md @@ -0,0 +1,213 @@ +--- +title: 'Our mission' +menu: 'Our mission' +--- + +--- +title: Prioritization +sidebar: Handbook +showTitle: true +--- + +As there is a lot of autonomy at PostHog, it's useful to have a common framework for how to make prioritization decisions. + + +## Our mission + +Our mission is to increase the number of successful products in the world. + +To achieve this, we will need revenue to be able to re-invest into making a better product. + +## How is our Product-Market Fit? + +Below is a table of how we see our product-market fit for various sizes of companies and various job roles. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
EnthusiastStartupScaleupEnterprise
Engineers / PMs with technical expertiseScalability
Advanced analytics
Scalability
Advanced analytics
Non-technical PMs, marketing, sales, businessToo technicalToo technical
Feature set / integrations
Too technical
Feature set / integrations
Too technical
Feature set / integrations
AnalystsDirect SQL access
Plugins for data lakes
Direct SQL access
Plugins for data lakes
Enterprise procurementSOC 2
VPC
+
+ + +As you can see, we have good product-market fit with engineers generally, and specifically for enthusiasts and startups. + +## Value + +Now let's look at how building things for the different size companies helps us achieve our two goals: + +1. Increase the number of successful products in the world +2. Increase revenue so we can re-invest in #1 + +Given scores from 1-5, here's how each type of company stacks up against those two values. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
EnthusiastStartupScaleupEnterprise
Successful productsLow (1/5)Very high (5/5)High (4/5)Low (1/5)
RevenueLow (1/5)Mid (2/5)High (4/5)Very high (5/5)
CombinedLow (1/5)High (3/5)High (3.5/5)High (3/5)
+
+ +## Putting it together + +When thinking of building a new feature, we can combine the product-market fit table and the priority table into one. + +We have three options for each box: +- Deprecate: stop supporting +- Maintain: fix bugs but don't introduce new features +- Grow: fix bugs, do marketing and make PostHog easier to get started with but don't build new features. +- Build: all of the above + building new features specifically for these categories + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
EnthusiastStartupScaleupEnterprise
EngineersMaintainBuildBuildBuild
Non-technical rolesMaintainMaintainMaintain
AnalystsMaintainBuildBuild
Enterprise procurementN/ABuild
+
+ + +## Comparing features + +If you're trying to decide between two things to work on, a useful exercise can be the following: + +1. Estimate the number of successful products that could come out of each category globally (example numbers given) +2. Estimate the amount of revenue we could grab from those categories (example numbers given) +3. Estimate how many of the successful products we could create if we had this feature +4. Estimate how much revenue we could get if we had this feature +5. Repeat steps 1-4 for the feature you're trying to compare + +For example, for our virtual private cloud feature we came up with the following numbers: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
EnthusiastStartupScaleupEnterprise
Global successful products10m1m10k10k
Global revenue$0$240m$500m$4B
Additional successful products from feature0%5%5%10%51.5k
Additional revenue from feature0%15%15%30%$1,311m
+
+ +The point of this exercise is not to come up with the 'correct' numbers. The point is to go through a thought exercise that'll help you figure out the impact of what you're working on. + +The idea also isn't that you should do this for every feature you build. Instead, you'll now have a framework for how to think about the impact of what you're building. diff --git a/pages/134.Handbook.SourceMaterial.strategy.roadmap/default.md b/pages/134.Handbook.SourceMaterial.strategy.roadmap/default.md new file mode 100644 index 0000000..18e2971 --- /dev/null +++ b/pages/134.Handbook.SourceMaterial.strategy.roadmap/default.md @@ -0,0 +1,56 @@ +--- +title: '1. Core product' +menu: '1. Core product' +--- + +--- +title: Roadmap +sidebar: Handbook +showTitle: true +--- + +Our mission is to increase the number of successful products in the world. + +Our roadmap for 2021 will do three things: +1. Create a solid core product that's easy to use +2. Ensure the best developer platform for event-based analytics +3. Set PostHog up to service huge volumes + +# 1. Core product + +PostHog is a product that people love, primarily because it covers 90% of analytics use cases but bundled into one package. +Some examples of the functionality we've built last year: + +- Product analytics +- Session recording +- Feature flags +- Heatmaps +- Autocapture + +There's plenty of work to be done within those categories to make a product that is especially useful for engineers and other product minded people. To add on to that, this year we want to build: + +- A/B testing +- User feedback +- Data pipelines + +On top of those new categories we have a lot of work to do to make our product more stable at higher volumes (especially when self-deploying), much easier to get started with and to catch up with other state-of-the-art analytics software. + +# 2. Best developer platform + +Developers like using PostHog for many reasons. We're open-source at our core, which has helped a huge amount in gaining trust and adoption from the developer community. +It's easy to debug, you can self-host and PostHog is now starting to become extensible. + +This year we're going to lean into that last item. We've kept plugins relatively quiet so far, but we believe plugins will be what will make PostHog the default choice for developers. + +We see a ton of usecases, like integrating PostHog into an existing data warehouse, pulling in stats from other APIs and pushing data into other services. + +There will be work on three main fronts: +- Building plugins ourselves +- Giving our community the tools to create their own +- Promote adoption of these plugins. + +# 3. Service huge volumes + +We are getting a lot of inbound interest from enterprise customers who want to either have us host PostHog or want to host it themselves. +We are starting to have experience scaling instances, but we'll need to get a lot better at this to service the biggest customers. +This isn't just about one-off scaling challenges. To do this at scale, we'll need to productize the deployment of a large instance of PostHog. diff --git a/pages/135.Handbook.SourceMaterial.strategy.strategy/default.md b/pages/135.Handbook.SourceMaterial.strategy.strategy/default.md new file mode 100644 index 0000000..c266a5c --- /dev/null +++ b/pages/135.Handbook.SourceMaterial.strategy.strategy/default.md @@ -0,0 +1,50 @@ +--- +title: 'Meet our users, and their problems' +menu: 'Meet our users, and their problems' +--- + +--- +title: Strategy overview +sidebar: Handbook +showTitle: true +--- + +> PostHog's mission is to increase the number of successful products in the world. + +## Meet our users, and their problems + +Our best users look a little like this: + +* They are a founder, product manager or an engineer (often a senior one) +* They may work in a startup, scaleup or enterprise +* Their company builds software, at least in some capacity, and cares about the end users of their software + +## How we'll meet their needs + +We're consolidating a fragmented set of tools in the market that help software teams understand and act on user behavior. Companies already know why product analytics matter. + +Being open source uniquely enables this approach - we're the only team able to build a true platform that others can build on, to accelerate our breadth of tools that we consolidate. + +This is generating opportunities to redefine the category by strengthening the integrations between these tools. + +Breadth does come at the expense of depth. We do not aim to answer 100% of questions a product manager or engineer may have about user behavior, so making it easy to integrate PostHog with an existing stack of tools (such as data lakes) is important, mainly for larger volume users. + +## Traction + +We've had ~3,000 deployments since we started. + +PostHog helps power products as diverse as those in airlines and banks, to indie gamers making it more fun to protect earth from aliens to underwear startups working on their retention. Across all devices. + +## The future + +Software is a good chunk through eating the World. + +Product led growth is just getting started with eating software. See Figma, Slack, Dropbox, or Google. Incumbent software companies will either become product led or they'll get disrupted. + +PostHog today is focused on enabling engineering teams and product teams to work together, better. That gives us the foothold to steer decision making in every team in every company. For product led companies, it all starts from their user behavior. + +## What do we need to do next + +We have a [strategy project](https://github.com/orgs/PostHog/projects/5), which is visible for PostHog team members. + +We have a [prioritization framework](/handbook/strategy/prioritization) to figure out what to work on next. diff --git a/pages/136.OperatingAgreements.RackRentalOperatingCompanyLLC.RackRentalOpCompany-OpAgreement/default.md b/pages/136.OperatingAgreements.RackRentalOperatingCompanyLLC.RackRentalOpCompany-OpAgreement/default.md new file mode 100644 index 0000000..49dbba8 --- /dev/null +++ b/pages/136.OperatingAgreements.RackRentalOperatingCompanyLLC.RackRentalOpCompany-OpAgreement/default.md @@ -0,0 +1,6 @@ +--- +title: 'RackRental.net Operating Company LLC Operating Agreement' +menu: 'RackRental.net Operating Company LLC Operating Agreement' +--- + +# RackRental.net Operating Company LLC Operating Agreement \ No newline at end of file diff --git a/pages/137.OperatingAgreements.SuborbitalSystemsDevelopmentCompanyLLC.SuboSysDevCompany-OpAgreement/default.md b/pages/137.OperatingAgreements.SuborbitalSystemsDevelopmentCompanyLLC.SuboSysDevCompany-OpAgreement/default.md new file mode 100644 index 0000000..da9ab16 --- /dev/null +++ b/pages/137.OperatingAgreements.SuborbitalSystemsDevelopmentCompanyLLC.SuboSysDevCompany-OpAgreement/default.md @@ -0,0 +1,6 @@ +--- +title: 'SuboSysDevCompany-OpAgreement' +menu: 'SuboSysDevCompany-OpAgreement' +--- + +Stub file for git purposes until real content exists here. \ No newline at end of file diff --git a/pages/138.OperatingAgreements.TurnkeyNetworkSystemsLLC.Ap4Ap.org.Ap4ApOpAgreement/default.md b/pages/138.OperatingAgreements.TurnkeyNetworkSystemsLLC.Ap4Ap.org.Ap4ApOpAgreement/default.md new file mode 100644 index 0000000..c094cd6 --- /dev/null +++ b/pages/138.OperatingAgreements.TurnkeyNetworkSystemsLLC.Ap4Ap.org.Ap4ApOpAgreement/default.md @@ -0,0 +1,6 @@ +--- +title: 'Ap4Ap.org LLC' +menu: 'Ap4Ap.org LLC' +--- + +# Ap4Ap.org LLC diff --git a/pages/139.OperatingAgreements.TurnkeyNetworkSystemsLLC.KnownElementEnterprisesLLC.KnownElementEnterprises-OpAgreement/default.md b/pages/139.OperatingAgreements.TurnkeyNetworkSystemsLLC.KnownElementEnterprisesLLC.KnownElementEnterprises-OpAgreement/default.md new file mode 100644 index 0000000..ecd272b --- /dev/null +++ b/pages/139.OperatingAgreements.TurnkeyNetworkSystemsLLC.KnownElementEnterprisesLLC.KnownElementEnterprises-OpAgreement/default.md @@ -0,0 +1,6 @@ +--- +title: 'Known Element Enterprises LLC' +menu: 'Known Element Enterprises LLC' +--- + +# Known Element Enterprises LLC diff --git a/pages/14.Handbook.Board.policies.AntiHarrassment/default.md b/pages/14.Handbook.Board.policies.AntiHarrassment/default.md new file mode 100644 index 0000000..d66bec7 --- /dev/null +++ b/pages/14.Handbook.Board.policies.AntiHarrassment/default.md @@ -0,0 +1,7 @@ +--- +title: 'TSYS Group - Anti Harrassment Policy' +menu: 'TSYS Group - Anti Harrassment Policy' +--- + + +# TSYS Group - Anti Harrassment Policy diff --git a/pages/140.OperatingAgreements.TurnkeyNetworkSystemsLLC.MeetMorse.comLLC.MeetMorseOpAgreement/default.md b/pages/140.OperatingAgreements.TurnkeyNetworkSystemsLLC.MeetMorse.comLLC.MeetMorseOpAgreement/default.md new file mode 100644 index 0000000..cb9c971 --- /dev/null +++ b/pages/140.OperatingAgreements.TurnkeyNetworkSystemsLLC.MeetMorse.comLLC.MeetMorseOpAgreement/default.md @@ -0,0 +1,6 @@ +--- +title: 'MeetMorse.com LLC' +menu: 'MeetMorse.com LLC' +--- + +# MeetMorse.com LLC diff --git a/pages/141.OperatingAgreements.TurnkeyNetworkSystemsLLC.RackRental.netLLC.RackRentalOpAgreement/default.md b/pages/141.OperatingAgreements.TurnkeyNetworkSystemsLLC.RackRental.netLLC.RackRentalOpAgreement/default.md new file mode 100644 index 0000000..734f953 --- /dev/null +++ b/pages/141.OperatingAgreements.TurnkeyNetworkSystemsLLC.RackRental.netLLC.RackRentalOpAgreement/default.md @@ -0,0 +1,6 @@ +--- +title: 'RackRental.net LLC' +menu: 'RackRental.net LLC' +--- + +# RackRental.net LLC diff --git a/pages/142.OperatingAgreements.TurnkeyNetworkSystemsLLC.RedwoodFamilyOfficeGroupLLC.REDWFO-OperatingAgreement/default.md b/pages/142.OperatingAgreements.TurnkeyNetworkSystemsLLC.RedwoodFamilyOfficeGroupLLC.REDWFO-OperatingAgreement/default.md new file mode 100644 index 0000000..50d165c --- /dev/null +++ b/pages/142.OperatingAgreements.TurnkeyNetworkSystemsLLC.RedwoodFamilyOfficeGroupLLC.REDWFO-OperatingAgreement/default.md @@ -0,0 +1,6 @@ +--- +title: 'Redwood Family Office Group LLC Operating Agreement' +menu: 'Redwood Family Office Group LLC Operating Agreement' +--- + +# Redwood Family Office Group LLC Operating Agreement diff --git a/pages/143.OperatingAgreements.TurnkeyNetworkSystemsLLC.RedwoodSpringsCapitalPartnersGroupLLC.CompanyNameAndPurpose/default.md b/pages/143.OperatingAgreements.TurnkeyNetworkSystemsLLC.RedwoodSpringsCapitalPartnersGroupLLC.CompanyNameAndPurpose/default.md new file mode 100644 index 0000000..f87f51a --- /dev/null +++ b/pages/143.OperatingAgreements.TurnkeyNetworkSystemsLLC.RedwoodSpringsCapitalPartnersGroupLLC.CompanyNameAndPurpose/default.md @@ -0,0 +1,42 @@ +--- +title: 'Organization' +menu: 'Organization' +--- + +# Organization + +## Company Name +The name of the limited liability company formed hereby shall be Redwood Springs Capital Partners LLC + +## Company Purpose +The Company shall have the power (whether conducted +directly or indirectly through any type of Investment in any type of +Person) to engage in the following activities: + +* acquiring + +* owning + +* holding + +* maintaining + +* improving + +* developing + +* operating + +* managing + +* leasing + +* selling + +* exchanging + +* the financing of any of the foregoing activities + +* and otherwise dealing with + +investments in the scope of it's thesis and approved by the TSG Board Of Directors Redwood Committe diff --git a/pages/144.OperatingAgreements.TurnkeyNetworkSystemsLLC.RedwoodSpringsCapitalPartnersGroupLLC.RWSCPOpAgreement/default.md b/pages/144.OperatingAgreements.TurnkeyNetworkSystemsLLC.RedwoodSpringsCapitalPartnersGroupLLC.RWSCPOpAgreement/default.md new file mode 100644 index 0000000..85b21e8 --- /dev/null +++ b/pages/144.OperatingAgreements.TurnkeyNetworkSystemsLLC.RedwoodSpringsCapitalPartnersGroupLLC.RWSCPOpAgreement/default.md @@ -0,0 +1,6 @@ +--- +title: 'RWSCPOpAgreement' +menu: 'RWSCPOpAgreement' +--- + +Stub file for git purposes until real content exists here. \ No newline at end of file diff --git a/pages/145.OperatingAgreements.TurnkeyNetworkSystemsLLC.sol-calc.comLLC.SolCalcOpAgreement/default.md b/pages/145.OperatingAgreements.TurnkeyNetworkSystemsLLC.sol-calc.comLLC.SolCalcOpAgreement/default.md new file mode 100644 index 0000000..ef3a4a5 --- /dev/null +++ b/pages/145.OperatingAgreements.TurnkeyNetworkSystemsLLC.sol-calc.comLLC.SolCalcOpAgreement/default.md @@ -0,0 +1,6 @@ +--- +title: 'Sol-calc.com LLC' +menu: 'Sol-calc.com LLC' +--- + +# Sol-calc.com LLC diff --git a/pages/146.OperatingAgreements.TurnkeyNetworkSystemsLLC.StartingLineProductionsLLC.StartingLineProdOpAgreement/default.md b/pages/146.OperatingAgreements.TurnkeyNetworkSystemsLLC.StartingLineProductionsLLC.StartingLineProdOpAgreement/default.md new file mode 100644 index 0000000..2c3ab92 --- /dev/null +++ b/pages/146.OperatingAgreements.TurnkeyNetworkSystemsLLC.StartingLineProductionsLLC.StartingLineProdOpAgreement/default.md @@ -0,0 +1,6 @@ +--- +title: 'StartingLineProductions.com LLC' +menu: 'StartingLineProductions.com LLC' +--- + +# StartingLineProductions.com LLC diff --git a/pages/147.OperatingAgreements.TurnkeyNetworkSystemsLLC.SuborbitalSystems.netLLC.SuboSysOpAgreement/default.md b/pages/147.OperatingAgreements.TurnkeyNetworkSystemsLLC.SuborbitalSystems.netLLC.SuboSysOpAgreement/default.md new file mode 100644 index 0000000..a3f0b80 --- /dev/null +++ b/pages/147.OperatingAgreements.TurnkeyNetworkSystemsLLC.SuborbitalSystems.netLLC.SuboSysOpAgreement/default.md @@ -0,0 +1,6 @@ +--- +title: 'Suborbital-Sustems.net LLC' +menu: 'Suborbital-Sustems.net LLC' +--- + +# Suborbital-Sustems.net LLC diff --git a/pages/148.OperatingAgreements.TurnkeyNetworkSystemsLLC.template-TDCMPSeries.TDCMP-Template/default.md b/pages/148.OperatingAgreements.TurnkeyNetworkSystemsLLC.template-TDCMPSeries.TDCMP-Template/default.md new file mode 100644 index 0000000..35e7e7d --- /dev/null +++ b/pages/148.OperatingAgreements.TurnkeyNetworkSystemsLLC.template-TDCMPSeries.TDCMP-Template/default.md @@ -0,0 +1,6 @@ +--- +title: 'TDCMP LLC template terms' +menu: 'TDCMP LLC template terms' +--- + +# TDCMP LLC template terms diff --git a/pages/149.OperatingAgreements.TurnkeyNetworkSystemsLLC.TheCampusTradingCompanyLLC.TheCampusTradingCompany-OpAgreement/default.md b/pages/149.OperatingAgreements.TurnkeyNetworkSystemsLLC.TheCampusTradingCompanyLLC.TheCampusTradingCompany-OpAgreement/default.md new file mode 100644 index 0000000..ecd272b --- /dev/null +++ b/pages/149.OperatingAgreements.TurnkeyNetworkSystemsLLC.TheCampusTradingCompanyLLC.TheCampusTradingCompany-OpAgreement/default.md @@ -0,0 +1,6 @@ +--- +title: 'Known Element Enterprises LLC' +menu: 'Known Element Enterprises LLC' +--- + +# Known Element Enterprises LLC diff --git a/pages/15.Handbook.Board.policies.InsiderTrading/default.md b/pages/15.Handbook.Board.policies.InsiderTrading/default.md new file mode 100644 index 0000000..8e23311 --- /dev/null +++ b/pages/15.Handbook.Board.policies.InsiderTrading/default.md @@ -0,0 +1,7 @@ +--- +title: 'TSYS Group Handbook - Anti Insider Trading Policy' +menu: 'TSYS Group Handbook - Anti Insider Trading Policy' +--- + + +# TSYS Group Handbook - Anti Insider Trading Policy diff --git a/pages/150.OperatingAgreements.TurnkeyNetworkSystemsLLC.ThePeerNet.comLLC.ThePeerNetOpAgreement/default.md b/pages/150.OperatingAgreements.TurnkeyNetworkSystemsLLC.ThePeerNet.comLLC.ThePeerNetOpAgreement/default.md new file mode 100644 index 0000000..66260eb --- /dev/null +++ b/pages/150.OperatingAgreements.TurnkeyNetworkSystemsLLC.ThePeerNet.comLLC.ThePeerNetOpAgreement/default.md @@ -0,0 +1,6 @@ +--- +title: 'ThePeerNet.com LLC' +menu: 'ThePeerNet.com LLC' +--- + +# ThePeerNet.com LLC diff --git a/pages/151.OperatingAgreements.TurnkeyNetworkSystemsLLC.TurnkeyNetworkSystemsLLC-CompanyOperatingAgreement.article-10/default.md b/pages/151.OperatingAgreements.TurnkeyNetworkSystemsLLC.TurnkeyNetworkSystemsLLC-CompanyOperatingAgreement.article-10/default.md new file mode 100644 index 0000000..f78d559 --- /dev/null +++ b/pages/151.OperatingAgreements.TurnkeyNetworkSystemsLLC.TurnkeyNetworkSystemsLLC-CompanyOperatingAgreement.article-10/default.md @@ -0,0 +1,138 @@ +--- +title: 'ARTICLE X - BOOKS, RECORDS AND ACCOUNTING' +menu: 'ARTICLE X - BOOKS, RECORDS AND ACCOUNTING' +--- + +# ARTICLE X - BOOKS, RECORDS AND ACCOUNTING + +## 10.1 Books and Records + +### 10.1.1 Required Records + +The Company shall maintain at its principal office the following records: + +* A current list of the full name and last known business or residence address of the Sole Member, together with the Capital Contributions and the share in profits and losses of the Sole Member + +* A copy of the Certificate of Formation, including all amendments thereto + +* Copies of the Company's federal, state, and local income tax returns and reports, if any, for the three most recent years + +* Copies of this Agreement and any amendments thereto + +* Financial statements of the Company for the three most recent years + +* Books and records of the Company as they relate to the internal affairs of the Company for at least the current and past three fiscal years + +* Records of all proceedings of the Board + +* Any other records required to be maintained by the TBOC + +### 10.1.2 Series Records + +Each Series shall maintain at the Company's principal office the following records: + +* A current list of the full name and last known business or residence address of each Member of the Series, together with the Capital Contributions, Capital Account, and Profit Interest of each Member + +* A copy of the Series Designation and any amendments thereto + +* Financial statements of the Series for the three most recent years + +* Books and records of the Series as they relate to the business and affairs of the Series for at least the current and past three fiscal years + +* Records of all proceedings of meetings of the Members of the Series, if any + +* Any other records required to be maintained by the TBOC + +## 10.2 Segregation of Records + +The records of each Series shall be maintained separately from the records of the Company and all other Series. The Company shall take all reasonable measures to ensure that: + +* Records relating to the Company generally are not maintained in the same ledger as records relating to any Series + +* Records relating to each Series are maintained in a separate ledger from records relating to any other Series + +* All assets and liabilities associated with each Series are separately identified and segregated from the assets and liabilities of the Company and all other Series + +## 10.3 Inspection Rights + +### 10.3.1 Company Level + +The Sole Member shall have the right, upon reasonable request, to: + +* Inspect and copy any of the Company records required to be maintained by Section 10.1.1 + +* Obtain from the Board, promptly after becoming available, a copy of the Company's federal, state, and local income tax or information returns for each fiscal year + +### 10.3.2 Series Level + +Each Member of a Series shall have the right, upon reasonable request, to: + +* Inspect and copy any of the Series records required to be maintained by Section 10.1.2 + +* Obtain from the Series Manager(s), promptly after becoming available, a copy of the Series' federal, state, and local income tax or information returns for each fiscal year + +* Obtain such other information regarding the affairs of the Series as is just and reasonable + +## 10.4 Reports + +### 10.4.1 Annual Report + +Within 120 days after the end of each fiscal year, the Board shall cause to be sent to the Sole Member an annual report containing: + +* Financial statements of the Company for such fiscal year + +* A report of the activities of the Company during the fiscal year + +* Such other information as the Board deems appropriate + +### 10.4.2 Series Reports + +Within 120 days after the end of each fiscal year, the Series Manager(s) shall cause to be sent to each Member of a Series an annual report containing: + +* Financial statements of the Series for such fiscal year + +* A report of the activities of the Series during the fiscal year + +* Such other information as the Series Manager(s) deem appropriate + +### 10.4.3 Tax Information + +Within 90 days after the end of each fiscal year, the Company and each Series shall send to the Sole Member and each Series Member, respectively, all information necessary for the preparation of such Member's federal and state income tax returns. + +## 10.5 Bank Accounts + +### 10.5.1 Company Accounts + +The Board shall establish and maintain one or more separate bank accounts and deposit all funds of the Company in such accounts. No other funds shall be deposited into these accounts. + +### 10.5.2 Series Accounts + +The Series Manager(s) shall establish and maintain one or more separate bank accounts for each Series and deposit all funds of the Series in such accounts. No funds of the Company or any other Series shall be deposited into these accounts. + +## 10.6 Accounting Decisions and Tax Elections + +### 10.6.1 Accounting Method + +The Company and each Series shall use the accrual method of accounting for financial reporting and income tax purposes, unless otherwise determined by the Board. + +### 10.6.2 Tax Elections + +The Board shall have the authority to make all tax elections for the Company and each Series. Such elections shall be made in the best interests of the Company and its Series, with proper consideration of the interests of the Members. + +### 10.6.3 Tax Matters Partner + +The Board shall designate a Person to serve as the "partnership representative" of the Company within the meaning of Section 6223 of the Code. A similar designation shall be made for each Series that is treated as a partnership for federal income tax purposes. + +## 10.7 Title to Company and Series Property + +### 10.7.1 Company Property + +All property owned by the Company shall be owned by the Company as an entity and no Member shall have any ownership interest in such property in their individual name. Each Member's Interest in the Company shall be personal property for all purposes. + +### 10.7.2 Series Property + +All property owned by a Series shall be owned by the Company on behalf of such Series and shall be segregated from the assets of the Company and all other Series. No Member shall have any ownership interest in such property in their individual name. Each Member's Interest in a Series shall be personal property for all purposes. + +## 10.8 Periodic Valuation + +The Company shall conduct a valuation of its assets and each Series' assets at least annually for the purpose of determining the Initial Value for new Profit Interests and for other purposes required under this Agreement. Such valuations shall be conducted in good faith by the Board or Series Manager(s), as applicable, using methods they deem appropriate. diff --git a/pages/152.OperatingAgreements.TurnkeyNetworkSystemsLLC.TurnkeyNetworkSystemsLLC-CompanyOperatingAgreement.article-11/default.md b/pages/152.OperatingAgreements.TurnkeyNetworkSystemsLLC.TurnkeyNetworkSystemsLLC-CompanyOperatingAgreement.article-11/default.md new file mode 100644 index 0000000..a2dcfbc --- /dev/null +++ b/pages/152.OperatingAgreements.TurnkeyNetworkSystemsLLC.TurnkeyNetworkSystemsLLC-CompanyOperatingAgreement.article-11/default.md @@ -0,0 +1,218 @@ +--- +title: 'ARTICLE XI - ELECTRONIC GOVERNANCE' +menu: 'ARTICLE XI - ELECTRONIC GOVERNANCE' +--- + +# ARTICLE XI - ELECTRONIC GOVERNANCE + +## 11.1 Electronic Governance Framework + +The Company and each Series shall implement and maintain an electronic governance framework that facilitates transparent, efficient, and secure governance processes. This framework shall leverage technology to enhance participation, improve decision-making, and reduce administrative burdens. + +## 11.2 Electronic Meetings + +### 11.2.1 Board Meetings + +The Board may hold meetings through any electronic means that allows all participants to: + +* Hear each other simultaneously during the meeting + +* Access relevant documents and information + +* Vote on matters presented during the meeting + +* Communicate effectively with all other participants + +### 11.2.2 Series Member Meetings + +Any meetings of Series Members may be held through electronic means that provide substantially the same capabilities as described in Section 11.2.1. + +### 11.2.3 Meeting Records + +All electronic meetings shall be recorded through appropriate means, which may include: + +* Minutes prepared by a designated individual + +* Electronic recordings of the proceedings + +* Automated transcription services + +* Electronic voting records + +## 11.3 Electronic Voting + +### 11.3.1 Board Voting + +Directors may vote on matters through electronic means, including: + +* Real-time voting during electronic meetings + +* Asynchronous voting through secure electronic platforms + +* Electronic signature systems for written consents + +* Blockchain-based voting systems + +### 11.3.2 Series Member Voting + +Series Members may vote on matters through similar electronic means as described in Section 11.3.1, as determined by the Series Manager(s). + +### 11.3.3 Verification and Security + +All electronic voting systems shall include appropriate measures to: + +* Verify the identity of voters + +* Ensure the integrity of the voting process + +* Maintain records of all votes cast + +* Protect against unauthorized access or manipulation + +## 11.4 Electronic Documentation + +### 11.4.1 Document Management System + +The Company shall maintain an electronic document management system that: + +* Stores all governance documents in secure digital formats + +* Provides appropriate access controls for different types of documents + +* Maintains version history of documents + +* Enables efficient search and retrieval of documents + +* Implements backup and recovery procedures + +### 11.4.2 Electronic Signatures + +Electronic signatures that comply with applicable electronic signature laws shall be valid and binding for all Company and Series documents, including: + +* This Agreement and any amendments + +* Series Designations + +* Membership certificates + +* Contracts and agreements + +* Board and Series Member consents + +* Any other documents requiring signatures + +## 11.5 Electronic Communications + +### 11.5 Communication Platforms + +The Company shall establish and maintain electronic communication platforms that enable efficient and transparent information sharing among the Board, Series Managers, and Members. These platforms may include: + +* Secure messaging systems + +* Collaborative workspaces + +* Discussion forums + +* Knowledge bases + +* Announcement channels + +* File sharing systems + +### 11.6 Decision Support Systems + +The Company may implement electronic decision support systems that: + +* Provide relevant data and analytics to inform decisions + +* Enable scenario modeling and forecasting + +* Facilitate structured deliberation processes + +* Document decision rationales and supporting information + +* Track implementation of decisions + +### 11.7 Transparency and Access + +### 11.7.1 Information Dashboard + +The Company shall maintain an electronic dashboard that provides the Sole Member, Board, Series Managers, and Series Members with appropriate access to: + +* Financial performance metrics + +* Operational metrics + +* Governance activities and decisions + +* Upcoming meetings and events + +* Important documents and records + +### 11.7.2 Access Controls + +The electronic governance system shall implement appropriate access controls that: + +* Provide information access based on role and need + +* Protect sensitive and confidential information + +* Create audit trails of information access + +* Enable temporary access when needed + +## 11.8 Technical Requirements + +### 11.8.1 Security + +The electronic governance system shall implement robust security measures, including: + +* Encryption of data in transit and at rest + +* Multi-factor authentication for access + +* Regular security audits and testing + +* Incident response procedures + +* Compliance with applicable data protection regulations + +### 11.8.2 Reliability + +The electronic governance system shall be designed for high reliability, including: + +* Redundant systems and backups + +* Regular testing of recovery procedures + +* Monitoring of system performance + +* Alternative methods for critical functions in case of system failure + +### 11.8.3 Usability + +The electronic governance system shall be designed with usability in mind, including: + +* Intuitive user interfaces + +* Accessible design for users with disabilities + +* Mobile compatibility + +* Adequate training and support resources + +* Continuous improvement based on user feedback + +## 11.9 Governance of the Electronic Systems + +The Board shall establish policies and procedures for the governance of the electronic systems themselves, including: + +* Selection of appropriate technologies + +* Oversight of system implementation and operation + +* Periodic review of system effectiveness + +* Approval of significant changes or upgrades + +* Risk management related to technology dependencies \ No newline at end of file diff --git a/pages/153.OperatingAgreements.TurnkeyNetworkSystemsLLC.TurnkeyNetworkSystemsLLC-CompanyOperatingAgreement.article-12/default.md b/pages/153.OperatingAgreements.TurnkeyNetworkSystemsLLC.TurnkeyNetworkSystemsLLC-CompanyOperatingAgreement.article-12/default.md new file mode 100644 index 0000000..06a65e9 --- /dev/null +++ b/pages/153.OperatingAgreements.TurnkeyNetworkSystemsLLC.TurnkeyNetworkSystemsLLC-CompanyOperatingAgreement.article-12/default.md @@ -0,0 +1,206 @@ +--- +title: 'ARTICLE XII - SOCIOCRACY PRINCIPLES' +menu: 'ARTICLE XII - SOCIOCRACY PRINCIPLES' +--- + +# ARTICLE XII - SOCIOCRACY PRINCIPLES + +## 12.1 Sociocracy Framework + +The Company and each Series shall implement governance structures and processes based on sociocracy principles. Sociocracy provides a framework for effective governance, transparent decision-making, and equitable participation by all stakeholders. + +## 12.2 Core Principles + +### 12.2.1 Consent Decision-Making + +The Company and each Series shall use consent decision-making rather than majority voting for policy decisions. Consent means that a decision can be made when none of the participants has a reasoned and paramount objection to a proposed decision. + +Key aspects of consent decision-making include: + +* A proposal is presented clearly with adequate background information + +* Clarifying questions are asked and answered + +* Reactions to the proposal are shared + +* The proposal may be amended based on feedback + +* Objections are raised, discussed, and resolved + +* Consent is achieved when no objections remain + +### 12.2.2 Circular Organization + +The Company and each Series shall organize governance into interconnected circles, where: + +* Each circle has a defined aim and domain of authority + +* Circles are connected through double-linking (two people connecting adjacent circles) + +* Higher-level circles determine the aims and domains of lower-level circles + +* Lower-level circles determine how to implement their aims within their domains + +### 12.2.3 Double-Linking + +Communication and alignment between circles shall be maintained through double-linking, where: + +* An operational leader from a lower circle is a full member of the next higher circle + +* A representative elected by the lower circle is a full member of the next higher circle + +* Both links participate fully in the decision-making of both circles + +### 12.2.4 Elections by Consent + +Leaders, representatives, and people filling functional roles shall be elected by consent after open discussion, rather than by competitive voting or appointment. + +## 12.3 Circle Structure + +### 12.3.1 Board Circle + +The Board shall function as the top circle in the Company's governance structure, with responsibilities as defined in Article IV. + +### 12.3.2 Series Governance Circles + +Each Series shall establish appropriate governance circles as determined by the Series Manager(s), which may include: + +* Strategic Circle - focusing on long-term direction and major decisions + +* Operational Circle - focusing on day-to-day operations and implementation + +* Specific Domain Circles - focusing on particular functions or aspects of the Series business + +### 12.3.3 Circle Autonomy + +Each circle shall have autonomy within its defined domain, subject to the constraints established by higher circles and this Agreement. + +## 12.4 Decision-Making Process + +### 12.4.1 Proposal Formation + +Proposals may be generated by any member of a circle and should be: + +* Clearly stated in writing + +* Supported by relevant background information + +* Connected to the circle's aim and domain + +* Presented with adequate time for consideration + +### 12.4.2 Consent Process + +The standard consent process shall include: + +* Presentation of the proposal + +* Clarifying questions round + +* Quick reactions round + +* Amendments to the proposal if needed + +* Consent round (asking for objections) + +* Integration of objections + +* Final consent round + +### 12.4.3 Operational Decisions + +Day-to-day operational decisions may be made by the appropriate role-holders without going through the full consent process, provided that: + +* The decisions fall within the role-holder's domain + +* The decisions do not conflict with existing policy + +* The role-holder is willing to reconsider the decision if concerns are raised + +## 12.5 Roles and Responsibilities + +### 12.5.1 Required Circle Roles + +Each governance circle shall at minimum have the following roles: + +* **Circle Leader** - accountable for the circle achieving its aim, allocating resources, and assigning operational roles + +* **Facilitator** - leads the circle meetings and decision-making processes + +* **Secretary** - schedules meetings, maintains records, and ensures transparency + +* **Representative** - represents the circle's interests in the next higher circle + +### 12.5.2 Role Selection + +All roles shall be filled through election by consent within the circle, with the exception of the Circle Leader, who may be appointed by the next higher circle. + +### 12.5.3 Role Reviews + +Performance in roles shall be regularly reviewed by the circle to ensure effectiveness and provide feedback for improvement. + +## 12.6 Meetings + +### 12.6.1 Regular Circle Meetings + +Each governance circle shall meet regularly (at least quarterly) to: + +* Review progress toward objectives + +* Make policy decisions + +* Address tensions or issues + +* Conduct elections as needed + +* Allocate resources + +### 12.6.2 Meeting Formats + +Circle meetings shall follow a structured format that typically includes: + +* Opening round - personal check-in and meeting readiness + +* Administrative matters - consent to agenda and previous minutes + +* Content items - addressing tensions, making decisions + +* Closing round - meeting evaluation and personal reflection + +### 12.6.3 Facilitation + +All governance meetings shall be facilitated to ensure: + +* Equality of voice + +* Focus on the circle's aim + +* Efficient use of time + +* Adherence to the consent process + +* Documentation of decisions + +## 12.7 Continuous Improvement + +### 12.7.1 Circle Self-Evaluation + +Each circle shall periodically evaluate its own effectiveness and make improvements to its structure and processes. + +### 12.7.2 Policy Review + +All policies shall be reviewed on a scheduled basis to ensure they remain relevant and effective. + +### 12.7.3 Governance Audits + +The Company shall conduct periodic governance audits to ensure that sociocracy principles are being properly implemented throughout the organization. + +## 12.8 Integration with FairShares Model + +The sociocratic governance structure shall be integrated with the FairShares membership model described in Article VIII to ensure that: + +* All membership classes have appropriate representation in the governance structure + +* The interests of different stakeholder groups are balanced + +* Decision-making authority is distributed based on both stake and competence diff --git a/pages/154.OperatingAgreements.TurnkeyNetworkSystemsLLC.TurnkeyNetworkSystemsLLC-CompanyOperatingAgreement.article-13/default.md b/pages/154.OperatingAgreements.TurnkeyNetworkSystemsLLC.TurnkeyNetworkSystemsLLC-CompanyOperatingAgreement.article-13/default.md new file mode 100644 index 0000000..70796a4 --- /dev/null +++ b/pages/154.OperatingAgreements.TurnkeyNetworkSystemsLLC.TurnkeyNetworkSystemsLLC-CompanyOperatingAgreement.article-13/default.md @@ -0,0 +1,56 @@ +--- +title: 'ARTICLE XIII - INDEMNIFICATION' +menu: 'ARTICLE XIII - INDEMNIFICATION' +--- + +# ARTICLE XIII - INDEMNIFICATION + +## 13.1 General Indemnification + +To the fullest extent permitted by the TBOC, the Company shall indemnify any Person who was or is a party, or is threatened to be made a party, to any threatened, pending, or completed action, suit, or proceeding, whether civil, criminal, administrative, or investigative (other than an action by or in the right of the Company), by reason of the fact that the Person is or was a Director, Series Manager, officer, employee, or agent of the Company or any Series, against expenses (including attorneys' fees), judgments, fines, and amounts paid in settlement actually and reasonably incurred by the Person in connection with such action, suit, or proceeding, if the Person acted in good faith and in a manner the Person reasonably believed to be in, or not opposed to, the best interests of the Company or applicable Series and, with respect to any criminal action or proceeding, had no reasonable cause to believe their conduct was unlawful. + +## 13.2 Indemnification in Company Actions + +To the fullest extent permitted by the TBOC, the Company shall indemnify any Person who was or is a party, or is threatened to be made a party, to any threatened, pending, or completed action or suit by or in the right of the Company to procure a judgment in its favor by reason of the fact that the Person is or was a Director, Series Manager, officer, employee, or agent of the Company or any Series, against expenses (including attorneys' fees) actually and reasonably incurred by the Person in connection with the defense or settlement of such action or suit, if the Person acted in good faith and in a manner the Person reasonably believed to be in, or not opposed to, the best interests of the Company or applicable Series, except that no indemnification shall be made in respect of any claim, issue, or matter as to which such Person shall have been adjudged to be liable to the Company unless and only to the extent that the court in which such action or suit was brought shall determine upon application that, despite the adjudication of liability but in view of all the circumstances of the case, such Person is fairly and reasonably entitled to indemnity for such expenses as the court shall deem proper. + +## 13.3 Success on Merits + +To the extent that a Director, Series Manager, officer, employee, or agent of the Company or any Series has been successful on the merits or otherwise in defense of any action, suit, or proceeding referred to in Sections 13.1 or 13.2, or in defense of any claim, issue, or matter therein, such Person shall be indemnified against expenses (including attorneys' fees) actually and reasonably incurred by such Person in connection therewith. + +## 13.4 Determination of Right to Indemnification + +Any indemnification under Sections 13.1 or 13.2 (unless ordered by a court) shall be made by the Company only as authorized in the specific case upon a determination that indemnification of the Director, Series Manager, officer, employee, or agent is proper in the circumstances because the Person has met the applicable standard of conduct set forth in Sections 13.1 or 13.2. Such determination shall be made: + +* By the Board by a majority vote of a quorum consisting of Directors who were not parties to such action, suit, or proceeding + +* If such a quorum is not obtainable, or even if obtainable, if a quorum of disinterested Directors so directs, by independent legal counsel in a written opinion + +* By the Sole Member + +## 13.5 Advancement of Expenses + +Expenses (including attorneys' fees) incurred by a Director, Series Manager, officer, employee, or agent in defending any civil, criminal, administrative, or investigative action, suit, or proceeding may be paid by the Company in advance of the final disposition of such action, suit, or proceeding upon receipt of an undertaking by or on behalf of such Person to repay such amount if it shall ultimately be determined that such Person is not entitled to be indemnified by the Company as authorized in this Article. + +## 13.6 Non-Exclusivity + +The indemnification and advancement of expenses provided by, or granted pursuant to, this Article shall not be deemed exclusive of any other rights to which those seeking indemnification or advancement of expenses may be entitled under any agreement, vote of Directors, or otherwise, both as to action in their official capacity and as to action in another capacity while holding such office. + +## 13.7 Insurance + +The Company may purchase and maintain insurance on behalf of any Person who is or was a Director, Series Manager, officer, employee, or agent of the Company or any Series against any liability asserted against such Person and incurred by such Person in any such capacity, or arising out of such Person's status as such, whether or not the Company would have the power to indemnify such Person against such liability under the provisions of this Article. + +## 13.8 Series Indemnification + +Each Series shall, to the extent legally permissible, indemnify any Person who was or is a party, or is threatened to be made a party, to any threatened, pending, or completed action, suit, or proceeding by reason of the fact that such Person is or was a Series Manager, officer, employee, or agent of such Series, against all expenses (including attorneys' fees), judgments, fines, and amounts paid in settlement actually and reasonably incurred by such Person in connection with such action, suit, or proceeding. + +## 13.9 Survival of Indemnification + +The rights to indemnification and advancement of expenses provided by, or granted pursuant to, this Article shall continue as to a Person who has ceased to be a Director, Series Manager, officer, employee, or agent and shall inure to the benefit of the heirs, executors, and administrators of such Person. + +## 13.10 Severability + +If any provision of this Article shall be deemed invalid or unenforceable, such invalidity or unenforceability shall not affect any other provision of this Article, and this Article shall be construed and enforced as if such invalid or unenforceable provision had not been included herein. + +## 13.11 Intent + +It is the intent of this Article to provide indemnification to Directors, Series Managers, officers, employees, and agents to the fullest extent permitted by the TBOC. If the TBOC is amended after the date of this Agreement to authorize corporate action further eliminating or limiting the personal liability of Directors, Series Managers, officers, employees, or agents, then the liability of a Director, Series Manager, officer, employee, or agent of the Company or any Series shall be eliminated or limited to the fullest extent permitted by the TBOC, as so amended. diff --git a/pages/155.OperatingAgreements.TurnkeyNetworkSystemsLLC.TurnkeyNetworkSystemsLLC-CompanyOperatingAgreement.article-14/default.md b/pages/155.OperatingAgreements.TurnkeyNetworkSystemsLLC.TurnkeyNetworkSystemsLLC-CompanyOperatingAgreement.article-14/default.md new file mode 100644 index 0000000..8399196 --- /dev/null +++ b/pages/155.OperatingAgreements.TurnkeyNetworkSystemsLLC.TurnkeyNetworkSystemsLLC-CompanyOperatingAgreement.article-14/default.md @@ -0,0 +1,88 @@ +--- +title: 'ARTICLE XIV - DISSOLUTION AND TERMINATION' +menu: 'ARTICLE XIV - DISSOLUTION AND TERMINATION' +--- + +# ARTICLE XIV - DISSOLUTION AND TERMINATION + +## 14.1 Dissolution of the Company + +The Company shall be dissolved and its affairs wound up upon the first to occur of the following: + +* The written consent of the Sole Member + +* The entry of a decree of judicial dissolution under Section 11.314 of the TBOC + +* The termination of the legal existence of the Sole Member or the occurrence of any other event that terminates the continued membership of the Sole Member, unless the Company is continued without dissolution pursuant to the TBOC + +## 14.2 Dissolution of a Series + +A Series shall be dissolved and its affairs wound up upon the first to occur of the following: + +* The dissolution of the Company + +* The written consent of the Board and the Series Manager(s) + +* The accomplishment of the purpose(s) for which the Series was established, as determined by the Board + +* The entry of a decree of judicial dissolution with respect to the Series + +* Any event specified in the Series Designation as triggering dissolution + +## 14.3 Winding Up + +### 14.3.1 Company Winding Up + +Upon dissolution of the Company, the Board shall act as liquidator and shall wind up the affairs of the Company. The liquidator shall have full power and authority to sell, assign, and encumber any or all of the Company's assets and to wind up and liquidate the affairs of the Company in an orderly manner. + +### 14.3.2 Series Winding Up + +Upon dissolution of a Series, the Series Manager(s) shall act as liquidator and shall wind up the affairs of the Series. The liquidator shall have full power and authority to sell, assign, and encumber any or all of the Series' assets and to wind up and liquidate the affairs of the Series in an orderly manner. + +## 14.4 Order of Payment upon Dissolution + +### 14.4.1 Company Dissolution + +Upon dissolution of the Company, the assets of the Company shall be distributed in the following order: + +* First, to creditors of the Company, including the Sole Member if a creditor, in satisfaction of liabilities of the Company (whether by payment or by establishment of reserves) + +* Second, to the Sole Member + +### 14.4.2 Series Dissolution + +Upon dissolution of a Series, the assets of the Series shall be distributed in the following order: + +* First, to creditors of the Series, including Members if creditors, in satisfaction of liabilities of the Series (whether by payment or by establishment of reserves) + +* Second, to Members of the Series in accordance with their positive Capital Account balances + +* Third, to Members of the Series in accordance with their Profit Interests + +## 14.5 Deficit Capital Accounts + +If any Member has a deficit balance in their Capital Account (after giving effect to all contributions, distributions, and allocations for all fiscal years, including the fiscal year during which such liquidation occurs), such Member shall have no obligation to make any contribution to the capital of the Company or the applicable Series with respect to such deficit, and such deficit shall not be considered a debt owed to the Company or the applicable Series or to any other Person for any purpose whatsoever. + +## 14.6 Articles of Termination + +When all debts, liabilities, and obligations of the Company and all Series have been paid and discharged or adequate provisions have been made therefor and all of the remaining property and assets of the Company and all Series have been distributed, articles of termination shall be executed and filed with the Secretary of State of Texas. + +## 14.7 Termination of a Series Without Company Termination + +The termination of a single Series shall not affect the limitation on liabilities of such Series or any other Series. The termination of a Series shall not require the termination of the Company and shall not affect the existence or functioning of the Company or any other Series. + +## 14.8 Return of Contribution Nonrecourse to Other Members + +Except as provided by law or as expressly provided in this Agreement, upon dissolution, each Member shall look solely to the assets of the applicable Series for the return of its Capital Contribution. If the property of a Series remaining after the payment or discharge of the debts and liabilities of the Series is insufficient to return the Capital Contribution of one or more Members, such Member(s) shall have no recourse against any other Series, the Company, or any other Member. + +## 14.9 Survival of Certain Provisions + +Notwithstanding anything to the contrary in this Agreement, the provisions of Article X (Books, Records and Accounting), Article XIII (Indemnification), and this Article XIV shall survive the termination of the Company or any Series. + +## 14.10 No Voluntary Withdrawal + +The Sole Member shall not voluntarily withdraw or resign from the Company. No Member shall voluntarily withdraw or resign from a Series except as specifically permitted by this Agreement or the applicable Series Designation. + +## 14.11 No Partition + +No Member shall have the right to seek or obtain partition by court decree or operation of law of any Company or Series property, or the right to own or use particular or individual assets of the Company or a Series. diff --git a/pages/156.OperatingAgreements.TurnkeyNetworkSystemsLLC.TurnkeyNetworkSystemsLLC-CompanyOperatingAgreement.article-15/default.md b/pages/156.OperatingAgreements.TurnkeyNetworkSystemsLLC.TurnkeyNetworkSystemsLLC-CompanyOperatingAgreement.article-15/default.md new file mode 100644 index 0000000..603978b --- /dev/null +++ b/pages/156.OperatingAgreements.TurnkeyNetworkSystemsLLC.TurnkeyNetworkSystemsLLC-CompanyOperatingAgreement.article-15/default.md @@ -0,0 +1,118 @@ +--- +title: 'ARTICLE XV - AMENDMENT' +menu: 'ARTICLE XV - AMENDMENT' +--- + +# ARTICLE XV - AMENDMENT + +## 15.1 Amendment of Certificate of Formation + +The Certificate of Formation of the Company may be amended at any time upon the written consent of the Sole Member. The Board shall file any amendment to the Certificate of Formation with the Secretary of State of Texas as required by the TBOC. + +## 15.2 Amendment of Company Operating Agreement + +### 15.2.1 General Amendments + +This Agreement may be amended only with the written consent of the Sole Member, except as otherwise provided in this Article. + +### 15.2.2 Technical Amendments + +Notwithstanding Section 15.2.1, the Board may amend this Agreement, without the consent of the Sole Member, to: + +* Correct typographical errors + +* Make changes of a ministerial nature that do not modify the rights or obligations of the Sole Member + +* Comply with any requirements, regulations, rulings, or guidance of any federal or state agency or regulatory body + +* Comply with any provision of the TBOC or other applicable law + +* Make any change that does not adversely affect the rights or obligations of the Sole Member in any material respect + +### 15.2.3 Notice of Amendments + +The Board shall provide prompt written notice to the Sole Member of any amendment made pursuant to Section 15.2.2. + +## 15.3 Amendment of Series Designations + +### 15.3.1 General Series Amendments + +A Series Designation may be amended with the written consent of: + +* The Board + +* The Series Manager(s) of the applicable Series + +* Series Members holding a majority of the Profit Interests in the applicable Series, unless the Series Designation requires a greater percentage + +### 15.3.2 Technical Series Amendments + +Notwithstanding Section 15.3.1, the Series Manager(s) may amend a Series Designation, without the consent of the Series Members, to: + +* Correct typographical errors + +* Make changes of a ministerial nature that do not modify the rights or obligations of the Series Members + +* Comply with any requirements, regulations, rulings, or guidance of any federal or state agency or regulatory body + +* Comply with any provision of the TBOC or other applicable law + +* Make any change that does not adversely affect the rights or obligations of any Series Member in any material respect + +### 15.3.3 Notice of Series Amendments + +The Series Manager(s) shall provide prompt written notice to all Series Members of any amendment made to a Series Designation. + +## 15.4 Required Consent for Adverse Amendments + +Notwithstanding any other provision of this Article, no amendment to this Agreement or any Series Designation shall: + +* Modify the limited liability of the Sole Member or any Series Member without the consent of each affected Member + +* Adversely modify the economic rights of the Sole Member or any Series Member without the consent of each affected Member + +* Modify any provision requiring the consent of the Sole Member or any Series Member for specified actions without the consent of each affected Member + +* Modify this Section 15.4 without the consent of the Sole Member and each Series Member + +## 15.5 Amendments Affecting Series Isolation + +No amendment to this Agreement shall adversely affect the limitation on liabilities of a Series established under the Series LLC Act without the consent of: + +* The Board + +* The Series Manager(s) of each affected Series + +* Series Members holding a majority of the Profit Interests in each affected Series + +## 15.6 Documentation of Amendments + +### 15.6.1 Form of Amendment + +Any amendment to this Agreement or a Series Designation shall be documented in writing, either as: + +* A separate amendment document signed by all required parties + +* A restated agreement or designation incorporating all amendments, signed by all required parties + +* A unanimous written consent approving the amendment, with the text of the amendment attached + +### 15.6.2 Effective Date + +Unless otherwise specified in the amendment document, an amendment shall be effective upon execution by all required parties. + +## 15.7 Electronic Amendment Process + +Consistent with Article XI (Electronic Governance), amendments to this Agreement or any Series Designation may be proposed, deliberated, and approved through electronic means, provided that: + +* All required parties have access to the electronic platform used for the amendment process + +* The identity of each consenting party can be authenticated + +* Records of the amendment process, including all deliberations and votes, are preserved + +* The final amendment document is distributed to all affected parties + +## 15.8 Periodic Review + +The Board shall review this Agreement at least annually to determine whether any amendments are necessary or desirable to improve the governance and operation of the Company and its Series. diff --git a/pages/157.OperatingAgreements.TurnkeyNetworkSystemsLLC.TurnkeyNetworkSystemsLLC-CompanyOperatingAgreement.article-16/default.md b/pages/157.OperatingAgreements.TurnkeyNetworkSystemsLLC.TurnkeyNetworkSystemsLLC-CompanyOperatingAgreement.article-16/default.md new file mode 100644 index 0000000..fa32334 --- /dev/null +++ b/pages/157.OperatingAgreements.TurnkeyNetworkSystemsLLC.TurnkeyNetworkSystemsLLC-CompanyOperatingAgreement.article-16/default.md @@ -0,0 +1,92 @@ +--- +title: 'ARTICLE XVI - MISCELLANEOUS PROVISIONS' +menu: 'ARTICLE XVI - MISCELLANEOUS PROVISIONS' +--- + +# ARTICLE XVI - MISCELLANEOUS PROVISIONS + +## 16.1 Entire Agreement + +This Agreement, including all Series Designations and Schedules attached hereto, constitutes the entire agreement among the parties with respect to the subject matter hereof and supersedes all prior agreements and understandings, whether written or oral. + +## 16.2 Binding Effect + +Subject to the restrictions on Transfers set forth in this Agreement, this Agreement is binding on and shall inure to the benefit of the parties and their respective heirs, legal representatives, successors, and assigns. + +## 16.3 Governing Law + +This Agreement and the rights and obligations of the parties hereunder shall be governed by and interpreted, construed, and enforced in accordance with the laws of the State of Texas, without regard to rules on conflicts of law. + +## 16.4 Jurisdiction and Venue + +Any legal action or proceeding with respect to this Agreement shall be brought in the courts of the State of Texas or of the United States District Court for the appropriate district of Texas, and, by execution and delivery of this Agreement, each party consents to the exclusive jurisdiction of those courts. Each party irrevocably waives any objection, including any objection to the venue or based on the grounds of forum non conveniens, which it may now or hereafter have to the bringing of any action or proceeding in such jurisdiction. + +## 16.5 Severability + +If any provision of this Agreement is held to be illegal, invalid, or unenforceable under present or future laws, such provision shall be fully severable, and this Agreement shall be construed and enforced as if such illegal, invalid, or unenforceable provision had never comprised a part of this Agreement, and the remaining provisions of this Agreement shall remain in full force and effect and shall not be affected by the illegal, invalid, or unenforceable provision or by its severance from this Agreement, provided that the severed provision(s) are not material to the overall purpose and operation of this Agreement. + +## 16.6 Further Assurances + +In connection with this Agreement and the transactions contemplated hereby, each party shall execute and deliver any additional documents and instruments and perform any additional acts that may be necessary or appropriate to effectuate and perform the provisions of this Agreement and those transactions. + +## 16.7 No Third-Party Beneficiaries + +This Agreement is made solely and specifically among and for the benefit of the parties hereto, and their respective successors and assigns subject to the express provisions hereof relating to successors and assigns, and no other Person shall have any rights, interest, or claims hereunder or be entitled to any benefits under or on account of this Agreement as a third-party beneficiary or otherwise. + +## 16.8 Construction + +In the event an ambiguity or question of intent or interpretation arises, this Agreement shall be construed as if drafted jointly by the parties, and no presumption or burden of proof shall arise favoring or disfavoring any party by virtue of the authorship of any of the provisions of this Agreement. + +## 16.9 Counterparts + +This Agreement may be executed in any number of counterparts with the same effect as if all signing parties had signed the same document. All counterparts shall be construed together and constitute the same instrument. + +## 16.10 Electronic Signatures + +The parties agree that signatures transmitted electronically, whether by fax, electronic mail of a PDF document, or otherwise, shall be acceptable to bind the parties and shall be of the same force and effect as original signatures. + +## 16.11 Headings + +The headings in this Agreement are inserted for convenience only and are not part of this Agreement. + +## 16.12 References + +All references in this Agreement to Articles, Sections, subsections, and other subdivisions refer to corresponding Articles, Sections, subsections, and other subdivisions of this Agreement unless expressly provided otherwise. + +## 16.13 Waivers + +No waiver by any party, whether express or implied, of any provision of this Agreement, or of any breach or default of any party, shall be effective unless in writing signed by the party against whom such waiver is sought to be enforced. No such waiver shall be deemed a continuing waiver unless expressly stated therein, and any such waiver shall be operative only with respect to the specific instance and for the specific purpose for which given. + +## 16.14 Notices + +Any notice, payment, demand, or communication required or permitted to be given by any provision of this Agreement shall be in writing and shall be delivered personally or sent by courier, certified mail, or electronic transmission to the party at the address set forth below or such other address as the party may specify by notice: + +* **To the Company:** + [Company Address] + Attention: Board of Directors + Email: [Email Address] + +* **To the Sole Member:** + [Sole Member Address] + Email: [Email Address] + +* **To a Series or Series Member:** + At the address provided in the applicable Series Designation or in the Company records + +Any such notice shall be deemed to be delivered, given, and received as of the earlier of (a) the date actually received, or (b) (i) if delivered personally, when delivered, (ii) if sent by courier, one business day after deposit with the courier, (iii) if sent by certified mail, three business days after deposit in the United States mail, and (iv) if sent by electronic transmission, when sent. + +## 16.15 Time Periods + +In applying any provision of this Agreement that requires an act be done or not be done a specified number of days prior to an event or that an act be done during a period of a specified number of days prior to an event, calendar days shall be used, the day of the doing of the act shall be excluded, and the day of the event shall be included. + +## 16.16 Confidentiality + +Each Member acknowledges that they may receive information regarding the Company and the Series that is confidential, proprietary, or otherwise not generally available to the public. Each Member agrees to keep all such information confidential and not to disclose such information to any third party without the prior written consent of the Board or Series Manager(s), as applicable. + +## 16.17 Legal Counsel + +Each party acknowledges that they have been advised to seek independent legal counsel in connection with this Agreement. To the extent a party has not sought independent legal counsel, such party has voluntarily and knowingly waived the right to do so. + +## 16.18 Series Independence + +Each Series shall be independent of all other Series. No creditor, claimant, or other liabilities of any Series shall be asserted against any other Series or the Company generally. diff --git a/pages/158.OperatingAgreements.TurnkeyNetworkSystemsLLC.TurnkeyNetworkSystemsLLC-CompanyOperatingAgreement.article-1/default.md b/pages/158.OperatingAgreements.TurnkeyNetworkSystemsLLC.TurnkeyNetworkSystemsLLC-CompanyOperatingAgreement.article-1/default.md new file mode 100644 index 0000000..a9c656d --- /dev/null +++ b/pages/158.OperatingAgreements.TurnkeyNetworkSystemsLLC.TurnkeyNetworkSystemsLLC-CompanyOperatingAgreement.article-1/default.md @@ -0,0 +1,70 @@ +--- +title: 'ARTICLE I - ORGANIZATION' +menu: 'ARTICLE I - ORGANIZATION' +--- + +# ARTICLE I - ORGANIZATION + +## 1.1 Formation + +**Turnkey Network Systems LLC** (the "Company") has been organized as a Texas series limited liability company by the filing of a Certificate of Formation (the "Certificate") with the Secretary of State of Texas under and pursuant to the Texas Business Organizations Code ("TBOC"), as amended from time to time. + +## 1.2 Operating Agreement + +This Company Operating Agreement (the "Agreement") is entered into and shall be effective as of March 14, 2025 (the "Effective Date"), by and among the Company and the Person executing this Agreement as the sole Member (the "Sole Member"). This Agreement shall govern the operations and administration of the Company and, to the maximum extent permitted by applicable law, shall override and replace the provisions of the TBOC that would otherwise apply to the Company. + +## 1.3 Name + +The name of the Company is **Turnkey Network Systems LLC**. All Company business shall be conducted under that name or such other names that comply with applicable law as the Board may determine from time to time. + +## 1.4 Registered Office and Registered Agent + +The Company shall maintain a registered office and registered agent in the State of Texas as required by the TBOC. The initial registered office and the name and address of the initial registered agent of the Company shall be as set forth in the Certificate. The Board may change the registered office and/or the registered agent from time to time. + +## 1.5 Principal Office + +The principal office of the Company shall be located at [Insert Principal Office Address], or at such other place as the Board may determine from time to time. + +## 1.6 Term + +The Company commenced on the date the Certificate was filed with the Secretary of State of Texas and shall continue in existence until dissolved in accordance with this Agreement or the TBOC. + +## 1.7 Intent to Override Default Statutory Provisions + +To the maximum extent permitted by law, this Agreement is intended to: + +* Override and replace all default provisions of the TBOC that would otherwise apply to the Company + +* Establish a: + * governance structure + * ownership rights + * operational framework + that differs from the default provisions of the TBOC + +* Create: + - relationships + - rights + - duties + - obligations of the Company + - obligations of the Member + - obligations of the Series + - obligations of their respective stakeholders + that are customized for the Company's specific needs and purposes + +* Provide a comprehensive set of rules for the internal affairs of the Company that supersede any statutory provisions that would apply in the absence of an agreement to the contrary + +## 1.8 Series LLC Structure + +The Company is hereby established as a series limited liability company under Subchapter M of Chapter 101 of the TBOC (the "Series LLC Act"). The rights, powers, duties, obligations, liabilities, and restrictions contained in this Agreement shall govern all Series established under the Company. This Agreement serves as the Company Agreement for the Company and each Series. + +## 1.9 Series Isolation + +As provided by the Series LLC Act, the debts, liabilities, obligations, and expenses incurred, contracted for, or otherwise existing with respect to a particular Series shall be enforceable against the assets of that Series only, and not against the assets of the Company generally or any other Series established under this Agreement. + +## 1.10 Series Not Separate Legal Entities + +Notwithstanding the liability and asset segregation provided by the Series LLC Act, the Company acknowledges that each Series established under this Agreement is not a separate legal entity from the Company itself, but rather represents a segregated pool of assets and liabilities within the Company with special statutory protections. + +## 1.11 Singular Member Structure + +The Company is organized with a singular member structure with no ability to add or remove members except as specifically provided in this Agreement. All membership interests in the Company are held by the Sole Member. diff --git a/pages/159.OperatingAgreements.TurnkeyNetworkSystemsLLC.TurnkeyNetworkSystemsLLC-CompanyOperatingAgreement.article-2/default.md b/pages/159.OperatingAgreements.TurnkeyNetworkSystemsLLC.TurnkeyNetworkSystemsLLC-CompanyOperatingAgreement.article-2/default.md new file mode 100644 index 0000000..16bc214 --- /dev/null +++ b/pages/159.OperatingAgreements.TurnkeyNetworkSystemsLLC.TurnkeyNetworkSystemsLLC-CompanyOperatingAgreement.article-2/default.md @@ -0,0 +1,131 @@ +--- +title: 'ARTICLE II - DEFINITIONS' +menu: 'ARTICLE II - DEFINITIONS' +--- + +# ARTICLE II - DEFINITIONS + +## 2.1 Definitions + +As used in this Agreement, the following terms have the meanings set forth below: + +**"Act"** means the Texas Business Organizations Code, as it may be amended from time to time, and any successor to such statute. + +**"Affiliate"** means, with respect to any Person, any other Person that directly or indirectly through one or more intermediaries controls, is controlled by, or is under common control with, such Person. + +**"Agreement"** means this Company Operating Agreement, as amended, modified, supplemented, or restated from time to time. + +**"Asset Management Series"** means a Series established under Article V for the purpose of holding, managing, or operating specific assets or investments for the benefit of designated beneficiaries. + +**"Board"** means the governing board of the Company established under Article IV of this Agreement. + +**"Capital Account"** means the capital account maintained for a Member in accordance with Section 6.3. + +**"Capital Contribution"** means any contribution to the capital of the Company or a Series in cash or property by a Member. + +**"Cell Series"** means a Series established under Article V for the purpose of serving as a holding structure for the benefit of a family office, trust, or similar arrangement. + +**"Certificate"** means the Certificate of Formation filed with the Secretary of State of Texas to form the Company pursuant to the Act, as amended or restated from time to time. + +**"Class A Member"** means a Member holding Class A Membership Interests under the FairShares model established in Article VIII. + +**"Class B Member"** means a Member holding Class B Membership Interests under the FairShares model established in Article VIII. + +**"Class C Member"** means a Member holding Class C Membership Interests under the FairShares model established in Article VIII. + +**"Code"** means the Internal Revenue Code of 1986, as amended from time to time. + +**"Company"** means Turnkey Network Systems LLC, a Texas series limited liability company. + +**"Company Interest"** means all of a Member's rights in the Company, including the Member's economic interest, right to vote (if any), and right to participate in the management (if any). + +**"Consent"** means the approval of a Person to do the act or thing for which the approval is solicited, or the act of granting such approval, as the context may require. + +**"Director"** means a member of the Board. + +**"Electronic Governance"** means the system and process of governance conducted through electronic means as described in Article XI. + +**"FairShares Model"** means the membership and governance model described in Article VIII of this Agreement. + +**"Fiscal Year"** means the Company's fiscal year, which shall be the calendar year, or any other period designated by the Board. + +**"Governance"** means the oversight, strategic direction, and policy-setting functions performed by the Board, as distinguished from management of day-to-day operations. + +**"Initial Series"** means any of the five Series initially established under this Agreement in Section 5.3. + +**"Known Element Enterprises LLC"** means the Operating Series established under Section 5.3 of this Agreement. + +**"Manager"** means a Person designated to manage the business or affairs of a Series in accordance with this Agreement. + +**"Member"** means the Sole Member or any Person admitted as a member of a Series in accordance with this Agreement, but does not include any Person who has ceased to be a member in the Company or applicable Series. + +**"Membership Interest"** means a Member's entire interest in the Company or a specific Series, including the Member's economic interest, the right to vote or participate in management (if any), and any right to information concerning the business and affairs of the Company or applicable Series. + +**"Operating Series"** means a Series established under Article V for the purpose of conducting business operations. + +**"Person"** means an individual, corporation, partnership, joint venture, limited liability company, trust, estate, unincorporated organization, association, custodian, nominee, government or any agency or political subdivision thereof, or any other entity. + +**"Profit Interest"** means a Membership Interest that confers upon the holder only a right to share in profits and appreciation in value occurring after the date of issuance, and not any right to existing capital or asset value of the Company or applicable Series. + +**"Redwood Family Office Group LLC"** means the Cell Series established under Section 5.3 of this Agreement. + +**"Redwood Springs Capital Partners Group LLC"** means the Cell Series established under Section 5.3 of this Agreement. + +**"Series"** means a designated series of assets and liabilities established in accordance with Section 101.601 of the Act and this Agreement. + +**"Series Interest"** means a Member's entire interest in a specific Series, including the Member's economic interest, the right to vote or participate in management (if any), and any right to information concerning the business and affairs of the applicable Series. + +**"Series LLC Act"** means Subchapter M of Chapter 101 of the Texas Business Organizations Code, as it may be amended from time to time, and any successor to such statute. + +**"Sociocracy"** means the system of governance based on the principles described in Article XII of this Agreement. + +**"Sole Member"** means the sole member of the Company identified in Section 1.2. + +**"TBOC"** means the Texas Business Organizations Code, as it may be amended from time to time, and any successor to such statute. + +**"The Campus Trading Company LLC"** means the Operating Series established under Section 5.3 of this Agreement. + +**"Transfer"** means any sale, assignment, encumbrance, hypothecation, pledge, conveyance, or other disposition, whether voluntary or involuntary, of any legal or beneficial interest. + +**"Treasury Regulations"** means the federal income tax regulations, including temporary regulations, promulgated under the Code, as such regulations may be amended from time to time. + +**"Wyble Family Office Group LLC"** means the Cell Series established under Section 5.3 of this Agreement. + +## 2.2 Construction + +Unless the context requires otherwise: + +* The gender of all words used in this Agreement includes: + - masculine + - feminine + - neuter + +* The singular forms of: + - nouns + - pronouns + - verbs + shall include the plural, and vice versa + +* All references to: + - Articles and Sections refer to articles and sections of this Agreement + - Schedules are to schedules attached to this Agreement + each of which is incorporated into and made a part of this Agreement for all purposes + +* The word "including" means "including, without limitation" + +* The word "or" is not exclusive + +* References to: + - a statute + - regulation + - or other law + refer to the statute, regulation, or law as amended from time to time and, if applicable, includes any successor statute, regulation, or law + +* References to: + - "$" + - "dollars" + refer to United States dollars + +## 2.3 Headings and Titles + +All headings and titles used in this Agreement are intended solely for convenience of reference and shall not affect the interpretation or application of any of the terms or provisions contained herein. diff --git a/pages/16.Handbook.Board.policies.README/default.md b/pages/16.Handbook.Board.policies.README/default.md new file mode 100644 index 0000000..68c0f3c --- /dev/null +++ b/pages/16.Handbook.Board.policies.README/default.md @@ -0,0 +1,22 @@ +--- +title: 'tsg-policies' +menu: 'tsg-policies' +--- + +# tsg-policies + +Policies that apply across the TSYS Group Entities. + +Including but not limited to + +* IT security +* Equal opportunity +* Federal contracting +* Insider trading + + +This is a MASSIVE WIP + +It's sourced from all over the internet. + +The material at https://governance.turnsys.com is authorative. diff --git a/pages/160.OperatingAgreements.TurnkeyNetworkSystemsLLC.TurnkeyNetworkSystemsLLC-CompanyOperatingAgreement.article-3/default.md b/pages/160.OperatingAgreements.TurnkeyNetworkSystemsLLC.TurnkeyNetworkSystemsLLC-CompanyOperatingAgreement.article-3/default.md new file mode 100644 index 0000000..7063b3e --- /dev/null +++ b/pages/160.OperatingAgreements.TurnkeyNetworkSystemsLLC.TurnkeyNetworkSystemsLLC-CompanyOperatingAgreement.article-3/default.md @@ -0,0 +1,199 @@ +--- +title: 'ARTICLE III - PURPOSE AND POWERS' +menu: 'ARTICLE III - PURPOSE AND POWERS' +--- + +# ARTICLE III - PURPOSE AND POWERS + +## 3.1 Purpose of the Company + +The sole purpose of the Company is to: + +* Administer: + - the Series established under this Agreement + +* Provide: + - a legal framework within which the Series can operate + +* Hold and segregate: + - the assets and liabilities of the various Series + +* Serve as: + - a parent organization for the Series + +* Maintain: + - compliance with regulatory requirements applicable to series limited liability companies + +The Company shall not itself conduct business operations, enter into agreements with third parties, or engage in activities outside the scope of Series administration. + +## 3.2 Prohibition on Company Business Activities + +The Company is expressly prohibited from: + +* Conducting: + - business operations unrelated to the administration of Series + +* Entering into: + - contracts + - agreements + - or arrangements with third parties, except as necessary for Company administration + +* Acquiring: + - assets or properties to be held at the Company level + +* Obtaining: + - financing or incurring indebtedness at the Company level + +* Employing: + - personnel at the Company level + +* Engaging in: + - marketing + - sales + - or operations of any commercial enterprise + +* Taking any action that would: + - undermine the segregation of assets and liabilities between Series + +## 3.3 Series Activities + +Notwithstanding the limitations on Company activities, each Series may, through its designated Manager(s) and in accordance with its specific Series Designation: + +* Conduct: + - business operations + +* Enter into: + - contracts + - agreements + - and arrangements with third parties + +* Acquire: + - assets and properties + +* Obtain: + - financing and incur indebtedness + +* Employ: + - personnel + +* Engage in: + - marketing + - sales + - and other commercial activities + +* Take any lawful action in furtherance of: + - its designated purpose + +## 3.4 Powers of the Company + +Subject to the limitations set forth in this Agreement, the Company shall have the power and authority to take any and all actions: + +- necessary +- appropriate +- proper +- advisable +- incidental +- convenient + +to or for the furtherance of the purpose set forth in Section 3.1, including but not limited to the power to: + +* Establish: + - Series in accordance with this Agreement and the Series LLC Act + +* Maintain: + - separate and distinct records for each Series + +* Hold and account for: + - the assets associated with each Series separately from the assets of the Company or any other Series + +* Execute: + - all instruments + - documents + - and agreements necessary for Series administration + +* File: + - tax returns + - and other governmental reports and documents + +* Open: + - bank accounts +* Maintain: + - bank accounts +* Close: + - bank accounts + - and investment accounts for each Series + +* Hold title to: + - Company or Series assets in the name of the Company or a Series + +* Delegate authority to: + - agents + - and representatives of the Company or Series + +* Indemnify: + - Directors + - officers + - and other agents of the Company or Series + +* Dissolve: + - a Series or the Company +* Wind up: + - a Series or the Company +* Liquidate: + - a Series or the Company + +* Exercise all other powers necessary, suitable, or convenient for: + - the accomplishment of the purpose of the Company or any Series + +## 3.5 Powers of the Series + +Subject to the limitations set forth in this Agreement and any Series Designation, each Series shall have the power and authority to take any and all actions: + +- necessary +- appropriate +- proper +- advisable +- incidental +- convenient + +to or for the furtherance of the purpose set forth in its Series Designation, including but not limited to the power to: + +* Conduct: + - the business described in its Series Designation + +* Enter into: + - contracts + - agreements + - and arrangements in the name of the Series + +* Own: + - Series assets +* Acquire: + - Series assets +* Manage: + - Series assets +* Dispose of: + - Series assets + +* Borrow: + - money and issue evidences of indebtedness + +* Grant: + - liens and security interests in Series assets + +* Hire: + - employees and engage independent contractors + +* Open, maintain, and close: + - bank accounts + - and investment accounts in the name of the Series + +* Bring and defend: + - legal proceedings in the name of the Series + +* Exercise all other powers necessary, suitable, or convenient for: + - the accomplishment of the purpose of the Series + +## 3.6 Limitation of Liability + +Neither the Company nor any Series shall be responsible or liable for the debts, obligations, or liabilities of any other Series. The debts, obligations, and liabilities incurred, contracted for, or otherwise existing with respect to a particular Series shall be enforceable only against the assets of that Series and not against the assets of the Company generally or any other Series. diff --git a/pages/161.OperatingAgreements.TurnkeyNetworkSystemsLLC.TurnkeyNetworkSystemsLLC-CompanyOperatingAgreement.article-4/default.md b/pages/161.OperatingAgreements.TurnkeyNetworkSystemsLLC.TurnkeyNetworkSystemsLLC-CompanyOperatingAgreement.article-4/default.md new file mode 100644 index 0000000..25c4b26 --- /dev/null +++ b/pages/161.OperatingAgreements.TurnkeyNetworkSystemsLLC.TurnkeyNetworkSystemsLLC-CompanyOperatingAgreement.article-4/default.md @@ -0,0 +1,137 @@ +--- +title: 'ARTICLE IV - COMPANY GOVERNANCE' +menu: 'ARTICLE IV - COMPANY GOVERNANCE' +--- + +# ARTICLE IV - COMPANY GOVERNANCE + +## 4.1 Management by Board of Directors + +The Company shall be governed by a Board of Directors (the "Board"), which shall oversee the Company and provide governance, but not management, of the Company's affairs. The Board shall exercise all powers of the Company except those powers specifically reserved to the Sole Member or delegated to Series Managers. + +## 4.2 Distinction Between Governance and Management + +This Agreement establishes a clear distinction between governance and management: + +* **Governance** (performed by the Board) involves setting strategic direction, establishing policies, overseeing compliance, ensuring accountability, and making high-level decisions that affect the Company as a whole + +* **Management** (performed by Series Managers) involves day-to-day operational decisions, implementation of strategic plans, supervision of staff, and routine business activities within each Series + +The Board shall not engage in the day-to-day management of any Series, which function is reserved exclusively for the Series Managers. + +## 4.3 Board Composition + +The Board shall consist of at least three (3) and no more than seven (7) Directors, as determined by the Sole Member. The initial Board shall consist of three (3) Directors as follows: + +1. [Director Name 1] +2. [Director Name 2] +3. [Director Name 3] + +## 4.4 Appointment and Removal of Directors + +Directors shall be appointed by the Sole Member and shall serve until their resignation, removal, or replacement. + +The Sole Member may remove any Director, with or without cause, at any time by providing written notice to the Board. Any Director may resign at any time by delivering a written resignation to the Board. Such resignation shall take effect upon delivery unless otherwise specified. + +## 4.5 Board Powers and Responsibilities + +The Board shall have the power and authority to: + +* Establish: + - Policies + - Procedures for the operation of the Company and its Series + +* Oversee: + - Implementation of the Company's strategic plan + +* Approve: + - Establishment of Series + - Dissolution of Series + +* Appoint and remove: + - Series Managers + +* Approve: + - Significant transactions that affect the Company as a whole + +* Ensure compliance with: + - Legal requirements + - Regulatory requirements + +* Establish: + - Committees as deemed necessary + +* Adopt, amend, or repeal: + - Bylaws + - Other governance documents + +* Delegate authority to: + - Officers + - Employees + - Agents of the Company + +* Take any other action that is not specifically reserved to: + - The Sole Member + - Delegated to Series Managers + +## 4.6 Board Meetings + +The Board shall meet at least quarterly. Meetings may be held in person, by telephone, or through electronic means as provided in Article XI. The Board shall maintain records of all meetings in accordance with Article X. + +### 4.6.1 Special Meetings + +Special meetings of the Board may be called by any Director by providing at least forty-eight (48) hours' notice to all other Directors. The notice shall specify the purpose, time, and place of the meeting. + +### 4.6.2 Quorum and Voting + +A majority of the Directors shall constitute a quorum for the transaction of business. The act of a majority of the Directors present at a meeting at which a quorum is present shall be the act of the Board, unless a greater number is required by this Agreement. + +### 4.6.3 Action Without Meeting + +Any action required or permitted to be taken at a meeting of the Board may be taken without a meeting if all Directors consent in writing or by electronic transmission. Such consent shall have the same effect as a unanimous vote at a meeting. + +## 4.7 Officers + +The Board may appoint officers of the Company as it deems necessary. Such officers may include, but are not limited to, a President, Secretary, and Treasurer. Officers shall have such duties and powers as may be designated by the Board and shall serve at the pleasure of the Board. + +## 4.8 Committees + +The Board may establish one or more committees to assist in the governance of the Company. Each committee shall consist of one or more Directors and shall have such powers and authority as delegated by the Board, except that no committee shall have the power to: + +* Amend this Agreement + +* Approve the dissolution or merger of the Company + +* Establish or dissolve a Series + +* Appoint or remove Directors or Series Managers + +* Approve transactions between the Company and the Sole Member or any Director + +## 4.9 Compensation + +Directors shall not receive compensation for their services as Directors unless approved by the Sole Member. Directors may be reimbursed for reasonable expenses incurred in the performance of their duties. + +## 4.10 Standard of Care + +Each Director shall discharge their duties in good faith, with the care that an ordinarily prudent person in a like position would exercise under similar circumstances, and in a manner the Director reasonably believes to be in the best interests of the Company. A Director is not liable for any action taken as a Director, or any failure to take action, if the Director performed their duties in compliance with this section. + +## 4.11 Sole Member Authority + +Notwithstanding any other provision of this Agreement, the following actions may only be taken with the approval of the Sole Member: + +* Amendment of this Agreement + +* Merger, conversion, or domestication of the Company + +* Sale, lease, exchange, or other disposition of all or substantially all of the Company's assets + +* Dissolution of the Company + +* Admission of new Members to the Company + +* Changes to the structure or composition of the Board + +* Any action that would adversely affect the limited liability of the Sole Member + +* Any other action requiring the Sole Member's approval as set forth in this Agreement diff --git a/pages/162.OperatingAgreements.TurnkeyNetworkSystemsLLC.TurnkeyNetworkSystemsLLC-CompanyOperatingAgreement.article-5/default.md b/pages/162.OperatingAgreements.TurnkeyNetworkSystemsLLC.TurnkeyNetworkSystemsLLC-CompanyOperatingAgreement.article-5/default.md new file mode 100644 index 0000000..dc514ef --- /dev/null +++ b/pages/162.OperatingAgreements.TurnkeyNetworkSystemsLLC.TurnkeyNetworkSystemsLLC-CompanyOperatingAgreement.article-5/default.md @@ -0,0 +1,206 @@ +--- +title: 'ARTICLE V - SERIES STRUCTURE' +menu: 'ARTICLE V - SERIES STRUCTURE' +--- + +# ARTICLE V - SERIES STRUCTURE + +## 5.1 Establishment of Series + +Pursuant to Section 101.601 of the TBOC, the Company hereby establishes and shall maintain one or more designated Series, each of which: + +* Has separate rights with respect to specified property, obligations, profits, and losses associated with the Series +* Has separate powers with respect to specified property, obligations, profits, and losses associated with the Series +* Has separate duties with respect to specified property, obligations, profits, and losses associated with the Series + +* May have a separate business purpose or investment objective + +* Shall maintain records to account for the assets and liabilities associated with the Series separate and apart from the assets and liabilities of the Company or any other Series + +* Shall have liability protection such that the: + - debts + - liabilities + - obligations + - and expenses + +incurred, contracted for, or otherwise existing with respect to a particular Series shall be enforceable against the assets of that Series only, and not against the assets of the Company generally or any other Series + +## 5.2 Series Types + +The Company shall establish the following types of Series: + +### 5.2.1 Asset Management Series + +Asset Management Series are established to hold, manage, or operate specific assets or investments for the benefit of designated beneficiaries. Asset Management Series may own real property, equipment, intellectual property, investment portfolios, or other assets. + +### 5.2.2 Operating Series + +Operating Series are established to conduct business operations, including providing services, manufacturing products, or engaging in commercial activities. Operating Series may enter into contracts, hire employees, and engage in marketing and sales activities. + +### 5.2.3 Cell Series + +Cell Series are established to serve as holding structures for the benefit of family offices, trusts, or similar arrangements. Cell Series may establish subsidiaries, hold ownership interests in other entities, and make investments. + +## 5.3 Initial Series + +The Company hereby establishes the following Initial Series, which shall continue in perpetuity unless dissolved in accordance with this Agreement: + +1. **Known Element Enterprises LLC** (Operating Series) - Established to provide technology consulting services, software development, and related technical services as further described in Schedule A. + +2. **The Campus Trading Company LLC** (Operating Series) - Established to provide educational services, training programs, and related services as further described in Schedule B. + +3. **Redwood Family Office Group LLC** (Cell Series) - Established to serve as a holding structure for the benefit of the Redwood family. + +4. **Redwood Springs Capital Partners Group LLC** (Cell Series) - Established to serve as a holding structure for investments and ventures affiliated with Redwood Springs Capital Partners. + +5. **Wyble Family Office Group LLC** (Cell Series) - Established to serve as a holding structure for the benefit of the Wyble family. + +## 5.4 Series Designation + +For each Series established under this Agreement, the Board shall adopt a Series Designation, which shall include: + +* The name of the Series + +* The type of Series: + - Asset Management + - Operating + - Cell + +* The specific purpose and powers of the Series + +* The name(s) of the initial Manager(s) of the Series + +* Any specific limitations or restrictions on the Series + +* Any additional terms applicable to the Series + +The Series Designations for the Initial Series are set forth in the attached Schedules. + +## 5.5 Series Managers + +Each Series shall be managed by one or more Series Managers appointed by the Board. Series Managers shall have full authority to manage the business and affairs of their respective Series, subject to the limitations set forth in this Agreement and the applicable Series Designation. + +### 5.5.1 Powers of Series Managers + +The Series Managers shall have the power and authority to: + +* Conduct the day-to-day operations of the Series + +* Enter into contracts and agreements on behalf of the Series + +* Hire and terminate employees and engage independent contractors + +* Open and maintain bank accounts and investment accounts + +* Acquire, manage, and dispose of: + - Real property + - Equipment + - Intellectual property + - Investment portfolios + - Other Series assets + +* Obtain financing and incur indebtedness on behalf of the Series + +* Take any other action necessary or appropriate for the management and operation of the Series + +### 5.5.2 Limitations on Series Managers + +Series Managers shall not have the power or authority to: + +* Take any action that would violate this Agreement or the Series Designation + +* Commingle assets of the Series with assets of the Company or any other Series + +* Transfer assets of the Series to the Company or any other Series without proper documentation and consideration + +* Engage in any transaction that would jeopardize the liability protection of the Series + +* Merge or consolidate the Series with any other entity without Board approval + +* Dissolve or terminate the Series without Board approval + +* Grant capital interests in the Series (only profit interests may be granted) + +## 5.6 Series Membership + +Each Series may have its own Members who hold Series Interests in that specific Series. Membership in one Series does not confer any rights with respect to any other Series. + +### 5.6.1 Series Membership Classes + +Each Series shall implement the FairShares membership model described in Article VIII, with a minimum of three membership classes (Class A, Class B, and Class C). + +### 5.6.2 Admission of Series Members + +The Series Manager(s) may admit new Members to a Series by: + +* Issuing Profit Interests to the new Member + +* Obtaining the new Member's signature on a joinder to this Agreement + +* Recording the new Member's information in the Series records + +### 5.6.3 No Capital Interests + +No Series shall issue capital interests. All Series Interests issued to Members shall be Profit Interests only, entitling the Member to share in profits and appreciation occurring after the date of issuance. + +## 5.7 Series Records + +Each Series shall maintain separate records, accounts, and financial statements for its operations. Such records shall include: + +* A current list of the names and addresses of all Series Members + +* A copy of this Agreement and the applicable Series Designation + +* Copies of the Series' tax returns and financial statements + +* Records of all transactions involving the Series' assets + +* Minutes of any meetings of Series Members + +* Records of all contributions and distributions + +## 5.8 Series Assets and Liabilities + +### 5.8.1 Series Assets + +Assets associated with a Series shall be recorded in the records of that Series and clearly identified as belonging to that Series. Such identification may be made by: + +* Records maintained for the Series + +* Account statements for the Series + +* Designation in the title or deed for the asset + +* Any other method that reasonably identifies the asset as belonging to the Series + +### 5.8.2 Series Liabilities + +All contracts, agreements, and instruments creating liabilities of a Series shall include a conspicuous statement substantially similar to the following: + +"The obligations under this [contract/agreement/instrument] are the obligations of [Name of Series] only and are not the obligations of Turnkey Network Systems LLC generally or any other Series thereof. The assets of [Name of Series] only are available to satisfy these obligations." + +## 5.9 Establishment of Additional Series + +The Board may establish additional Series by: + +* Adopting a Series Designation setting forth the information required by Section 5.4 + +* Filing any required notice or amendment with the Secretary of State of Texas + +* Appointing one or more Series Managers + +* Allocating assets and liabilities to the Series + +* Creating appropriate records for the Series + +## 5.10 Dissolution of Series + +A Series shall be dissolved and its affairs wound up upon the first to occur of: + +* The board's determination that the Series should be dissolved + +* The occurrence of any event specified in the Series Designation as triggering dissolution + +* The entry of a judicial decree of dissolution + +Upon dissolution, the Series Manager(s) shall wind up the Series' affairs, liquidate its assets, pay its liabilities, and distribute any remaining assets to the Series Members in accordance with their respective interests. diff --git a/pages/163.OperatingAgreements.TurnkeyNetworkSystemsLLC.TurnkeyNetworkSystemsLLC-CompanyOperatingAgreement.article-6/default.md b/pages/163.OperatingAgreements.TurnkeyNetworkSystemsLLC.TurnkeyNetworkSystemsLLC-CompanyOperatingAgreement.article-6/default.md new file mode 100644 index 0000000..ef0803d --- /dev/null +++ b/pages/163.OperatingAgreements.TurnkeyNetworkSystemsLLC.TurnkeyNetworkSystemsLLC-CompanyOperatingAgreement.article-6/default.md @@ -0,0 +1,88 @@ +--- +title: 'ARTICLE VI - CAPITAL CONTRIBUTIONS' +menu: 'ARTICLE VI - CAPITAL CONTRIBUTIONS' +--- + +# ARTICLE VI - CAPITAL CONTRIBUTIONS + +## 6.1 Initial Capital Contributions + +The Sole Member shall make an initial Capital Contribution to the Company in the amount determined by the Sole Member. The initial Capital Contribution may be in the form of cash, property, services rendered, or a promissory note or other obligation to contribute cash or property. + +## 6.2 Series Capital Contributions + +Each Series shall be established with an initial allocation of capital as determined by the Board. Such allocation may be in the form of: + +* Cash transferred from the Company or another Series + +* Property assigned to the Series + +* Rights to use intellectual property or other assets + +* Services to be performed for the benefit of the Series + +* Any other form of value that the Board determines appropriate + +## 6.3 Capital Accounts + +The Company shall maintain a separate Capital Account for the Sole Member and for each Series in accordance with the following provisions: + +* Each Capital Account shall be increased by the amount of cash and the fair market value of property contributed to the Company or Series, as applicable + +* Each Capital Account shall be decreased by the amount of cash and the fair market value of property distributed to the Sole Member or for the benefit of a Series, as applicable + +* Each Capital Account shall be adjusted as required by the Treasury Regulations under Section 704 of the Code + +## 6.4 Profit Interests Only + +Notwithstanding the maintenance of Capital Accounts, no Member of any Series shall be granted a capital interest in any Series. All Series Interests granted to Members shall be Profit Interests only, entitling the Member to share in profits and appreciation occurring after the date of issuance. + +## 6.5 No Interest on Capital Contributions + +No interest shall be paid on Capital Contributions. + +## 6.6 No Withdrawal of Capital Contributions + +No Member shall be entitled to withdraw any part of their Capital Contribution or to receive any distributions from the Company or any Series except as specifically provided in this Agreement. + +## 6.7 No Obligation to Restore Deficit + +No Member shall have any obligation to restore any deficit balance in their Capital Account. + +## 6.8 Additional Capital Contributions + +### 6.8.1 Company Level + +The Sole Member may, but is not required to, make additional Capital Contributions to the Company. + +### 6.8.2 Series Level + +No Series Member shall be required to make any additional Capital Contribution to any Series beyond their initial contribution, if any. Series Managers may accept additional Capital Contributions from existing or new Series Members in the form of cash or property based on terms approved by the Series Manager(s), provided that any such contribution shall only result in the issuance of Profit Interests. + +## 6.9 Advances by Members + +If any Member advances funds to the Company or a Series in excess of their required Capital Contributions, such advances shall be deemed a loan from such Member and shall bear interest at a rate determined by the Board or Series Manager(s), as applicable, from the date of the advance until the date of repayment. Such loans shall not increase the advancing Member's Capital Account or Series Interest. + +## 6.10 Return of Capital Contributions + +Except as otherwise provided in this Agreement, no Member shall be entitled to demand or receive the return of their Capital Contribution. + +## 6.11 Form of Return of Capital Contributions + +If a Member is entitled to receive a return of a Capital Contribution, the Company or Series may distribute cash, property, or a combination thereof to the Member in return of the Capital Contribution. + +## 6.12 Capital Structure Simplification + +The capital structure of both the Company and each Series shall be simplified by: + +* Maintaining minimal capital at the Company level + +* Focusing activities at the Series level + +* Using Profit Interests rather than Capital Interests for Series participants + +* Avoiding complex capital arrangements that would complicate the relationship between the Company and its Series + +## 6.13 Capital Isolation Between Series + +The capital of each Series shall be maintained separately from the capital of the Company and other Series. No Series shall have a claim on the capital of the Company or any other Series. diff --git a/pages/164.OperatingAgreements.TurnkeyNetworkSystemsLLC.TurnkeyNetworkSystemsLLC-CompanyOperatingAgreement.article-7/default.md b/pages/164.OperatingAgreements.TurnkeyNetworkSystemsLLC.TurnkeyNetworkSystemsLLC-CompanyOperatingAgreement.article-7/default.md new file mode 100644 index 0000000..e88f8f5 --- /dev/null +++ b/pages/164.OperatingAgreements.TurnkeyNetworkSystemsLLC.TurnkeyNetworkSystemsLLC-CompanyOperatingAgreement.article-7/default.md @@ -0,0 +1,94 @@ +--- +title: 'ARTICLE VII - ALLOCATIONS AND DISTRIBUTIONS' +menu: 'ARTICLE VII - ALLOCATIONS AND DISTRIBUTIONS' +--- + +# ARTICLE VII - ALLOCATIONS AND DISTRIBUTIONS + +## 7.1 Allocations of Profits and Losses + +### 7.1.1 Company Level + +All profits and losses of the Company shall be allocated to the Sole Member. + +### 7.1.2 Series Level + +Profits and losses of each Series shall be allocated among the Series Members in accordance with the FairShares model described in Article VIII and as specified in the applicable Series Designation. + +## 7.2 Special Allocations + +To the extent required by Treasury Regulations under Section 704 of the Code, special allocations shall be made to ensure that the capital account allocations comply with the substantial economic effect rules. These include, but are not limited to: + +* Qualified income offset provisions + +* Minimum gain chargeback provisions + +* Partner nonrecourse debt minimum gain chargeback provisions + +* Gross income allocations + +* Nonrecourse deductions allocations + +* Partner nonrecourse deductions allocations + +## 7.3 Other Allocation Rules + +### 7.3.1 Allocation of Items Included in Profits and Losses + +For purposes of determining allocations, all items of income, gain, loss, and deduction shall be allocated among the Members in the same manner as the corresponding items entered into the computation of profits and losses. + +### 7.3.2 Tax Allocations + +Allocations for tax purposes shall be made in accordance with Section 704(c) of the Code and the Treasury Regulations thereunder. The Board or Series Manager(s), as applicable, shall have the authority to make appropriate adjustments to the allocations to account for differences between the book value and tax basis of Company or Series assets. + +### 7.3.3 Allocation of Recapture Items + +Any recapture of depreciation, amortization, or other cost recovery deductions shall be allocated among the Members in the same proportion as the original deductions were allocated. + +## 7.4 Distributions + +### 7.4.1 Company Level Distributions + +The Board may make distributions to the Sole Member at such times and in such amounts as the Board determines, subject to applicable law and any contractual restrictions on distributions. + +### 7.4.2 Series Level Distributions + +The Series Manager(s) may make distributions to the Series Members at such times and in such amounts as the Series Manager(s) determine, subject to applicable law, any contractual restrictions on distributions, and the allocation provisions set forth in the applicable Series Designation. + +### 7.4.3 Distributions in Kind + +The Board or Series Manager(s), as applicable, may make distributions in kind if they determine that such distributions would be in the best interests of the Company or Series. The fair market value of any property distributed in kind shall be determined by the Board or Series Manager(s) in good faith. + +### 7.4.4 Liquidating Distributions + +Distributions in liquidation of the Company or a Series shall be made to the Members in accordance with their positive Capital Account balances. + +## 7.5 Limitations on Distributions + +Notwithstanding any provision to the contrary contained in this Agreement, neither the Company nor any Series shall make a distribution to any Member on account of their interest in the Company or Series if such distribution would violate Section 101.206 of the TBOC or other applicable law. + +## 7.6 Withholding + +The Company and each Series are authorized to withhold from distributions, or with respect to allocations, to the Members and to pay over to any federal, state, local, or foreign government any amounts required to be so withheld pursuant to the Code or any provisions of any other federal, state, local, or foreign law. All amounts withheld with respect to any allocation or distribution to a Member shall be treated as amounts distributed to such Member. + +## 7.7 Profit Interest Revenue Sharing + +### 7.7.1 Profit Interest Definitions + +A "Profit Interest" means a membership interest that entitles the holder to share only in profits and appreciation in value occurring after the date of issuance. Profit Interests do not entitle the holder to any capital or existing asset value at the time of issuance. + +### 7.7.2 Determination of Initial Value + +When issuing a Profit Interest, the Series Manager(s) shall determine the value of the Series as of the date of issuance (the "Initial Value"). The holder of the Profit Interest shall be entitled to share only in profits and appreciation in excess of this Initial Value. + +### 7.7.3 Revenue Sharing Calculations + +The Series Manager(s) shall establish specific revenue sharing calculations for each Series based on the FairShares model. These calculations shall define how profits are shared among the different classes of Series Members. + +### 7.7.4 Documentation of Revenue Sharing + +The revenue sharing calculations and formulas for each Series shall be documented in the applicable Series Designation or in a separate document approved by the Series Manager(s). + +## 7.8 Prohibition on Capital Interests + +No Series shall issue capital interests to any Member. All Series Interests shall be structured as Profit Interests only. diff --git a/pages/165.OperatingAgreements.TurnkeyNetworkSystemsLLC.TurnkeyNetworkSystemsLLC-CompanyOperatingAgreement.article-8/default.md b/pages/165.OperatingAgreements.TurnkeyNetworkSystemsLLC.TurnkeyNetworkSystemsLLC-CompanyOperatingAgreement.article-8/default.md new file mode 100644 index 0000000..006fd64 --- /dev/null +++ b/pages/165.OperatingAgreements.TurnkeyNetworkSystemsLLC.TurnkeyNetworkSystemsLLC-CompanyOperatingAgreement.article-8/default.md @@ -0,0 +1,130 @@ +--- +title: 'ARTICLE VIII - FAIRSHARES MEMBERSHIP MODEL' +menu: 'ARTICLE VIII - FAIRSHARES MEMBERSHIP MODEL' +--- + +# ARTICLE VIII - FAIRSHARES MEMBERSHIP MODEL + +## 8.1 FairShares Model Overview + +The Company adopts the FairShares model for organizational governance and profit distribution within each Series. The FairShares model recognizes different stakeholder groups and balances their interests through specific membership classes, governance rights, and profit-sharing arrangements. + +## 8.2 Minimum Membership Classes + +Each Series shall establish a minimum of three (3) membership classes as follows: + +### 8.2.1 Class A - Founders + +Class A Members are the founders, entrepreneurs, or initiators who establish the Series or contribute significant founding resources. Their interests include: + +* Strategic direction and vision + +* Long-term value creation + +* Return on financial and intellectual capital + +### 8.2.2 Class B - Labor + +Class B Members are those who contribute labor, skills, knowledge, or expertise to the Series. Their interests include: + +* Fair compensation for work performed + +* Professional development and career advancement + +* Voice in operational decisions that affect their work + +### 8.2.3 Class C - Users + +Class C Members are the customers, clients, or users who benefit from the Series' products or services. Their interests include: + +* Quality products and services + +* Fair pricing and terms + +* Responsive customer service + +## 8.3 Optional Additional Membership Classes + +Series may establish additional membership classes beyond the minimum required classes, which may include: + +### 8.3.1 Class D - Investors + +Class D Members provide financial capital to the Series without necessarily being founders. Their interests include: + +* Return on financial investment + +* Growth of Series value + +* Financial stability + +### 8.3.2 Class E - Community + +Class E Members represent the wider community or ecosystem in which the Series operates. Their interests include: + +* Environmental sustainability + +* Social responsibility + +* Local economic development + +## 8.4 Membership Rights + +### 8.4.1 Economic Rights + +All membership classes shall have economic rights in the form of Profit Interests. The specific profit-sharing formula for each Series shall be determined by the Series Manager(s) and documented in the Series Designation. + +### 8.4.2 Governance Rights + +Membership classes shall have governance rights as specified in the Series Designation, which may include: + +* Voting rights on certain matters + +* Representation on advisory boards or committees + +* Information rights and transparency + +* Consultation rights on significant decisions + +### 8.4.3 Weighted Decision-Making + +When multiple membership classes participate in decision-making, the Series may implement weighted voting systems that give different weights to different classes based on the nature of the decision and the stakes of each class in the outcome. + +## 8.5 Profit Interests Only + +All membership interests in any Series shall be Profit Interests only. No membership class shall receive capital interests in any Series. + +## 8.6 Profit Distribution Principles + +Each Series shall establish a profit distribution framework based on the following principles: + +### 8.6.1 Balanced Stakeholder Returns + +Profit distribution shall balance the interests of all membership classes, recognizing their different contributions and risks. + +### 8.6.2 Surplus Sharing Formula + +Each Series shall adopt a surplus sharing formula that specifies how profits are divided among the membership classes after covering operating costs and reserves. + +### 8.6.3 Transparent Calculations + +The profit distribution calculations shall be transparent to all Members of the Series and documented in the Series records. + +## 8.7 FairShares Implementation Requirements + +To properly implement the FairShares model, each Series shall: + +* Clearly define the criteria for membership in each class + +* Document the rights, responsibilities, and benefits of each membership class + +* Establish fair and transparent processes for admitting new Members to each class + +* Create appropriate governance mechanisms that give voice to all membership classes + +* Implement accounting systems that track contributions and distributions for each membership class + +* Provide regular reports to Members on the financial and operational performance of the Series + +## 8.8 Customization by Series + +While adhering to the core principles of the FairShares model, each Series may customize the implementation to suit its specific business model, stakeholder relationships, and operational needs. Such customization shall be documented in the Series Designation. diff --git a/pages/166.OperatingAgreements.TurnkeyNetworkSystemsLLC.TurnkeyNetworkSystemsLLC-CompanyOperatingAgreement.article-9/default.md b/pages/166.OperatingAgreements.TurnkeyNetworkSystemsLLC.TurnkeyNetworkSystemsLLC-CompanyOperatingAgreement.article-9/default.md new file mode 100644 index 0000000..b4fb8be --- /dev/null +++ b/pages/166.OperatingAgreements.TurnkeyNetworkSystemsLLC.TurnkeyNetworkSystemsLLC-CompanyOperatingAgreement.article-9/default.md @@ -0,0 +1,116 @@ +--- +title: 'ARTICLE IX - TRANSFERS AND WITHDRAWALS' +menu: 'ARTICLE IX - TRANSFERS AND WITHDRAWALS' +--- + +# ARTICLE IX - TRANSFERS AND WITHDRAWALS + +## 9.1 Restrictions on Transfer + +### 9.1.1 Company Interest + +The Sole Member shall not transfer all or any portion of their Interest in the Company without the prior written consent of the Board, which consent may be withheld in the Board's sole discretion. + +### 9.1.2 Series Interests + +No Member may transfer all or any portion of their Interest in any Series without the prior written consent of the Series Manager(s), which consent may be withheld in the Series Manager(s)' sole discretion. + +## 9.2 Permitted Transfers + +Notwithstanding Section 9.1, the following transfers may be permitted: + +### 9.2.1 Transfers to Affiliates + +A Member may transfer all or part of their Interest to an Affiliate with the prior written consent of the Series Manager(s), which consent shall not be unreasonably withheld. + +### 9.2.2 Transfers upon Death + +Upon the death of a Member, their Interest may transfer to their estate or designated beneficiaries, subject to the approval of the Series Manager(s) and any applicable restrictions in the Series Designation. + +### 9.2.3 Transfers Pursuant to Court Order + +A transfer of a Member's Interest pursuant to a court order shall be recognized and effective, subject to the transferee's compliance with all terms of this Agreement. + +## 9.3 Conditions to Permitted Transfers + +No transfer of an Interest shall be effective unless all of the following conditions are satisfied: + +* The transferor and transferee execute and deliver to the Company or Series such documents as the Board or Series Manager(s) may require, including written confirmation of the transferee's agreement to be bound by this Agreement + +* The transferor and transferee provide any information requested by the Board or Series Manager(s) to verify the transfer complies with applicable securities laws + +* The transferee pays any reasonable expenses incurred by the Company or Series in connection with the transfer + +* The transfer will not cause the Company or Series to be treated as other than a partnership for federal income tax purposes + +* The transfer will not violate any applicable laws, regulations, or contractual obligations + +## 9.4 Rights of Transferees + +Unless admitted as a Member in accordance with this Agreement, a transferee of an Interest shall have no right to: + +* Participate in the management of the Company or Series business + +* Vote on Company or Series matters + +* Access information or inspect records of the Company or Series + +* Exercise any rights of a Member under this Agreement or the TBOC + +A transferee shall only be entitled to receive the distributions and allocations of profits and losses to which the transferor would have been entitled. + +## 9.5 Admission of Transferees as Members + +A transferee of an Interest shall be admitted as a Member only with the approval of the Board (for Company Interests) or the Series Manager(s) (for Series Interests), which approval may be granted or withheld in their sole discretion. + +## 9.6 Withdrawal of Members + +### 9.6.1 Company Level + +The Sole Member shall not have the right to withdraw from the Company prior to its dissolution and winding up. + +### 9.6.2 Series Level + +Unless otherwise provided in the Series Designation, no Member of a Series shall have the right to withdraw from the Series prior to its dissolution and winding up. + +## 9.7 Involuntary Withdrawal + +A Member shall be deemed to have withdrawn from a Series upon the occurrence of any of the following events: + +* The Member makes an assignment for the benefit of creditors + +* The Member files a voluntary petition in bankruptcy + +* The Member is adjudged bankrupt or insolvent + +* The Member is subject to a court order appointing a receiver for substantially all of their assets + +* In the case of a Member that is an entity, the dissolution and commencement of winding up of the Member + +* In the case of a Member who is an individual, the death or adjudication of incompetency of the Member + +## 9.8 Effect of Withdrawal + +Upon a Member's withdrawal from a Series: + +* The Member's governance rights shall immediately terminate + +* The Member or their estate shall be entitled only to receive the distributions and allocations to which the Member would have been entitled if the withdrawal had not occurred + +* The withdrawal shall not entitle the Member to receive the fair value of their Interest unless otherwise provided in the Series Designation + +## 9.9 Option to Purchase Interest of Withdrawing Member + +Upon a Member's withdrawal from a Series, the Series shall have the option, but not the obligation, to purchase the withdrawing Member's Interest at a price determined by the Series Manager(s) based on the formula specified in the Series Designation. If the Series does not exercise this option, the remaining Members of the Series shall have the option to purchase the withdrawing Member's Interest pro rata according to their respective Interests. + +## 9.10 Right of First Refusal + +If a Member receives a bona fide offer from a third party to purchase all or part of their Interest in a Series, and the Member wishes to accept such offer, the Member shall first offer to sell such Interest to the Series or other Members on the same terms. The Series or other Members shall have 30 days to exercise this right of first refusal. + +## 9.11 Drag-Along Rights + +If the Series Manager(s) approve a sale of all or substantially all of a Series' assets or a transfer of all Interests in a Series to a third party, all Members shall be required to cooperate with such transaction and transfer their Interests on the same terms and conditions as approved by the Series Manager(s). + +## 9.12 Tag-Along Rights + +If any Member proposes to transfer Interests representing more than 50% of the total Interests in a Series to a third party, all other Members shall have the right to participate in such transfer on a pro-rata basis on the same terms and conditions. diff --git a/pages/167.OperatingAgreements.TurnkeyNetworkSystemsLLC.TurnkeyNetworkSystemsLLC-CompanyOperatingAgreement.cover/default.md b/pages/167.OperatingAgreements.TurnkeyNetworkSystemsLLC.TurnkeyNetworkSystemsLLC-CompanyOperatingAgreement.cover/default.md new file mode 100644 index 0000000..0baefd8 --- /dev/null +++ b/pages/167.OperatingAgreements.TurnkeyNetworkSystemsLLC.TurnkeyNetworkSystemsLLC-CompanyOperatingAgreement.cover/default.md @@ -0,0 +1,31 @@ +--- +title: 'COMPANY OPERATING AGREEMENT' +menu: 'COMPANY OPERATING AGREEMENT' +--- + +# COMPANY OPERATING AGREEMENT + +## TURNKEY NETWORK SYSTEMS LLC + +### A Texas Series Limited Liability Company + +**Effective Date: March 14, 2025** + +--- + +*This Operating Agreement governs the operations and administration of Turnkey Network Systems LLC, a Texas series limited liability company organized under the Texas Business Organizations Code.* + +--- + +**COMPANY ADDRESS:** +[Insert Company Address] +[City, Texas ZIP] + +**REGISTERED AGENT:** +[Insert Registered Agent Name] +[Insert Registered Agent Address] +[City, Texas ZIP] + +--- + +*All rights reserved. This document contains proprietary and confidential information.* diff --git a/pages/168.OperatingAgreements.TurnkeyNetworkSystemsLLC.TurnkeyNetworkSystemsLLC-CompanyOperatingAgreement.execution-page/default.md b/pages/168.OperatingAgreements.TurnkeyNetworkSystemsLLC.TurnkeyNetworkSystemsLLC-CompanyOperatingAgreement.execution-page/default.md new file mode 100644 index 0000000..33d9f58 --- /dev/null +++ b/pages/168.OperatingAgreements.TurnkeyNetworkSystemsLLC.TurnkeyNetworkSystemsLLC-CompanyOperatingAgreement.execution-page/default.md @@ -0,0 +1,75 @@ +--- +title: 'EXECUTION PAGE' +menu: 'EXECUTION PAGE' +--- + +# EXECUTION PAGE + +**IN WITNESS WHEREOF**, the undersigned have executed this Company Operating Agreement of Turnkey Network Systems LLC, effective as of the 14th day of March, 2025. + +## COMPANY: + +**TURNKEY NETWORK SYSTEMS LLC**, +a Texas series limited liability company + +By: ______________________________ +Name: ___________________________ +Title: ____________________________ +Date: ____________________________ + +## SOLE MEMBER: + +______________________________ +[Sole Member Name] +Date: _________________________ + +## SERIES MANAGERS: + +**KNOWN ELEMENT ENTERPRISES LLC** + +By: ______________________________ +Name: ___________________________ +Title: Series Manager +Date: ____________________________ + +**THE CAMPUS TRADING COMPANY LLC** + +By: ______________________________ +Name: ___________________________ +Title: Series Manager +Date: ____________________________ + +**REDWOOD FAMILY OFFICE GROUP LLC** + +By: ______________________________ +Name: ___________________________ +Title: Series Manager +Date: ____________________________ + +**REDWOOD SPRINGS CAPITAL PARTNERS GROUP LLC** + +By: ______________________________ +Name: ___________________________ +Title: Series Manager +Date: ____________________________ + +**WYBLE FAMILY OFFICE GROUP LLC** + +By: ______________________________ +Name: ___________________________ +Title: Series Manager +Date: ____________________________ + +## BOARD OF DIRECTORS: + +______________________________ +[Director Name 1] +Date: _________________________ + +______________________________ +[Director Name 2] +Date: _________________________ + +______________________________ +[Director Name 3] +Date: _________________________ diff --git a/pages/169.OperatingAgreements.TurnkeyNetworkSystemsLLC.TurnkeyNetworkSystemsLLC-CompanyOperatingAgreement.schedule-a/default.md b/pages/169.OperatingAgreements.TurnkeyNetworkSystemsLLC.TurnkeyNetworkSystemsLLC-CompanyOperatingAgreement.schedule-a/default.md new file mode 100644 index 0000000..f551a89 --- /dev/null +++ b/pages/169.OperatingAgreements.TurnkeyNetworkSystemsLLC.TurnkeyNetworkSystemsLLC-CompanyOperatingAgreement.schedule-a/default.md @@ -0,0 +1,212 @@ +--- +title: 'SCHEDULE A - SERVICE AGREEMENT' +menu: 'SCHEDULE A - SERVICE AGREEMENT' +--- + +# SCHEDULE A - SERVICE AGREEMENT + +## KNOWN ELEMENT ENTERPRISES LLC +### Operating Series of Turnkey Network Systems LLC + +## 1. SERIES DESIGNATION + +### 1.1 Series Name + +The name of this Series is **Known Element Enterprises LLC**. + +### 1.2 Series Type + +This Series is designated as an **Operating Series** under Article V of the Company Operating Agreement. + +### 1.3 Series Purpose + +Known Element Enterprises LLC is established for the purpose of providing technology consulting services, software development, digital transformation solutions, and related technical services. + +### 1.4 Initial Series Manager + +The initial Series Manager shall be [Series Manager Name]. + +## 2. SERVICES PROVIDED + +### 2.1 Primary Service Areas + +Known Element Enterprises LLC shall provide the following primary services: + +* **Technology Consulting Services** + * Strategic technology planning + * IT infrastructure assessment and design + * Digital transformation roadmapping + * Technology vendor selection and management + * IT security and compliance consulting + +* **Software Development** + * Custom application development + * Mobile application development + * API development and integration + * Database design and implementation + * Legacy system modernization + +* **Managed IT Services** + * Network administration and monitoring + * Cloud infrastructure management + * Cybersecurity services + * Backup and disaster recovery solutions + * Technical support and help desk services + +* **Data Services** + * Data analytics and business intelligence + * Data migration and integration + * Database optimization and management + * Data warehousing solutions + * Big data architecture and implementation + +### 2.2 Service Standards + +All services provided by Known Element Enterprises LLC shall meet the following standards: + +* Adherence to industry best practices +* Compliance with applicable regulations and standards +* Timely delivery according to agreed-upon schedules +* Clear documentation and knowledge transfer +* Regular reporting and communication with clients +* Continuous quality improvement + +## 3. STAFFING AND PERSONNEL + +### 3.1 Staffing Structure + +Known Element Enterprises LLC shall maintain appropriate staffing to deliver its services, including: + +* Technical staff with relevant certifications and expertise +* Project management professionals +* Customer success representatives +* Administrative support personnel + +### 3.2 Contractor Relationships + +The Series may engage independent contractors to supplement its staff capabilities, provided that: + +* All contractors sign appropriate confidentiality and work-for-hire agreements +* Contractors meet the same qualification standards as employees +* Contractor work is supervised by Series staff +* The Series remains fully responsible for all contractor deliverables + +## 4. CLIENT ENGAGEMENT MODEL + +### 4.1 Service Agreements + +Known Element Enterprises LLC shall enter into written service agreements with all clients, which shall include: + +* Detailed scope of services +* Service level agreements +* Fee structure and payment terms +* Term and termination provisions +* Confidentiality and data protection terms +* Intellectual property ownership provisions + +### 4.2 Project Management Methodology + +The Series shall implement a standard project management methodology that includes: + +* Project planning and requirements gathering +* Regular status reporting +* Change management procedures +* Quality assurance processes +* Client acceptance procedures +* Post-implementation review + +## 5. FINANCIAL STRUCTURE + +### 5.1 Revenue Model + +Known Element Enterprises LLC shall generate revenue through: + +* Fixed-fee project engagements +* Hourly consulting services +* Managed service retainers +* Value-based pricing for specific initiatives +* Software licensing and maintenance fees + +### 5.2 FairShares Implementation + +The Series shall implement the FairShares model as follows: + +* **Class A Members** (Founders): Initial capital contributors and strategic leadership +* **Class B Members** (Labor): Technical staff, project managers, and other employees +* **Class C Members** (Users): Key clients who participate in co-creation or provide significant recurring revenue + +### 5.3 Profit Distribution + +After covering operating expenses, reserves, and reinvestment allocations, profits shall be distributed according to the following guidelines: + +* 40% allocated to Class A Members +* 40% allocated to Class B Members +* 20% allocated to Class C Members + +Specific distribution formulas within each class shall be determined by the Series Manager. + +## 6. OPERATIONAL POLICIES + +### 6.1 Intellectual Property + +* All intellectual property created by the Series shall be owned by the Series +* Client-specific deliverables shall be transferred to clients as specified in service agreements +* The Series shall maintain a library of reusable components and frameworks + +### 6.2 Confidentiality + +* All Series Members, employees, and contractors shall sign confidentiality agreements +* Client data shall be protected according to industry best practices +* Information security policies shall be reviewed and updated regularly + +### 6.3 Quality Assurance + +* All deliverables shall undergo appropriate quality assurance testing +* Client feedback shall be systematically collected and addressed +* Performance metrics shall be tracked and reported regularly + +## 7. GOVERNANCE + +### 7.1 Series Management + +The Series Manager shall: + +* Oversee all operations of the Series +* Develop and implement strategic plans +* Approve significant contracts and expenditures +* Manage relationships with key clients and partners +* Report regularly to the Board on Series performance + +### 7.2 Advisory Committee + +The Series shall establish an Advisory Committee composed of: + +* Representatives from Class A Members +* Representatives from Class B Members +* Representatives from Class C Members + +The Advisory Committee shall provide input on strategic direction, service offerings, and major initiatives. + +## 8. SPECIFIC RESTRICTIONS + +The Series shall not: + +* Incur debt exceeding [Amount] without Board approval +* Enter into contracts with a value exceeding [Amount] without Board approval +* Engage in activities outside the scope of its designated purpose +* Issue capital interests to any Member +* Commingle its assets with those of the Company or any other Series + +## 9. TERM AND TERMINATION + +### 9.1 Term + +This Series shall continue in perpetuity unless dissolved in accordance with Article XIV of the Company Operating Agreement. + +### 9.2 Dissolution Events + +In addition to the dissolution events specified in the Company Operating Agreement, this Series may be dissolved upon: + +* The loss of key personnel that substantially impairs the ability of the Series to operate +* Sustained unprofitability over a period of [Timeframe] +* A fundamental change in market conditions that eliminates the viability of the Series' business model \ No newline at end of file diff --git a/pages/17.Handbook.CIO.KnelCharter/default.md b/pages/17.Handbook.CIO.KnelCharter/default.md new file mode 100644 index 0000000..b8de158 --- /dev/null +++ b/pages/17.Handbook.CIO.KnelCharter/default.md @@ -0,0 +1,6 @@ +--- +title: 'Known Element Enterprises Charter' +menu: 'Known Element Enterprises Charter' +--- + +# Known Element Enterprises Charter diff --git a/pages/170.OperatingAgreements.TurnkeyNetworkSystemsLLC.TurnkeyNetworkSystemsLLC-CompanyOperatingAgreement.schedule-b/default.md b/pages/170.OperatingAgreements.TurnkeyNetworkSystemsLLC.TurnkeyNetworkSystemsLLC-CompanyOperatingAgreement.schedule-b/default.md new file mode 100644 index 0000000..a4e8fe7 --- /dev/null +++ b/pages/170.OperatingAgreements.TurnkeyNetworkSystemsLLC.TurnkeyNetworkSystemsLLC-CompanyOperatingAgreement.schedule-b/default.md @@ -0,0 +1,222 @@ +--- +title: 'SCHEDULE B - SERVICE AGREEMENT' +menu: 'SCHEDULE B - SERVICE AGREEMENT' +--- + +# SCHEDULE B - SERVICE AGREEMENT + +## THE CAMPUS TRADING COMPANY LLC +### Operating Series of Turnkey Network Systems LLC + +## 1. SERIES DESIGNATION + +### 1.1 Series Name + +The name of this Series is **The Campus Trading Company LLC**. + +### 1.2 Series Type + +This Series is designated as an **Operating Series** under Article V of the Company Operating Agreement. + +### 1.3 Series Purpose + +The Campus Trading Company LLC is established for the purpose of providing educational services, training programs, professional development, and related educational resources to individuals and organizations. + +### 1.4 Initial Series Manager + +The initial Series Manager shall be [Series Manager Name]. + +## 2. SERVICES PROVIDED + +### 2.1 Primary Service Areas + +The Campus Trading Company LLC shall provide the following primary services: + +* **Educational Programs** + * Professional certification courses + * Skills-based training programs + * Executive education + * Technical workshops + * Custom corporate training + +* **Content Development** + * Curriculum design and development + * Educational materials creation + * E-learning content development + * Assessment and evaluation tools + * Training documentation + +* **Educational Delivery Platforms** + * Live instructor-led training + * Online self-paced courses + * Hybrid learning experiences + * Virtual classrooms + * Mobile learning applications + +* **Educational Consulting** + * Learning needs assessment + * Training strategy development + * Educational technology integration + * Instructional design consulting + * Learning measurement and analytics + +### 2.2 Service Standards + +All services provided by The Campus Trading Company LLC shall meet the following standards: + +* Evidence-based instructional design +* Learner-centered approaches +* Accessibility for diverse learners +* Current and relevant content +* Engaging and interactive delivery methods +* Measurable learning outcomes + +## 3. STAFFING AND PERSONNEL + +### 3.1 Staffing Structure + +The Campus Trading Company LLC shall maintain appropriate staffing to deliver its services, including: + +* Subject matter experts and instructors +* Instructional designers and curriculum developers +* Learning technology specialists +* Program managers +* Student success coaches +* Administrative support personnel + +### 3.2 Instructor Qualifications + +All instructors and content developers shall: + +* Possess relevant educational credentials +* Demonstrate expertise in their subject area +* Maintain applicable professional certifications +* Receive training in effective instructional methods +* Participate in regular professional development + +## 4. CLIENT ENGAGEMENT MODEL + +### 4.1 Service Agreements + +The Campus Trading Company LLC shall enter into written service agreements with all clients, which shall include: + +* Program objectives and learning outcomes +* Delivery format and schedule +* Participant requirements +* Fee structure and payment terms +* Intellectual property rights +* Evaluation and reporting methods + +### 4.2 Individual Participant Agreements + +For individual program participants, the Series shall implement: + +* Clear enrollment procedures +* Transparent program descriptions +* Explicit tuition and fee disclosures +* Academic policies and procedures +* Student support services + +## 5. FINANCIAL STRUCTURE + +### 5.1 Revenue Model + +The Campus Trading Company LLC shall generate revenue through: + +* Tuition and enrollment fees +* Corporate training contracts +* Licensing of educational content +* Educational consulting services +* Educational materials and resources +* Certification administration fees + +### 5.2 FairShares Implementation + +The Series shall implement the FairShares model as follows: + +* **Class A Members** (Founders): Initial capital contributors and curriculum developers +* **Class B Members** (Labor): Instructors, designers, and operational staff +* **Class C Members** (Users): Key institutional clients and educational partners + +### 5.3 Profit Distribution + +After covering operating expenses, reserves, and reinvestment allocations, profits shall be distributed according to the following guidelines: + +* 35% allocated to Class A Members +* 45% allocated to Class B Members +* 20% allocated to Class C Members + +Specific distribution formulas within each class shall be determined by the Series Manager. + +## 6. OPERATIONAL POLICIES + +### 6.1 Intellectual Property + +* The Series shall own all intellectual property in its curriculum and educational materials +* Instructors shall retain limited rights to their own teaching methods and materials as specified in their agreements +* Clients shall receive licenses to use educational materials as defined in service agreements + +### 6.2 Quality Assurance + +* Regular review and updating of all educational content +* Systematic participant feedback collection and analysis +* Ongoing instructor evaluation and development +* Learning outcome assessment and reporting +* Continuous improvement processes + +### 6.3 Educational Ethics + +The Series shall adhere to the highest ethical standards in education, including: + +* Truthful representation of programs and outcomes +* Fair treatment of all learners +* Protection of student information and data +* Academic integrity in all assessments +* Inclusive and accessible learning environments + +## 7. GOVERNANCE + +### 7.1 Series Management + +The Series Manager shall: + +* Oversee all operations of the Series +* Ensure educational quality and integrity +* Approve new program development +* Manage key institutional relationships +* Report regularly to the Board on Series performance + +### 7.2 Academic Advisory Board + +The Series shall establish an Academic Advisory Board composed of: + +* Subject matter experts from relevant fields +* Educational methodology specialists +* Industry representatives +* Representatives from key institutional clients + +The Academic Advisory Board shall provide guidance on curriculum development, industry trends, and quality standards. + +## 8. SPECIFIC RESTRICTIONS + +The Series shall not: + +* Incur debt exceeding [Amount] without Board approval +* Enter into contracts with a value exceeding [Amount] without Board approval +* Represent itself as an accredited academic institution unless such accreditation is obtained +* Issue capital interests to any Member +* Commingle its assets with those of the Company or any other Series + +## 9. TERM AND TERMINATION + +### 9.1 Term + +This Series shall continue in perpetuity unless dissolved in accordance with Article XIV of the Company Operating Agreement. + +### 9.2 Dissolution Events + +In addition to the dissolution events specified in the Company Operating Agreement, this Series may be dissolved upon: + +* The loss of key instructional staff that substantially impairs the ability of the Series to deliver its programs +* Sustained unprofitability over a period of [Timeframe] +* Significant regulatory changes that make the business model non-viable \ No newline at end of file diff --git a/pages/171.OperatingAgreements.TurnkeyNetworkSystemsLLC.TurnkeyNetworkSystemsLLC-CompanyOperatingAgreement.securities-disclaimer/default.md b/pages/171.OperatingAgreements.TurnkeyNetworkSystemsLLC.TurnkeyNetworkSystemsLLC-CompanyOperatingAgreement.securities-disclaimer/default.md new file mode 100644 index 0000000..693a0f9 --- /dev/null +++ b/pages/171.OperatingAgreements.TurnkeyNetworkSystemsLLC.TurnkeyNetworkSystemsLLC-CompanyOperatingAgreement.securities-disclaimer/default.md @@ -0,0 +1,44 @@ +--- +title: 'SECURITIES EXEMPTION DISCLAIMERS' +menu: 'SECURITIES EXEMPTION DISCLAIMERS' +--- + +# SECURITIES EXEMPTION DISCLAIMERS + +## IMPORTANT NOTICES REGARDING SECURITIES LAWS + +### RESTRICTED SECURITIES + +**THE MEMBERSHIP INTERESTS DESCRIBED IN THIS OPERATING AGREEMENT HAVE NOT BEEN REGISTERED UNDER THE SECURITIES ACT OF 1933, AS AMENDED (THE "SECURITIES ACT"), OR UNDER THE SECURITIES LAWS OF ANY STATE, AND MAY NOT BE OFFERED, SOLD OR OTHERWISE TRANSFERRED, PLEDGED OR HYPOTHECATED UNLESS AND UNTIL SUCH INTERESTS ARE REGISTERED UNDER THE SECURITIES ACT AND APPLICABLE STATE SECURITIES LAWS OR AN EXEMPTION FROM SUCH REGISTRATION IS AVAILABLE.** + +### INVESTMENT REPRESENTATION + +**THE MEMBERSHIP INTERESTS DESCRIBED HEREIN ARE BEING ACQUIRED FOR INVESTMENT PURPOSES ONLY AND NOT WITH A VIEW TO RESALE OR DISTRIBUTION. NO TRANSFER, SALE, ASSIGNMENT, PLEDGE, HYPOTHECATION OR OTHER DISPOSITION OF SUCH INTERESTS MAY BE EFFECTED WITHOUT (i) EFFECTIVE REGISTRATION UNDER THE SECURITIES ACT AND APPLICABLE STATE SECURITIES LAWS, OR (ii) AN OPINION OF COUNSEL, SATISFACTORY TO THE COMPANY, THAT SUCH REGISTRATION IS NOT REQUIRED.** + +### PRIVATE OFFERING EXEMPTION + +**THE MEMBERSHIP INTERESTS DESCRIBED HEREIN ARE BEING OFFERED PURSUANT TO EXEMPTIONS FROM REGISTRATION PROVIDED BY SECTION 4(a)(2) OF THE SECURITIES ACT, REGULATION D PROMULGATED THEREUNDER, AND APPLICABLE STATE SECURITIES LAWS. ACCORDINGLY, NEITHER THE SECURITIES AND EXCHANGE COMMISSION NOR ANY STATE SECURITIES COMMISSION HAS PASSED UPON OR ENDORSED THE MERITS OF THIS OFFERING OR THE ACCURACY OR ADEQUACY OF THIS OPERATING AGREEMENT.** + +### HIGH RISK INVESTMENT + +**THE MEMBERSHIP INTERESTS DESCRIBED HEREIN INVOLVE A HIGH DEGREE OF RISK AND SHOULD NOT BE ACQUIRED BY ANY PERSON WHO CANNOT AFFORD THE LOSS OF THEIR ENTIRE INVESTMENT. ONLY PERSONS WHO CAN BEAR SUCH RISK SHOULD CONSIDER ACQUIRING THESE INTERESTS.** + +### APPLICABLE EXEMPTIONS + +**THE COMPANY INTENDS TO RELY ON APPLICABLE EXEMPTIONS FROM REGISTRATION REQUIREMENTS UNDER BOTH FEDERAL AND TEXAS STATE SECURITIES LAWS, INCLUDING BUT NOT LIMITED TO THOSE AVAILABLE UNDER SECTION 4(a)(2) OF THE SECURITIES ACT AND REGULATION D PROMULGATED THEREUNDER, AS WELL AS SECTION 109.4 AND OTHER APPLICABLE PROVISIONS OF THE TEXAS SECURITIES ACT.** + +### RESTRICTIONS ON TRANSFER + +**THE TRANSFERABILITY OF THE MEMBERSHIP INTERESTS DESCRIBED HEREIN IS RESTRICTED BY THE TERMS OF THIS OPERATING AGREEMENT AND BY FEDERAL AND STATE SECURITIES LAWS. ANY TRANSFER THAT FAILS TO COMPLY WITH THE TERMS OF THIS OPERATING AGREEMENT OR APPLICABLE SECURITIES LAWS WILL BE INVALID, NULL AND VOID.** + +### DISCLOSURE OBLIGATIONS + +**THIS OPERATING AGREEMENT DOES NOT CONTAIN, NOR IS IT INTENDED TO CONTAIN, ALL OF THE INFORMATION THAT MAY BE REQUIRED TO EVALUATE AN INVESTMENT IN THE COMPANY. EACH POTENTIAL INVESTOR SHOULD CONDUCT THEIR OWN INVESTIGATION AND ANALYSIS OF THE COMPANY AND THE INFORMATION CONTAINED IN THIS OPERATING AGREEMENT.** + +### LEGAL AND TAX ADVICE + +**POTENTIAL INVESTORS ARE NOT TO CONSTRUE THE CONTENTS OF THIS OPERATING AGREEMENT AS LEGAL, BUSINESS, OR TAX ADVICE. EACH INVESTOR SHOULD CONSULT THEIR OWN ATTORNEY, BUSINESS ADVISOR, AND TAX ADVISOR AS TO LEGAL, BUSINESS, AND TAX MATTERS CONCERNING THIS INVESTMENT.** + +--- + +*BY EXECUTING THIS OPERATING AGREEMENT, EACH MEMBER ACKNOWLEDGES THAT THEY HAVE READ AND UNDERSTOOD THE ABOVE DISCLAIMERS AND THAT THEY MEET ALL SUITABILITY STANDARDS IMPOSED BY APPLICABLE FEDERAL AND STATE SECURITIES LAWS.* diff --git a/pages/172.OperatingAgreements.TurnkeyNetworkSystemsLLC.WybleFamilyOfficeLLC.WybleFamilyOffice-OpAgreement/default.md b/pages/172.OperatingAgreements.TurnkeyNetworkSystemsLLC.WybleFamilyOfficeLLC.WybleFamilyOffice-OpAgreement/default.md new file mode 100644 index 0000000..3c207c2 --- /dev/null +++ b/pages/172.OperatingAgreements.TurnkeyNetworkSystemsLLC.WybleFamilyOfficeLLC.WybleFamilyOffice-OpAgreement/default.md @@ -0,0 +1,6 @@ +--- +title: 'Wyble Family Office LLC' +menu: 'Wyble Family Office LLC' +--- + +# Wyble Family Office LLC diff --git a/pages/173.Policies.CodeOfConduct/default.md b/pages/173.Policies.CodeOfConduct/default.md new file mode 100644 index 0000000..0365799 --- /dev/null +++ b/pages/173.Policies.CodeOfConduct/default.md @@ -0,0 +1,83 @@ +--- +title: '{{ORGANIZATION_NAME}} Code of Conduct' +menu: '{{ORGANIZATION_NAME}} Code of Conduct' +--- + +# {{ORGANIZATION_NAME}} Code of Conduct + +## Purpose + +The purpose of this Code of Conduct is to establish clear expectations for ethical behavior, professionalism, and integrity for all employees, contractors, and representatives of {{ORGANIZATION_NAME}}. + +## Scope + +This Code applies to everyone within the organization, including employees, contractors, board members, and any third-party affiliates acting on behalf of {{ORGANIZATION_NAME}}. + +## Core Principles + +### Integrity + +- Act honestly and transparently in all business dealings. +- Avoid conflicts of interest and disclose any potential issues promptly. + +### Respect + +- Treat all colleagues, clients, and stakeholders with dignity and respect. +- Foster a culture of inclusivity and collaboration. + +### Accountability + +- Take responsibility for actions and decisions. +- Report any violations of this Code or applicable laws. + +### Compliance + +- Follow all applicable laws, regulations, and company policies. +- Participate in mandatory training sessions to ensure compliance with standards. + +## Workplace Behavior + +### Harassment and Discrimination + +- {{ORGANIZATION_NAME}} maintains a zero-tolerance policy for harassment, discrimination, or bullying of any kind. +- Any behavior that undermines an individual’s dignity will be addressed promptly and appropriately. + +### Professionalism + +- Maintain a professional demeanor in all internal and external interactions. +- Refrain from any conduct that could harm the company’s reputation. + +### Confidentiality + +- Protect sensitive company, client, and employee information. +- Only share confidential information on a need-to-know basis. + +## Cybersecurity + +- Use company-provided devices and resources responsibly. +- Adhere to all cybersecurity policies to safeguard company data. + +## Anti-Corruption + +- Do not offer, accept, or solicit bribes in any form. +- Report any instances of unethical behavior or suspected corruption. + +## Reporting Violations + +- Employees are encouraged to report any violations of this Code to their supervisor, HR, or the compliance officer. +- Reports can be made anonymously where applicable. +- Retaliation against whistleblowers is strictly prohibited. + +## Enforcement + +- Violations of this Code will be investigated promptly and may result in disciplinary actions, including termination of employment. +- Severe violations may be reported to law enforcement authorities. + +## Updates to the Code + +- This Code of Conduct will be reviewed annually to ensure it remains relevant and effective. +- Employees will be notified of any updates or changes. + +--- + +For questions or concerns about this Code, contact the compliance officer at [Contact Information]. diff --git a/pages/174.JointVenture.AFABNAndSDSG/default.md b/pages/174.JointVenture.AFABNAndSDSG/default.md new file mode 100644 index 0000000..a87736e --- /dev/null +++ b/pages/174.JointVenture.AFABNAndSDSG/default.md @@ -0,0 +1,9 @@ +--- +title: 'Americans For A Better Network (AFABN) The Free Network Foundation (FNF) / Side Door (Solutions) Group (SD(S)G)' +menu: 'Americans For A Better Network (AFABN) The Free Network Foundation (FNF) / Side Door (Solutions) Group (SD(S)G)' +--- + +# Americans For A Better Network (AFABN) The Free Network Foundation (FNF) / Side Door (Solutions) Group (SD(S)G) + +- Please see the [FNF/AFABN Plan](https://plan.thefnf.net) +- Please see the [SDG Plan](https://plan.sidedoorgroup.org) diff --git a/pages/175.JointVenture.AP4AP/default.md b/pages/175.JointVenture.AP4AP/default.md new file mode 100644 index 0000000..3fb00de --- /dev/null +++ b/pages/175.JointVenture.AP4AP/default.md @@ -0,0 +1,15 @@ +--- +title: 'AP4AP.org' +menu: 'AP4AP.org' +--- + +# AP4AP.org + +- Please see the : [AP4AP Plan](https://plan.ap4ap.org) + +## AP4AP.org Initially Proposed Distributions + +| Contract Party | Distribution Percentage | +|----------------|-------------------------| +| {{PARTY1}} | 10% | +| {{PARTY2}} | 90% | diff --git a/pages/176.JointVenture.ComponentsInScope/default.md b/pages/176.JointVenture.ComponentsInScope/default.md new file mode 100644 index 0000000..53c094c --- /dev/null +++ b/pages/176.JointVenture.ComponentsInScope/default.md @@ -0,0 +1,26 @@ +--- +title: 'TSYS Group Components in scope of this proposal' +menu: 'TSYS Group Components in scope of this proposal' +--- + +# TSYS Group Components in scope of this proposal + +- Americans For A Better Network INC (AFABN) +- Side Door Group INC (SDG) +- Side Door Solutions Group INC (SDSG) + +- Redwood Springs Capital Partners LLC (RWSCP) + +- ThePeerNet.com LLC +- MerchantsOfHope.org LLC +- TeamRental.net LLC +- YourDreamNameHere.com LLC +- sol-calc.com LLC + +- HFNOC LLC +- HFNFC LLC +- AP4AP.org LLC + +- Suborbital Systems Development Company LLC + +- RackRental.net Operating Company LLC diff --git a/pages/177.JointVenture.ComponentsNotInScope/default.md b/pages/177.JointVenture.ComponentsNotInScope/default.md new file mode 100644 index 0000000..139d3bd --- /dev/null +++ b/pages/177.JointVenture.ComponentsNotInScope/default.md @@ -0,0 +1,42 @@ +--- +title: 'TSYS Group Components not in scope of this contract ' +menu: 'TSYS Group Components not in scope of this contract ' +--- + +# TSYS Group Components not in scope of this contract + +The following + +- organizations +- entities +- components + +are not in any way / shape / form a part of this proposal or executed contract: + +- Turnkey Network Systems LLC (as a whole) +- Axios Heart Studios (series) LLC +- Known Element Enterprises (series) LLC +- The Campus Trading Company LLC +- Wyble Family Office (series) LLC +- Reachable CEO Enterprises (series) LLC +- RackRental.net (series) LLC (TSYS Group HQ Rackrental.net Franchise) (it's agreement with RackRental.net Operating Company LLC allows it all the same terms as other franchies, except that RackRental.net (series) receives 100% of it's revenue under its franchise contract)(instead of 60%). +- Starting Line Productions (series) LLC (TSYS Group HQ StartingLineProductions.com Franchise) (it's agreement with RackRental.net Operating Company LLC allows it all the same terms as other franchies, except that StartingLIneProductions(series) receives 100% of it's revenue under its franchise contract)(instead of 60%). +- Asset holding,shell,licensing and other (super)(cell) or regular series and/or stand alone legal entities (aka TDCMP entities) providing non-operational functions for TSYS group and/or TSYS group components + +No: + +- interest +- influence +- partnership +- joint venture +- any other relationship + +is either implicitly or explicitly + +- implied +- offered +- extended + +as part of this proposal or executed contract + +None of the above listed components have any privity created by this contract and are not in any way (either by letter or spirit) in scope of this contract. diff --git a/pages/178.JointVenture.ContractParties/default.md b/pages/178.JointVenture.ContractParties/default.md new file mode 100644 index 0000000..886071d --- /dev/null +++ b/pages/178.JointVenture.ContractParties/default.md @@ -0,0 +1,23 @@ +--- +title: 'Parties to the contract' +menu: 'Parties to the contract' +--- + + +# Parties to the contract + +## Party 1: + +{{PARTY1}} +- Full Legal Name of {{PARTY1}}: +- Contact Details for {{PARTY1}}: + +## Entity that {{PARTY2}} is agreeing to develop : +{{INSCOPEENTITY}} + +## Party 2: + +{{PARTY2}} + +- Full Legal Name of {{PARTY2}}: +- Contact Details for {{PARTY2}}: \ No newline at end of file diff --git a/pages/179.JointVenture.DealTimelines/default.md b/pages/179.JointVenture.DealTimelines/default.md new file mode 100644 index 0000000..2c479cb --- /dev/null +++ b/pages/179.JointVenture.DealTimelines/default.md @@ -0,0 +1,31 @@ +--- +title: 'Deal Timelines ' +menu: 'Deal Timelines ' +--- + + +# Deal Timelines + +- {{PARTY1}} expects {{PARTY2}} to promptly begin conducting business operations such as: + - sales + - marketing + - business development + - product management + - software development + - fundraising . + +- {{PARTY1}} expects {{PARTY2}} to put in + - meaningful + - diligent, + - ongoing + - focused + efforts to generate revenue , free cash flow and profit. + +- A 180 calendar day period is hereby allotted for development and delivery efforts by {{PARTY2}} to occur from the date of execution of this contract. + +- If at the end of 180 calendar days the {{INSCOPEENTITY}} hasn't materially progressed, delivered free cash flow/revenue/profit results, otherwise delivered on discussed metrics or not well on the way to results delivery, the deal is hereby terminated and {{PARTY1}} will seize c +- {{PARTY2}} is not required to provide any particular form / frequency of status updates during the period. +- {{PARTY2}} may elect to provide status updates as they see fit. +- {{PARTY2}} is welcome to utilize Known Element Enterprises Redmine instance if they wish to do so, The relevant project/roadmap for each organization is linked to in that organizations section. + {{PARTY2}} is also welcome to use none at all. It's entirely up to {{PARTY2}} management discretion. +- {{PARTY1}} will not provide any financial resources (beyond paying for domain registration and operating the current infrastructure). Any and all expenses are to be paid for by {{PARTY2}} as they will be receiving majority revenue , free cash flow or profit shar negotiated. \ No newline at end of file diff --git a/pages/18.Handbook.CIO.Policies.Authentication/default.md b/pages/18.Handbook.CIO.Policies.Authentication/default.md new file mode 100644 index 0000000..b1675e1 --- /dev/null +++ b/pages/18.Handbook.CIO.Policies.Authentication/default.md @@ -0,0 +1,6 @@ +--- +title: 'Policies - Authentication' +menu: 'Policies - Authentication' +--- + +# Policies - Authentication diff --git a/pages/180.JointVenture.FLO-EzEda/default.md b/pages/180.JointVenture.FLO-EzEda/default.md new file mode 100644 index 0000000..4010fe9 --- /dev/null +++ b/pages/180.JointVenture.FLO-EzEda/default.md @@ -0,0 +1,9 @@ +--- +title: 'Free Libre Open Project - EzEDA.org' +menu: 'Free Libre Open Project - EzEDA.org' +--- + + +# Free Libre Open Project - EzEDA.org + +- Please see the [EzEDA Plan](https://plan.ezeda.org) diff --git a/pages/181.JointVenture.FLO-EzPodStack/default.md b/pages/181.JointVenture.FLO-EzPodStack/default.md new file mode 100644 index 0000000..723db35 --- /dev/null +++ b/pages/181.JointVenture.FLO-EzPodStack/default.md @@ -0,0 +1,8 @@ +--- +title: 'Free Libre Open Project - EzPodStack.org' +menu: 'Free Libre Open Project - EzPodStack.org' +--- + +# Free Libre Open Project - EzPodStack.org + +- Please see the [EzPodStack Plan](https://plan.ezpodstack.org) diff --git a/pages/182.JointVenture.HFNFC/default.md b/pages/182.JointVenture.HFNFC/default.md new file mode 100644 index 0000000..ad78032 --- /dev/null +++ b/pages/182.JointVenture.HFNFC/default.md @@ -0,0 +1,15 @@ +--- +title: 'High Flight Networks Finance Company (HFNFC)' +menu: 'High Flight Networks Finance Company (HFNFC)' +--- + +# High Flight Networks Finance Company (HFNFC) + +- Please see the : [HFNFC Plan](https://plan.hfnfc.net) + +## High Flight Network Finance Company Initially Proposed Distributions + +| Contract Party | Distribution Percentage | +| ------------------------------------------ | ----------------------- | +| Suborbital Systems Development Company LLC | 10% | +| {{PARTY2}} | 90% | diff --git a/pages/183.JointVenture.HFNOC/default.md b/pages/183.JointVenture.HFNOC/default.md new file mode 100644 index 0000000..59739da --- /dev/null +++ b/pages/183.JointVenture.HFNOC/default.md @@ -0,0 +1,15 @@ +--- +title: 'High Flight Networks Operating Company' +menu: 'High Flight Networks Operating Company' +--- + +# High Flight Networks Operating Company + +- Please see the : [HFNOC Plan](https://plan.hfnoc.net) + +## High Flight Network Operating Company Initially Proposed Distributions + +| Contract Party | Distribution Percentage | +| ------------------------------------------ | ----------------------- | +| Suborbital Systems Development Company LLC | 10% | +| {{PARTY2}} | 90% | diff --git a/pages/184.JointVenture.Introduction/default.md b/pages/184.JointVenture.Introduction/default.md new file mode 100644 index 0000000..885c5b7 --- /dev/null +++ b/pages/184.JointVenture.Introduction/default.md @@ -0,0 +1,50 @@ +--- +title: 'Introduction ' +menu: 'Introduction ' +--- + +# Introduction + +- This is a public document showing the full terms and conditions of a proposed joint venture contract between two parties for the successful development of a TSYS Group Component. + +- This proposal is generally expected to be (nearly)concurrently executed with the adoption of the charter for the component. + +- This repository is meant to be forked to a private, proprietary, confidential repository to become a proper, legally binding contract. + +- This proposal is licensed under the AGPL v3.0 only. Once it's converted into a contract , it will be assembled with a small amount of proprietary components: + + - PARTY2 name/contact details + - PARTY1 contact details + - Entity in scope + - Execution date + - Ownership/distribution arrangements (may be partially in this JV contract, and/or partially in the operating agreement) + + (Our INC charters and LLC operating agreements are licensed the same with a mirroring clause for this JV contract) + +- If any other modifications to this propsoal arise (other than those listed above), they must be done in this repository and placed under AGPL v3.0 only. This allows for effortless pre-deal due-diligence while preserving the confidentiality of the negoitations among the involved development parties. + +- Party 2 may elect to have the forked repository be public/read only as they wish. Party 1 hereby agrees to that option automatically upon Party 2 election to-do so, as long as PARTY1 contact details are redacted. + +- Party 1 formal legal name is TBD but prior to inclusion in the executed JV contract, it can be considered as a fund/vehicle of Redwood Springs Capital Partners LLC , aka FUNDCO as a placeholder. Details remain to be worked out around legal / administrative / tax implications etc for the fund/vehicle (for example if it will be a joint development fund for all of these component ventures or a fund per component etc) Those details will have no material effect on the letter or spirit of this proposal. They are the dotting of I and crossing of T inherent in creating a venture capital firm and it's funds/vehicles. The funds/vehicles will be purely for the purposes of asset segregation, liability scoping, administrative matters, licensing/ownership of IP, taxes, accounting and related purposes. They will make whatever investment in the component and then receive any returns or other outcomes that may occur. They are purely single purpose shell entities to manage an investment/set of investments into these components. + +- Party 2 can be any "person" (legal entity or individual) who can legally enter into a contract with a US entity (ie not subject to sanctions or otherwise prohibited by any/all applicable law from entering into a contract with a US entity). + +- The contract resulting from the forking/execution of this proposal will be governed solely and entirely by Texas law. + +- All disputes are hereby auto resolved in the favor of {{PARTY1}}. + +- All rights to trial by jury, arbitration, relief of any kind are hereby waved by {{PARTY2}} (except in cases of clear civil or criminal acts by {{PARTY1}} officers) (gross negligence) etc as is standard exception in the law. + +- {{PARTY2}} hereby certifies they have conducted extensive due diligence on {{PARTY1}} and it's officers, and the {{INSCOPEENTITY}} including any public material and private material that may have been provided by the officers of {{PARTY1}} and/or the officers of the {{INSCOPEENTITY}} and are entering into this agreement having fully read and understood it. + +- A particular PARTY2 may only enter into a joint venture contract for only a single listed in scope component listed herein as defined in the section "Parties to the contract" subsection "Entity that {{PARTY2}} is agreeing to develop". + +- A particular PARTY2 may invest into one or more or any number or combination, syndication etc of Redwood Springs Capital Partners funds as a Limited Partner. That is a distinct arrangement from this joint venture contract. No special rights are granted to Limited Partners of Redwood funds who have a joint venture contract arrangement. + +- A particular PARTY2 may enter into a development/support/consulting etc contract with one or both of EzEDA and EzPodStack. That is not considered a joint venture contract arrangement, but rather a standard development/support/consulting service contract with a free / libre / open software project. + +- A particular PARTY2 may enter into one or more contracts with Redwood Family Office for legal/insurance/investment and any other services offered by Redwood Family Office to TSYS Group stakeholders. That is not considered a joint venture contract arrangement, but rather a standard contract for services with a service provider. In fact, as an LP and as a joint venture contract party they may be required to be enrolled into multiple contracts with Redwood Family Office with different terms as part of both the joint venture terms and RWSCP fund terms. + +- A particular PARTY2 engaged in (any stage of) a joint venture contract arrangement with a TSYS Group Component, may approach, negotiate with and (as applicable) enter into a contract with any other one or more TSYS Group components to purchase their products or services without any legal concerns from this resulting contract. + +- The spirit of the restrictions of a particular PARTY2 to a single joint venture with TSYS Group is to prevent a monopoly of influence on TSYS Group by a single particular PARTY2. However, we understand that a number of investors will want exposure to the entire TSYS Group portfolio, either actively or passively or may through other active or passive holdings end up heavily investing into RWSCP/TSYS Group (perhaps through the RWSCP BDC inclusion into the large index funds etc). A joint venture agreement comes with substantial control/influence/responsibility as opposed to LP investments into RWSCP funds. diff --git a/pages/185.JointVenture.KNEL/default.md b/pages/185.JointVenture.KNEL/default.md new file mode 100644 index 0000000..3d73683 --- /dev/null +++ b/pages/185.JointVenture.KNEL/default.md @@ -0,0 +1,10 @@ +--- +title: 'Known Element Enterprises (KNEL)' +menu: 'Known Element Enterprises (KNEL)' +--- + +# Known Element Enterprises (KNEL) + +While not in scope of the joint venture proposal or resulting contract as an investble entity, KNEL is an intergral part of TSYS Group as the management company and was created at TSYS Group formation. As such, understanding it's role is crucial for {{PARTY2}}. + +- Please see the : [KNEL Plan](https://plan.knownelement.com) diff --git a/pages/186.JointVenture.MeetMorse/default.md b/pages/186.JointVenture.MeetMorse/default.md new file mode 100644 index 0000000..2d1ad45 --- /dev/null +++ b/pages/186.JointVenture.MeetMorse/default.md @@ -0,0 +1,16 @@ +--- +title: 'MeetMorse' +menu: 'MeetMorse' +--- + +# MeetMorse + +- Please see the : [MeetMorse Plan](https://plan.meetmorse.com) + +## Suborbital-Systems.net Initially Proposed Distributions + +| Contract Party | Distribution Percentage | +| ----------------------------------- | ----------------------- | +| Suborbital-Systems.net (series) LLC | 25% | +| {{PARTY1}} | 25% | +| {{PARTY2}} | 50% | diff --git a/pages/187.JointVenture.MerchantsOfHope/default.md b/pages/187.JointVenture.MerchantsOfHope/default.md new file mode 100644 index 0000000..764e241 --- /dev/null +++ b/pages/187.JointVenture.MerchantsOfHope/default.md @@ -0,0 +1,15 @@ +--- +title: 'MerchantsOfHope.org' +menu: 'MerchantsOfHope.org' +--- + +# MerchantsOfHope.org + +- Please see the : [MerchantsOfHope.org plan](https://plan.merchantsofhope.org) + +## MerchantsOfHope.org Initially Proposed Distributions + +| Contract Party | Distribution Percentage | +| -------------- | ----------------------- | +| {{PARTY1}} | 10% | +| {{PARTY2}} | 90% | diff --git a/pages/188.JointVenture.Party1-Details/default.md b/pages/188.JointVenture.Party1-Details/default.md new file mode 100644 index 0000000..3faef60 --- /dev/null +++ b/pages/188.JointVenture.Party1-Details/default.md @@ -0,0 +1,62 @@ +--- +title: '{{PARTY1}} contributions, responsibilites and context relating to the proposed Joint Venture' +menu: '{{PARTY1}} contributions, responsibilites and context relating to the proposed Joint Venture' +--- + + +# {{PARTY1}} contributions, responsibilites and context relating to the proposed Joint Venture + +- {{PARTY1}} currently and will continue todo so (via being a manager of Known Element Enterprises LLC) retains all operational control of hosting infrastructure (DNS/domain etc) (excluding compute/storage/network for customer data) +- At the direction of {{PARTY1}} in their capacity as a manager of Known Element Enterprises LLC (aka KNEL) KNEL will enter into a definitive agreement with {{PARTY2}} and {{INSCOPEENTITY}} within five calendar days of execution of this contract to provide core IT/business infrastructure services on the same footing as it provides them to other TSYS group components. + +See [KNEL contract template terms](https://contract.knownelement.com/) for details on the scope of services provided. + +This support does NOT include : + +- compute +- storage +- bandwidth +- connectivity + +for customer workloads or data. That will need to be provided at {{PARTY2}} full expense, ownership and responsibility. + +KNEL will work with {{PARTY2}} on an on-going basis in a prompt , professional manner to facilitate secure , necessary connections and data flow between KNEL back end systems (such as API and payment gateways and other standard services and/or services otherwise negotiated) and {{PARTY2}} customer workload systems. + +An exception to the provision of + +- compute +- storage +- bandwidth +- connectivity + +is hereby granted for : + +- sol-calc.com micro service (back end for any sol-calc.com frontend franchises) +- sol-calc.com (TSYS Group HQ sol-calc.com front end franchise) + +Any other franchises of: + +- RackRental +- STL +- sol-calc.com microservice + +must provide their own: + +- compute +- storage +- network +- (for RackRental and STL franchisees) rentable assets (and custom front-end website if desired) +- (for non TSYS sol-calc micro service franchisees) front-end website + +KNEL will provide franchisees use of the KNEL systems as a control/support plane (for rentals) + +- RackRental.net Operating Company LLC will complete the development of RackRental middleware / backend (micro services). The code will remain proprietary to RackRental.net Operating Company LLC. The runtime components resulting from the code will be exposed as consumable micro services for use by franchisees. + +- {{PARTY2}} , {{INSCOPEENTITY}} , {{PARTY1}} (in it's capacity as a manager of Known Element Enterprises LLC) will jointly complete the deployment, necessary custom development, configuration etc of signup, payment and other Known Element Enterprises micro services as needed within 30 days of this contract execution. + +- {{PARTY1}} is providing extensive support and value via + + - KNEL Micro services + - Brands + - Startup Starter Package + - Advisory office hours to the group components as needed diff --git a/pages/189.JointVenture.Party2-Details/default.md b/pages/189.JointVenture.Party2-Details/default.md new file mode 100644 index 0000000..c000232 --- /dev/null +++ b/pages/189.JointVenture.Party2-Details/default.md @@ -0,0 +1,48 @@ +--- +title: '{{PARTY2}} contributions, responsibilites and context relating to the proposed Joint Venture' +menu: '{{PARTY2}} contributions, responsibilites and context relating to the proposed Joint Venture' +--- + +# {{PARTY2}} contributions, responsibilites and context relating to the proposed Joint Venture + +- {{PARTY2}} will retain all financial control (bank accounts/third party payment processors) of the business (unless otherwise negotiated). + +- {{PARTY2}} will negotiate and execute a contract for with Known Element Enterprises LLC for providing IT/business services to {{INSCOPEENTITY}} within 5 calendar days of executing this contract with {{PARTY1}}. + +- {{PARTY2}} will have a very high degree of control (subject to negotiation as applicable with {{PARTY1}}) (especially in the instances of Suborbital/HFNOC/HFNFC) over the: + +- Business Plan +- Funding / Fundraising +- Website +- Application design/development +- Customers +- Partners +- Vendors (as long as they don’t provide a service provided by KNEL) (or a negotiated exception is granted) +- Employees +- Contractors +- Licensing of code +- Terms of service +- Pricing +- Executive team +- Franchie terms (for STL/RackRental/sol-calc.com) (excluding TSYS Group HQ franchises) +- Series LLC members +- Series LLC operating agreement (other than non override parts from the Turnkey Network Systems LLC operating agreement) +- TSYS Group board committee for the series +- etc + +for all TSYS Group components + +(with some exceptions noted below) + +- StartingLineProductions.com/RackRental.net/sol-calc.com microservice and (TSYS Group HQ franchise): ({{PARTY1}}/RackRental.net series LLC will ensure close consultation / collaboration / code availability to {{PARTY2}} on any design/development done on the STL/RackRental.net/sol-calc.com website/microservices) so as to not negatively impact the value of the business or relationship with franchises. +- Redwood Springs Capital Partners Funds related to Suborbital/HFNOC/HFNFC +- Suborbital Systems +- HFNOC +- HFNFC + +- {{PARTY2}} wants to be a leader, be in the driver seat, put their brand/stamp on everything. + +- {{PARTY2}} has a deep network of relevant personnel/talent , a deep contact network etc to increase the likelihood of success. + +- {{PARTY2}} understands that {{PARTY1}} has no real interest in TSYS Group components outside of Suborbital/HFNOC/HFNFC but would like to retain a minority silent stake in all components in exchange for the contributions outlined in the section titled "{{PARTY1}} contributions, responsibilities and context related to the proposed Joint Venture. + diff --git a/pages/19.Handbook.CIO.Policies.BusinessContinuityPlan/default.md b/pages/19.Handbook.CIO.Policies.BusinessContinuityPlan/default.md new file mode 100644 index 0000000..020aaf7 --- /dev/null +++ b/pages/19.Handbook.CIO.Policies.BusinessContinuityPlan/default.md @@ -0,0 +1,6 @@ +--- +title: 'Policies - Business Continuity Plan' +menu: 'Policies - Business Continuity Plan' +--- + +# Policies - Business Continuity Plan diff --git a/pages/190.JointVenture.RWGFO/default.md b/pages/190.JointVenture.RWGFO/default.md new file mode 100644 index 0000000..11a1cb3 --- /dev/null +++ b/pages/190.JointVenture.RWGFO/default.md @@ -0,0 +1,8 @@ +--- +title: 'Free Libre Open Company/Concept - Redwood Group Family Office' +menu: 'Free Libre Open Company/Concept - Redwood Group Family Office' +--- + +# Free Libre Open Company/Concept - Redwood Group Family Office + +- Please see the [Redwood Family Office Plan](https://plan.redwfo.com) diff --git a/pages/191.JointVenture.RWSCP/default.md b/pages/191.JointVenture.RWSCP/default.md new file mode 100644 index 0000000..cc2a0a7 --- /dev/null +++ b/pages/191.JointVenture.RWSCP/default.md @@ -0,0 +1,8 @@ +--- +title: 'Redwood Springs Capital Partners (RWSCP)' +menu: 'Redwood Springs Capital Partners (RWSCP)' +--- + +# Redwood Springs Capital Partners (RWSCP) + +- Please see [RWSCP Plan](https://plan.rwscp.net) diff --git a/pages/192.JointVenture.RackRental/default.md b/pages/192.JointVenture.RackRental/default.md new file mode 100644 index 0000000..a10fcc0 --- /dev/null +++ b/pages/192.JointVenture.RackRental/default.md @@ -0,0 +1,40 @@ +--- +title: 'RackRental.net Operating Company LLC' +menu: 'RackRental.net Operating Company LLC' +--- + +# RackRental.net Operating Company LLC + +A bit of explanation is required for this one. + +For clarity this is NOT for the RackRental.net (series) LLC (aka TSYS HQ RackRental Franchise). + +This is for the RackRental.net Operating Company LLC, which is the franchisor of RackRental/Starting Line Productions: + + - the brand + - control plane + - supporting microservices + +to those who wish to rent out their own lab equipment/space/time. + +- Please see the : [RackRental Plan](https://plan.rackrental.net). + +This is the business/product/operations plan/operating agreement/franchise agreement for development of the RackRental/STL franchisor business and also includes a franchisee business plan (the one used by RackRental.net (series) LLC/Starting Line Productions (series) LLC.). + +It's much different that the other plans, as this is entirely a sales driven "virtual" business with (close to if not entirely) zero product development work needed on the part of {{PARTY2}}. + +## RackRental.net Operating Company LLC Initially Proposed Distributions + +| Contract Party | Distribtuion Percentage | +| -------------- | ----------------------- | +| {{PARTY1}} | 10% | +| {{PARTY2}} | 90% | + +A bit of context on these numbers: + +FranchiseeCo123 generates $100.00 in revenue: + +- $60.00 goes to FranchiseeCo123 (as the franchisee) (as they get 60% of revenue) +- $40.00 goes to RackRental.net Operating Company LLC (as the franchisor) (as they get 40% of revenue) +- $4.00 (of the $40.00) goes to {{PARTY1}} +- $36.00 (of the $40.00) goes to {{PARTY2}} diff --git a/pages/193.JointVenture.Sol-Calc/default.md b/pages/193.JointVenture.Sol-Calc/default.md new file mode 100644 index 0000000..903f110 --- /dev/null +++ b/pages/193.JointVenture.Sol-Calc/default.md @@ -0,0 +1,15 @@ +--- +title: 'Sol-Calc.com' +menu: 'Sol-Calc.com' +--- + +# Sol-Calc.com + + Please see the : [Sol-Calc Plan](https://plan.sol-calc.com) + +## Sol-Calc.com Initially Proposed Distributions + +| Contract Party | Distribution Percentage | +|----------------|-------------------------| +| {{PARTY1}} | 1% | +| {{PARTY2}} | 99% | diff --git a/pages/194.JointVenture.SuborbitalSystems/default.md b/pages/194.JointVenture.SuborbitalSystems/default.md new file mode 100644 index 0000000..f76bf91 --- /dev/null +++ b/pages/194.JointVenture.SuborbitalSystems/default.md @@ -0,0 +1,16 @@ +--- +title: 'Suborbital Systems' +menu: 'Suborbital Systems' +--- + +# Suborbital Systems + +- Please see the : [Suborbital Systems Plan](https://plan.suborbital-systems.com) + +## Suborbital-Systems.net Initially Proposed Distributions + +| Contract Party | Distribution Percentage | +| ----------------------------------- | ----------------------- | +| Suborbital-Systems.net (series) LLC | 25% | +| {{PARTY1}} | 25% | +| {{PARTY2}} | 50% | diff --git a/pages/195.JointVenture.TSYSGroup/default.md b/pages/195.JointVenture.TSYSGroup/default.md new file mode 100644 index 0000000..ecba6b3 --- /dev/null +++ b/pages/195.JointVenture.TSYSGroup/default.md @@ -0,0 +1,10 @@ +--- +title: 'TSYS Group' +menu: 'TSYS Group' +--- + +# TSYS Group + +While the TSYS Group as a whole is not in scope of this proposal, it is the overall "container" that all the pieces make up. + +- Please see the [TSYS Group Plan](https://plan.turnsys.com) diff --git a/pages/196.JointVenture.TeamRental/default.md b/pages/196.JointVenture.TeamRental/default.md new file mode 100644 index 0000000..468b7b7 --- /dev/null +++ b/pages/196.JointVenture.TeamRental/default.md @@ -0,0 +1,15 @@ +--- +title: 'TeamRental.net' +menu: 'TeamRental.net' +--- + +# TeamRental.net + +- Please see the : [TeamRental.net Plan](https://plan.teamrental.net) + +## TeamRental.net Initially Proposed Distributions + +| Contract Party | Distribution Percentage | +| -------------- | ----------------------- | +| {{PARTY1}} | 10% | +| {{PARTY2}} | 90% | diff --git a/pages/197.JointVenture.TheCampusTradingCompany/default.md b/pages/197.JointVenture.TheCampusTradingCompany/default.md new file mode 100644 index 0000000..18dc979 --- /dev/null +++ b/pages/197.JointVenture.TheCampusTradingCompany/default.md @@ -0,0 +1,8 @@ +--- +title: 'The Campus Trading Company' +menu: 'The Campus Trading Company' +--- + +# The Campus Trading Company + +- Please see the [The Campus Trading Company Plan](https://plan.thecampustrade.com) diff --git a/pages/198.JointVenture.ThePeerNet/default.md b/pages/198.JointVenture.ThePeerNet/default.md new file mode 100644 index 0000000..860ef6c --- /dev/null +++ b/pages/198.JointVenture.ThePeerNet/default.md @@ -0,0 +1,15 @@ +--- +title: 'ThePeerNet.com' +menu: 'ThePeerNet.com' +--- + +# ThePeerNet.com + +- Please see the : [ThePeerNet.com Plan](https://plan.thepeernet.com) + +## ThePeerNet.com Initially Proposed Distributions + +| Contract Party | Distribution Percentage | +| -------------- | ----------------------- | +| {{PARTY1}} | 10% | +| {{PARTY2}} | 90% | diff --git a/pages/199.JointVenture.YourDreamNameHere/default.md b/pages/199.JointVenture.YourDreamNameHere/default.md new file mode 100644 index 0000000..aedf67e --- /dev/null +++ b/pages/199.JointVenture.YourDreamNameHere/default.md @@ -0,0 +1,15 @@ +--- +title: 'YourDreamNameHere.com' +menu: 'YourDreamNameHere.com' +--- + +# YourDreamNameHere.com + +- Please see the : [YourDreamNameHere.com Plan](https://plan.yourdreamnamehere.com) + +## YourDreamNameHere.com Initially Proposed Distributions + +| Contract Party | Distribution Percentage | +| -------------- | ----------------------- | +| {{PARTY1}} | 10% | +| {{PARTY2}} | 90% | diff --git a/pages/20.Handbook.CIO.Processes.2fa/default.md b/pages/20.Handbook.CIO.Processes.2fa/default.md new file mode 100644 index 0000000..f0d79b6 --- /dev/null +++ b/pages/20.Handbook.CIO.Processes.2fa/default.md @@ -0,0 +1,6 @@ +--- +title: 'Processes - Two Factor Authentication ' +menu: 'Processes - Two Factor Authentication ' +--- + +# Processes - Two Factor Authentication  diff --git a/pages/21.Handbook.CIO.Processes.MoveToProduction/default.md b/pages/21.Handbook.CIO.Processes.MoveToProduction/default.md new file mode 100644 index 0000000..8a79004 --- /dev/null +++ b/pages/21.Handbook.CIO.Processes.MoveToProduction/default.md @@ -0,0 +1,6 @@ +--- +title: 'Processes - Move To Production' +menu: 'Processes - Move To Production' +--- + +# Processes - Move To Production diff --git a/pages/22.Handbook.CIO.Processes.NewTeamMemberOnboarding/default.md b/pages/22.Handbook.CIO.Processes.NewTeamMemberOnboarding/default.md new file mode 100644 index 0000000..93759de --- /dev/null +++ b/pages/22.Handbook.CIO.Processes.NewTeamMemberOnboarding/default.md @@ -0,0 +1,6 @@ +--- +title: 'Processes - New Team Member Onboarding' +menu: 'Processes - New Team Member Onboarding' +--- + +# Processes - New Team Member Onboarding diff --git a/pages/23.Handbook.CIO.Processes.PFVRunbook/default.md b/pages/23.Handbook.CIO.Processes.PFVRunbook/default.md new file mode 100644 index 0000000..6b6d665 --- /dev/null +++ b/pages/23.Handbook.CIO.Processes.PFVRunbook/default.md @@ -0,0 +1,6 @@ +--- +title: 'Processes - PFV Datacenter Runbook' +menu: 'Processes - PFV Datacenter Runbook' +--- + +# Processes - PFV Datacenter Runbook diff --git a/pages/24.Handbook.CIO.Processes.VpnUser/default.md b/pages/24.Handbook.CIO.Processes.VpnUser/default.md new file mode 100644 index 0000000..8a7ab1c --- /dev/null +++ b/pages/24.Handbook.CIO.Processes.VpnUser/default.md @@ -0,0 +1,6 @@ +--- +title: 'Processes - VPN User Management' +menu: 'Processes - VPN User Management' +--- + +# Processes - VPN User Management diff --git a/pages/25.Handbook.CIO.Processes.VulnerabilityManagmentNotes/default.md b/pages/25.Handbook.CIO.Processes.VulnerabilityManagmentNotes/default.md new file mode 100644 index 0000000..7e1709b --- /dev/null +++ b/pages/25.Handbook.CIO.Processes.VulnerabilityManagmentNotes/default.md @@ -0,0 +1,6 @@ +--- +title: 'Processes - Vulnerability Management' +menu: 'Processes - Vulnerability Management' +--- + +# Processes - Vulnerability Management diff --git a/pages/26.Handbook.CIO.Systems.Admin-Application.AppsAndServices/default.md b/pages/26.Handbook.CIO.Systems.Admin-Application.AppsAndServices/default.md new file mode 100644 index 0000000..6c5761f --- /dev/null +++ b/pages/26.Handbook.CIO.Systems.Admin-Application.AppsAndServices/default.md @@ -0,0 +1,6 @@ +--- +title: 'Systems - Applications And Web Services' +menu: 'Systems - Applications And Web Services' +--- + +# Systems - Applications And Web Services diff --git a/pages/27.Handbook.CIO.Systems.Admin-Application.RuntimeLayer/default.md b/pages/27.Handbook.CIO.Systems.Admin-Application.RuntimeLayer/default.md new file mode 100644 index 0000000..44a1c61 --- /dev/null +++ b/pages/27.Handbook.CIO.Systems.Admin-Application.RuntimeLayer/default.md @@ -0,0 +1,6 @@ +--- +title: 'Systems - Runtime Environment for Hosted Services' +menu: 'Systems - Runtime Environment for Hosted Services' +--- + +# Systems - Runtime Environment for Hosted Services diff --git a/pages/28.Handbook.CIO.Systems.Admin-Application.WebServerSetupNotes/default.md b/pages/28.Handbook.CIO.Systems.Admin-Application.WebServerSetupNotes/default.md new file mode 100644 index 0000000..93c83f9 --- /dev/null +++ b/pages/28.Handbook.CIO.Systems.Admin-Application.WebServerSetupNotes/default.md @@ -0,0 +1,6 @@ +--- +title: 'Systems - Web Server Configuration' +menu: 'Systems - Web Server Configuration' +--- + +# Systems - Web Server Configuration diff --git a/pages/29.Handbook.CIO.Systems.Admin-DataCenter.cooling.PFVCooling2021/default.md b/pages/29.Handbook.CIO.Systems.Admin-DataCenter.cooling.PFVCooling2021/default.md new file mode 100644 index 0000000..d8c282e --- /dev/null +++ b/pages/29.Handbook.CIO.Systems.Admin-DataCenter.cooling.PFVCooling2021/default.md @@ -0,0 +1,6 @@ +--- +title: 'Systems - Cooling' +menu: 'Systems - Cooling' +--- + +# Systems - Cooling diff --git a/pages/30.Handbook.CIO.Systems.Admin-DataCenter.networking.PFV-LAN/default.md b/pages/30.Handbook.CIO.Systems.Admin-DataCenter.networking.PFV-LAN/default.md new file mode 100644 index 0000000..4fdfb3e --- /dev/null +++ b/pages/30.Handbook.CIO.Systems.Admin-DataCenter.networking.PFV-LAN/default.md @@ -0,0 +1,6 @@ +--- +title: 'Systems - TSYS HQ LAN' +menu: 'Systems - TSYS HQ LAN' +--- + +# Systems - TSYS HQ LAN diff --git a/pages/31.Handbook.CIO.Systems.Admin-DataCenter.networking.PFV-WAN/default.md b/pages/31.Handbook.CIO.Systems.Admin-DataCenter.networking.PFV-WAN/default.md new file mode 100644 index 0000000..c4d6be1 --- /dev/null +++ b/pages/31.Handbook.CIO.Systems.Admin-DataCenter.networking.PFV-WAN/default.md @@ -0,0 +1,6 @@ +--- +title: 'Systems - TSYS HQ WAN' +menu: 'Systems - TSYS HQ WAN' +--- + +# Systems - TSYS HQ WAN diff --git a/pages/32.Handbook.CIO.Systems.Admin-DataCenter.power.PFVPower2021Prod/default.md b/pages/32.Handbook.CIO.Systems.Admin-DataCenter.power.PFVPower2021Prod/default.md new file mode 100644 index 0000000..101cd91 --- /dev/null +++ b/pages/32.Handbook.CIO.Systems.Admin-DataCenter.power.PFVPower2021Prod/default.md @@ -0,0 +1,6 @@ +--- +title: 'Systems - Power' +menu: 'Systems - Power' +--- + +# Systems - Power diff --git a/pages/33.Handbook.CIO.Systems.Admin-DataCenter.security.PhysicalSecurity/default.md b/pages/33.Handbook.CIO.Systems.Admin-DataCenter.security.PhysicalSecurity/default.md new file mode 100644 index 0000000..75a457f --- /dev/null +++ b/pages/33.Handbook.CIO.Systems.Admin-DataCenter.security.PhysicalSecurity/default.md @@ -0,0 +1,6 @@ +--- +title: 'Systems - Physical Security' +menu: 'Systems - Physical Security' +--- + +# Systems - Physical Security diff --git a/pages/34.Handbook.CIO.Systems.Admin-DataCenter.storage.PFVStorage2021/default.md b/pages/34.Handbook.CIO.Systems.Admin-DataCenter.storage.PFVStorage2021/default.md new file mode 100644 index 0000000..6eb754f --- /dev/null +++ b/pages/34.Handbook.CIO.Systems.Admin-DataCenter.storage.PFVStorage2021/default.md @@ -0,0 +1,6 @@ +--- +title: 'Systems - Storage' +menu: 'Systems - Storage' +--- + +# Systems - Storage diff --git a/pages/35.Handbook.CIO.Systems.Admin-Platform.TSYS-Systems/default.md b/pages/35.Handbook.CIO.Systems.Admin-Platform.TSYS-Systems/default.md new file mode 100644 index 0000000..844f463 --- /dev/null +++ b/pages/35.Handbook.CIO.Systems.Admin-Platform.TSYS-Systems/default.md @@ -0,0 +1,6 @@ +--- +title: 'Systems - Virtual Guests Inventory' +menu: 'Systems - Virtual Guests Inventory' +--- + +# Systems - Virtual Guests Inventory diff --git a/pages/36.Handbook.CIO.Systems.Admin-RandD.EngWorkstationBuildGuide/default.md b/pages/36.Handbook.CIO.Systems.Admin-RandD.EngWorkstationBuildGuide/default.md new file mode 100644 index 0000000..38c6b22 --- /dev/null +++ b/pages/36.Handbook.CIO.Systems.Admin-RandD.EngWorkstationBuildGuide/default.md @@ -0,0 +1,6 @@ +--- +title: 'Systems - Workstation Build Guide' +menu: 'Systems - Workstation Build Guide' +--- + +# Systems - Workstation Build Guide diff --git a/pages/37.Handbook.CIO.Systems.Admin-RandD.VsCodeConfigGuide/default.md b/pages/37.Handbook.CIO.Systems.Admin-RandD.VsCodeConfigGuide/default.md new file mode 100644 index 0000000..4796d6f --- /dev/null +++ b/pages/37.Handbook.CIO.Systems.Admin-RandD.VsCodeConfigGuide/default.md @@ -0,0 +1,6 @@ +--- +title: 'Systems - VsCode Configuration Guide' +menu: 'Systems - VsCode Configuration Guide' +--- + +# Systems - VsCode Configuration Guide diff --git a/pages/38.Handbook.CIO.Systems.TSYS-Systems/default.md b/pages/38.Handbook.CIO.Systems.TSYS-Systems/default.md new file mode 100644 index 0000000..2a73d94 --- /dev/null +++ b/pages/38.Handbook.CIO.Systems.TSYS-Systems/default.md @@ -0,0 +1,6 @@ +--- +title: 'Systems - Overview' +menu: 'Systems - Overview' +--- + +# Systems - Overview diff --git a/pages/39.Handbook.CTO.team-hweng.HwEngSupplyChain/default.md b/pages/39.Handbook.CTO.team-hweng.HwEngSupplyChain/default.md new file mode 100644 index 0000000..89fce3e --- /dev/null +++ b/pages/39.Handbook.CTO.team-hweng.HwEngSupplyChain/default.md @@ -0,0 +1,6 @@ +--- +title: 'TeamHwEng - Supply Chain' +menu: 'TeamHwEng - Supply Chain' +--- + +# TeamHwEng - Supply Chain diff --git a/pages/40.Handbook.CTO.team-hweng.HwEngTooling/default.md b/pages/40.Handbook.CTO.team-hweng.HwEngTooling/default.md new file mode 100644 index 0000000..e7e6f84 --- /dev/null +++ b/pages/40.Handbook.CTO.team-hweng.HwEngTooling/default.md @@ -0,0 +1,6 @@ +--- +title: 'TeamHwEng - Tooling' +menu: 'TeamHwEng - Tooling' +--- + +# TeamHwEng - Tooling diff --git a/pages/41.Handbook.CTO.team-hweng.labComponentInventory/default.md b/pages/41.Handbook.CTO.team-hweng.labComponentInventory/default.md new file mode 100644 index 0000000..0d25bdf --- /dev/null +++ b/pages/41.Handbook.CTO.team-hweng.labComponentInventory/default.md @@ -0,0 +1,6 @@ +--- +title: 'TeamHwEng - Component Inventory' +menu: 'TeamHwEng - Component Inventory' +--- + +# TeamHwEng - Component Inventory diff --git a/pages/42.Handbook.CTO.team-mecheng.MechEngSupplyChain/default.md b/pages/42.Handbook.CTO.team-mecheng.MechEngSupplyChain/default.md new file mode 100644 index 0000000..2002825 --- /dev/null +++ b/pages/42.Handbook.CTO.team-mecheng.MechEngSupplyChain/default.md @@ -0,0 +1,6 @@ +--- +title: 'TeamMecheng - Supply Chain' +menu: 'TeamMecheng - Supply Chain' +--- + +# TeamMecheng - Supply Chain diff --git a/pages/43.Handbook.CTO.team-mecheng.MechEngTooling/default.md b/pages/43.Handbook.CTO.team-mecheng.MechEngTooling/default.md new file mode 100644 index 0000000..4916cfc --- /dev/null +++ b/pages/43.Handbook.CTO.team-mecheng.MechEngTooling/default.md @@ -0,0 +1,6 @@ +--- +title: 'TeamMecheng - Tooling' +menu: 'TeamMecheng - Tooling' +--- + +# TeamMecheng - Tooling diff --git a/pages/44.Handbook.CTO.team-sweng.SwEngSupplyChain/default.md b/pages/44.Handbook.CTO.team-sweng.SwEngSupplyChain/default.md new file mode 100644 index 0000000..e221c16 --- /dev/null +++ b/pages/44.Handbook.CTO.team-sweng.SwEngSupplyChain/default.md @@ -0,0 +1,6 @@ +--- +title: 'TeamSwEng - Supply Chain' +menu: 'TeamSwEng - Supply Chain' +--- + +# TeamSwEng - Supply Chain diff --git a/pages/45.Handbook.CTO.team-sweng.SwEngTooling/default.md b/pages/45.Handbook.CTO.team-sweng.SwEngTooling/default.md new file mode 100644 index 0000000..ffc9d8c --- /dev/null +++ b/pages/45.Handbook.CTO.team-sweng.SwEngTooling/default.md @@ -0,0 +1,6 @@ +--- +title: 'TeamSwEng - Tooling' +menu: 'TeamSwEng - Tooling' +--- + +# TeamSwEng - Tooling diff --git a/pages/46.Handbook.culture.Audit-Committee-Charter/default.md b/pages/46.Handbook.culture.Audit-Committee-Charter/default.md new file mode 100644 index 0000000..a5240aa --- /dev/null +++ b/pages/46.Handbook.culture.Audit-Committee-Charter/default.md @@ -0,0 +1,6 @@ +--- +title: 'Audit Committee' +menu: 'Audit Committee' +--- + +# Audit Committee diff --git a/pages/47.Handbook.culture.HowToUseThisBook/default.md b/pages/47.Handbook.culture.HowToUseThisBook/default.md new file mode 100644 index 0000000..caeea1c --- /dev/null +++ b/pages/47.Handbook.culture.HowToUseThisBook/default.md @@ -0,0 +1,18 @@ +--- +title: 'How to Use This Book' +menu: 'How to Use This Book' +--- + +## How to Use This Book + +This book isn’t about fringe benefits or how to set up your workstation or where to find source code. TSYS Group works in ways that might seem counterintuitive at first. This hand- +book is about the choices you’re going to be making and how to think about them. Mainly, it’s about how not to freak out now that you’re here. + +For more nuts-and-bolts information, there’s an official TSYS Group Doc Repo : TODO link to repo + +This book is in the repo, so you can edit it. + +Once you’ve read it, help us make it better for other new members. Suggest new sections, or change the existing ones. Add to the Glossary. Or if you’re not +all that comfortable editing it, annotate it: make comments and suggestions in ReviewBoard (TODO link to reviewboad). + +We’ll collectively review the changes and fold them into future revisions. \ No newline at end of file diff --git a/pages/48.Handbook.culture.Org/default.md b/pages/48.Handbook.culture.Org/default.md new file mode 100644 index 0000000..d5b6cae --- /dev/null +++ b/pages/48.Handbook.culture.Org/default.md @@ -0,0 +1,74 @@ +--- +title: 'Teams, Hours, and the Office' +menu: 'Teams, Hours, and the Office' +--- + +# Teams, Hours, and the Office + + + +- [Teams, Hours, and the Office](#teams-hours-and-the-office) + - [Cabals](#cabals) + - [Team leads](#team-leads) + - [Structure happens](#structure-happens) + - [Hours](#hours) + - [HeadQuarters / "Office"](#headquarters--office) + + + + +## Cabals + +Cabals are really just multidisciplinary project/product teams. + +We’ve self- organized into these largely temporary groups since the early days of TSYS Group. + +They exist to get a product or large feature shipped. Like any other group or effort at the organization, they form organically. + +Members decide to join the group based on their own belief that the group’s work is important enough for them to work on. + +## Team leads + +Often, someone (ideally two or three someones) will emerge as the “lead” for a project. This member’s role is not a traditional managerial one. +Most often, they’re primarily a clearinghouse of information. They’re keeping the whole project in their head at once so that other membes can use them as a +resource to check decisions against. The leads serve the team, while acting as centers for the teams. + +The lead is responsible for keeping the documentation up to date. Failure to update documentation on a constant basis is a violation of the operating agreement +and grounds for immediate termination with prejudice and without review/appeal. No one may become a holder of power by hording knowledge. + +## Structure happens + +Project teams often have an internal structure that forms temporarily to suit the group’s needs. Although members at TSYS Group don’t have fixed job descriptions or limitations on +the scope of their responsibility, they can and often do have clarity around the definition of their mission on any given day. + +They, along with their peers, effectively create a mission objective description that fits the group’s goals. That description changes as requirements change, but the temporary +structure provides a shared understanding of what to expect from each other while the objective is being achievied. + +If someone moves to a different group or a team shifts its priorities, each person can take on a completely different role according to the new requirements. + +TSYS Group is not averse to all organizational structure—it crops up in many forms all the time, temporarily. But problems show up when hierarchy or codified divisions of +labor either haven’t been created by the group’s members or when those structures persist for long periods of time. + +We believe those structures inevitably begin to serve their own needs rather than those of TSYS Group’s customers. The hierarchy will begin to reinforce its own structure by hiring +people who fit its shape, adding people to fill subordinate support roles. Its members are also incentivize to engage in rent-seeking behaviors that take advantage of the power +structure rather than focusing on simply delivering value to customers. + +## Hours + +While members occasionally choose to push themselves to work some extra hours at times when something big is going out the door, for the most part working overtime for +extended periods indicates a fundamental failure in planning or communication. If this happens at TSYS Group, it’s a sign that something needs to be reevaluated and corrected. + +If you’re looking around wondering why members aren’t in “crunch mode,” the answer’s pretty simple. The thing we work hardest at is onboarding good members, so we want them to +stick around and have a good balance between work and family and the rest of the important stuff in life. + +If you find yourself working long hours, or just generally feel like that balance is out of whack, be sure to raise the issue with whomever you feel would help. + +## HeadQuarters / "Office" + +TSYS Group is head quartered out of the founders residence in the central texas region. It hosts it's data in that residence and receives all company mail. + +It maintains a small shop for the hardware manufacturing aspects of the business. + +All meetings are held via Discord (or other VTC platforms if external stakeholders wish to utilize them). Even when members are co-working, they use Gitea issues -> Discourse -> Discord (in descending order of preference and situation dependent) to communicate. + +TSYS Group is truly distributed, strives to onboard members all over the world as a matter of course. \ No newline at end of file diff --git a/pages/49.Handbook.culture.PeersAndPerf/default.md b/pages/49.Handbook.culture.PeersAndPerf/default.md new file mode 100644 index 0000000..43d1502 --- /dev/null +++ b/pages/49.Handbook.culture.PeersAndPerf/default.md @@ -0,0 +1,6 @@ +--- +title: 'Your Peers and Your Performance' +menu: 'Your Peers and Your Performance' +--- + +# Your Peers and Your Performance diff --git a/pages/50.Handbook.culture.Preface/default.md b/pages/50.Handbook.culture.Preface/default.md new file mode 100644 index 0000000..cbaed0f --- /dev/null +++ b/pages/50.Handbook.culture.Preface/default.md @@ -0,0 +1,19 @@ +--- +title: 'Preface' +menu: 'Preface' +--- + +## Preface + +In 2011 we set out to bring internet to all for $5.00 per user, per month. We knew back then to do that that we had to first create a whole new kind of +organization place that was designed to foster that goal. Where true north was constantly present and permeated all we do. We also knew we couldn't have +middle management and that ownership/control/leadership had to be fully distributed throughout the organization. "Headquarters" such as it is, exists only +to serve the members in their mission execution. + +We want an organization where incredibly talented individuals are empowered to put their best work into the hands of billions of people, with very little in their way. + +This book is an abbreviated encapsulation of our guiding principles. As TSYS Group grows, we hope that these principles will serve each new member joining our ranks. + +If you are new to TSYS Group, welcome. Although the goals in this book are important, it’s really member ideas, talent, and energy that will keep TSYS Group shining in the years ahead. + +Thanks for being here. Let’s make great things. \ No newline at end of file diff --git a/pages/51.Handbook.culture.Risks/default.md b/pages/51.Handbook.culture.Risks/default.md new file mode 100644 index 0000000..0c50eff --- /dev/null +++ b/pages/51.Handbook.culture.Risks/default.md @@ -0,0 +1,52 @@ +--- +title: 'Risks' +menu: 'Risks' +--- + +# Risks + + + +- [Risks](#risks) + - [What if I screw up?](#what-if-i-screw-up) + - [But what if we ALL screw up?](#but-what-if-we-all-screw-up) + + + +## What if I screw up? + +Nobody has ever been removed at TSYS Group for making a mistake. It wouldn’t make sense for us to operate that way. Providing the freedom to fail is an important trait of the +organization, we couldn’t expect so much of individuals if we also penalized members for errors. + +Even expensive mistakes, or ones which result in a very public failure, are genuinely looked at as opportunities to learn. + +We can always repair the mistake or make up for it. + +Screwing up is a great way to find out that your assumptions were wrong or that your model of the world was a little bit off. + +As long as you update your model and move forward with a better picture, you’re doing it right. Look for ways to test your beliefs. Never be afraid to run an experiment or to collect +more data. + +It helps to make predictions and anticipate nasty outcomes. Ask yourself : + +* “what result would I expect to see if I’m right?” +* “what result would I expect to see if I’m wrong?” + +Then ask yourself: + +* “what do I see?” + +If something totally unexpected happens, try to figure out why. There are still some bad ways to fail. Repeating the same mistake over and over is one. Not listening to customers or +peers before or after a failure is another. Never ignore the evidence; particularly when it says you’re wrong. + +## But what if we ALL screw up? + +So if every member is autonomously making his or her own decisions, how is that not chaos? How does TSYS Group make sure that the company is heading in the right direction? + +When everyone is sharing the steering wheel, it seems natural to fear that one of us is going to veer TSYS Group’s car off the road. Over time, we have learned that our collective +ability to meet challenges, take advantage of opportunity, and respond to threats is far greater when the responsibility for doing so is distributed as widely as possible. + +Namely, to every member at the organization. We are all stewards of our long-term relationship with our customers. They watch us, sometimes very publicly, make mistakes. + +Sometimes they get angry with us. But because we always have their best interests at heart, there’s faith that we’re going to make things better, and that if we’ve screwed up today, +it wasn’t because we were trying to take advantage of anyone. \ No newline at end of file diff --git a/pages/52.Handbook.culture.SettlingIn/default.md b/pages/52.Handbook.culture.SettlingIn/default.md new file mode 100644 index 0000000..52774f9 --- /dev/null +++ b/pages/52.Handbook.culture.SettlingIn/default.md @@ -0,0 +1,6 @@ +--- +title: 'Part 2: Settling In' +menu: 'Part 2: Settling In' +--- + +# Part 2: Settling In diff --git a/pages/53.Handbook.culture.TheoryOfRecruitmentAndOnboarding/default.md b/pages/53.Handbook.culture.TheoryOfRecruitmentAndOnboarding/default.md new file mode 100644 index 0000000..6f416fd --- /dev/null +++ b/pages/53.Handbook.culture.TheoryOfRecruitmentAndOnboarding/default.md @@ -0,0 +1,168 @@ +--- +title: 'Growth and Change' +menu: 'Growth and Change' +--- + + + + +- [Growth and Change](#growth-and-change) + - [TSYS Group Is Always Growing And Changing](#tsys-group-is-always-growing-and-changing) + - [Does it scale?](#does-it-scale) + - [Theory Of Growth](#theory-of-growth) + - [Your Most Important Role - Recruiting](#your-most-important-role---recruiting) + - [We value “T-shaped” people](#we-value-t-shaped-people) + - [Recruiting and Vetting Process](#recruiting-and-vetting-process) + - [Theory of Onboarding](#theory-of-onboarding) + - [How do we choose the right people to onboard?](#how-do-we-choose-the-right-people-to-onboard) + - [Why is onboarding well so important at TSYS Group?](#why-is-onboarding-well-so-important-at-tsys-group) + + + +# Growth and Change + +## TSYS Group Is Always Growing And Changing + +### Does it scale? + +Concepts discussed in this book sound like they might work well at a tiny start-up, but not at a hundreds-of-people-plus- billions-in-revenue organization. + +The big question is: Does all this stuff scale? Well, so far, yes. And we believe that if we’re careful, it will work better and better the larger we get. + +This might seem counterintuitive, but it’s a direct consequence of onboarding great, accomplished, capable members. Getting this to work right is a tricky proposition, though, and +depends highly on our continued vigilance in recruiting/onboarding. + +If we start adding members to the organization who aren’t as capable as we are at operating as high-powered, self-directed, senior decision makers, then lots of the stuff +discussed in this book will stop working. We must avoid this at all costs! + +## Theory Of Growth + +We do not have a growth goal. We intend to continue onboarding the best members as fast as we can, and to continue scaling up our business as fast as we can, given our existing + +Fortunately, we don’t have to make growth decisions based on any external pressures—only our own business goals. And we’re always free to temper those goals with the +long-term vision for our success as a company. Ultimately, we win by keeping the onboarding bar very high. + +Adding a great member can create value across the whole organization. Missing out on onboarding that great member is likely the most expensive kind of mistake we can make. + +Usually, it’s immediately obvious whether or not we’ve done a great job onboarding someone. However, we don’t have the usual checks and balances that come with having managers, +so occasionally it can take a while to understand whether a new member is fitting in. + +This is one downside of the organic design of the organization a poor onboarding decision can cause lots of damage, and can sometimes go unchecked for too long. + +Ultimately, members who cause damage always get weeded out, but the harm they do can still be significant. + +## Your Most Important Role - Recruiting + +### We value “T-shaped” people + +That is, people who are both generalists (highly skilled at a broad set of valuable things—the top of the T) and also experts (among the best in their field within a narrow +discipline—the vertical leg of the T). + +This recipe is important for success at TSYS Group. We often have to pass on people who are very strong generalists without expertise, or vice versa. An expert who is too narrow +has difficulty collaborating. A generalist who doesn’t go deep enough in a single area ends up on the margins, not really contributing as an individual. + +### Recruiting and Vetting Process + +To be captured. A large amount of the strategic nuts and bolts is captured in this section, but not the tactical pieces, the processes, how it relates to membership classes etc. Coming very soon! + +## Theory of Onboarding + +### How do we choose the right people to onboard? + +An exhaustive how-to on onboarding would be a handbook of its own. Probably one worth writing. It’d be tough for us to capture because we feel like we’re constantly learning really +important things about how we onboard people. + +In the mean time, here are some questions we always ask ourselves when evaluating candidates: + +- Would I want this member to be my boss? +- Would I learn a significant amount from him or her? +- What if this member went to work for our competition? + +Across the board, we value highly collaborative people. That means people who are skilled in all the things that are integral to high-bandwidth collaboration—people who can deconstruct problems on the fly, and talk to others as they do so, simultaneously being inventive, iterative, creative, talkative, and reactive. + +These things actually matter far more than deep domain-specific knowledge or highly developed skills in narrow areas. This is why we’ll often pass on candidates who, narrowly defined, are the “best” at their chosen discipline. + +Onboarding well is the most important thing in the universe. Nothing else comes close. It’s more important than breathing. So when you’re working on onboarding participating in +an onboarding , vetting, probation loop or innovating in the general area of recruiting—everything else you could be doing is less important and should be ignored! + +When you’re new to TSYS Group, it’s super valuable to start being involved in the onboarding process. Ride shotgun with people who’ve been doing it a long time. In some ways, our +interview process is similar to those of other companies, but we have our own take on the process that requires practice to learn. + +We won’t go into all the nuts and bolts in this book—ask others for details, and start being included in recruiting / onboarding loops. + +### Why is onboarding well so important at TSYS Group? + +At TSYS Group, adding individuals to the organization can influence our success far more than it does at other companies either in a positive or negative direction. Since there’s +no organizational compartmentalization of people here, + +**Bring your friends.** + +One of the most valuable things you can do as a +new employee is tell us who else you think we should hire. Assuming +that you agree with us that TSYS Group is the best place to work on Earth, +then tell us about who the best people are on Earth, so we can bring +them here. If you don’t agree yet, then wait six months and ask +yourself this question again. + +We’re looking for people stronger than ourselves. +When unchecked, people have a tendency to hire others +who are lower-powered than themselves. The questions +listed above are designed to help ensure that we don’t +start onboarding people who are useful but not as powerful +as we are. We should hire people more capable than +ourselves, not less. + +In some ways, onboarding lower-powered people is a natural +response to having so much work to get done. In these +conditions, onboarding someone who is at least capable seems +(in the short term) to be smarter than not onboarding anyone at +all. But that’s actually a huge mistake. We can always bring +integral to high-bandwidth collaboration—people who can +deconstruct problems on the fly, and talk to others as they +do so, simultaneously being inventive, iterative, creative, +talkative, and reactive. These things actually matter far more +than deep domain-specific knowledge or highly developed +skills in narrow areas. This is why we’ll often pass on candi- +dates who, narrowly defined, are the “best” at their chosen +discipline. +Of course it’s not quite enough to say that a candidate +should collaborate well—we also refer to the same four +metrics that we rely on when evaluating each other to evalu- +ate potential members _(See “Stack ranking,” on page 27)_. + +Q: If all this stuff has worked well for us, why doesn’t every company work this way? + +A: Well, it’s really hard. Mainly because, from day one, it requires a +commitment to onboarding in a way that’s very different from the way most +companies hire. It also requires the discipline to make the design of +the company more important than any one short-term business goal. +And it requires a great deal of freedom from outside pressure—being +self-funded was key. And having a founder who was confident enough +to build this kind of place is rare, indeed. +Another reason that it’s hard to run a company this way is that it +requires vigilance. It’s a one-way trip if the core values change, and +maintaining them requires the full commitment of everyone— +especially those who’ve been here the longest. For “senior” people +at most companies, accumulating more power and/or money over +time happens by adopting a more hierarchical culture. + +on temporary/contract help to get us through tough spots, +but we should never lower the onboarding bar. The other reason +people start to hire “downhill” is a political one. At most +organizations, it’s beneficial to have an army of people +doing your bidding. At TSYS Group, though, it’s not. You’d +damage the company and saddle yourself with a broken +organization. Good times! + +**Onboarding is fundamentally the same across all disciplines.** + +There are not different sets of rules or criteria for engineers, artists, animators, and accountants. + +Some details are different like, artists and writers show us some of their work before coming in for an interview. + +But the actual interview process is fundamentally the same no matter who we’re talking to. + +“With the bar this high, would I be onboarded today?” + +That’s a good question. The answer might be no, but that’s actually awesome for us, and we should all celebrate if it’s true because it means we’re growing correctly. As long as you’re +continuing to be valuable and having fun, it’s a moot point, really. \ No newline at end of file diff --git a/pages/54.Handbook.culture.TheoryOfWork/default.md b/pages/54.Handbook.culture.TheoryOfWork/default.md new file mode 100644 index 0000000..342f541 --- /dev/null +++ b/pages/54.Handbook.culture.TheoryOfWork/default.md @@ -0,0 +1,6 @@ +--- +title: 'TheoryOfWork' +menu: 'TheoryOfWork' +--- + +# TheoryOfWork diff --git a/pages/55.Handbook.culture.TSYSGroupFactsThatMatter/default.md b/pages/55.Handbook.culture.TSYSGroupFactsThatMatter/default.md new file mode 100644 index 0000000..ba4866b --- /dev/null +++ b/pages/55.Handbook.culture.TSYSGroupFactsThatMatter/default.md @@ -0,0 +1,23 @@ +--- +title: 'TSYS Group Facts That Matter' +menu: 'TSYS Group Facts That Matter' +--- + +# TSYS Group Facts That Matter + +* TSYS Group is self-funded. We haven’t ever brought in equity based outside financing. Since our earliest days this has been incredibly +important in providing freedom to shape the organization and its business practices. + +* TSYS Group does not own its intellectual property. This is far from the norm, in the technology industry. Everything that we produce that we ship to customers +is licensed under the AGPLv3 and we do not require copyright assignment. This is to ensure the long term survival of the product against all threats. We value +mission integrity and solving the real world digital divide above all else. + +* We seek to surprise and delight everyone who interacts with all aspects of TSYS Group in any way shape or form. That is our daily guiding principal. + +* We fund capabilities with internal cash, ensuring a solid asset base that we can always fallback to. + +* We finance capacity with outside (non equity) funding. + +* We have zero internal cost centers. We outsource all cost centers (e-mail, expense management, inbound voice communications). + +* We self host , both on premise and on leased equipment at offsite facilities. \ No newline at end of file diff --git a/pages/56.Handbook.culture.WelcomeToFlatland/default.md b/pages/56.Handbook.culture.WelcomeToFlatland/default.md new file mode 100644 index 0000000..2ffd6e3 --- /dev/null +++ b/pages/56.Handbook.culture.WelcomeToFlatland/default.md @@ -0,0 +1,35 @@ +--- +title: 'Welcome to Flatland' +menu: 'Welcome to Flatland' +--- + +## Welcome to Flatland + +Hierarchy is great for maintaining predictability and repeatability. It simplifies planning and makes it easier to +control a large group of people from the top down, which is why military organizations rely on it so heavily. + +But when you’re a day zero company that’s spent the last decade going out of its way to identify and recruit the most +intelligent, innovative, talented people on Earth to be members of the organization, telling them to sit at a desk and +do what they’re told obliterates 99 percent of their value. + +We want innovators, and that means maintaining an environment where they’ll flourish. That’s why TSYS Group is flat. It’s our shorthand way of +saying that we don’t have any middle management, just a highly dedicated senior leadership team (made of up the organization co-founders) and a fully +independent Board of Directors (with the power to remove management if necessary) to ensure all stakeholders are fully represented. + +All meetings of the Board and leadership are open participation (read only) and our CEO (@ReachableCEO everywhere) is highly responsive to all levels of the +organization and external stakeholders. + +The organization truly belongs to it's members, it's yours! Yours to steer—toward opportunities and away from risks. + +You have the power to green-light projects. You have the power to ship products. + +A flat structure removes every organizational barrier between your work and the customer enjoying that work. + +Every company will tell you that “the customer is boss,” but here that statement has weight. There’s no red tape stopping you from figuring out for yourself what our customers +want, and then giving it to them. + +If you’re thinking to yourself, “Wow, that sounds like a lot of responsibility,” you’re right. + +And that’s why onboarding new members is the single most important thing you will ever do at TSYS Group. + +Any time you vet a potential member, you need to ask yourself not only if they’re exceptionally talented and collaborative but also if they’re capable of literally running this organization, because they will be. \ No newline at end of file diff --git a/pages/57.Handbook.culture.WelcomeToTSYSGroup/default.md b/pages/57.Handbook.culture.WelcomeToTSYSGroup/default.md new file mode 100644 index 0000000..307bfbd --- /dev/null +++ b/pages/57.Handbook.culture.WelcomeToTSYSGroup/default.md @@ -0,0 +1,6 @@ +--- +title: 'Part 1: Welcome to TSYS Group' +menu: 'Part 1: Welcome to TSYS Group' +--- + +# Part 1: Welcome to TSYS Group diff --git a/pages/58.Handbook.culture.WhatToWorkOn/default.md b/pages/58.Handbook.culture.WhatToWorkOn/default.md new file mode 100644 index 0000000..e8f9cf3 --- /dev/null +++ b/pages/58.Handbook.culture.WhatToWorkOn/default.md @@ -0,0 +1,6 @@ +--- +title: 'What to Work On' +menu: 'What to Work On' +--- + +# What to Work On diff --git a/pages/59.Handbook.culture.YourFirstDay/default.md b/pages/59.Handbook.culture.YourFirstDay/default.md new file mode 100644 index 0000000..c553661 --- /dev/null +++ b/pages/59.Handbook.culture.YourFirstDay/default.md @@ -0,0 +1,16 @@ +--- +title: 'Your First Day' +menu: 'Your First Day' +--- + +# Your First Day + +So you’ve gone through the diligence, vetting, onboarding, and probationary process, you’ve +finally been able to become a party to the Operating Agreement! You are in at TSYS Group. +Congratulations! and welcome. + +TSYS Group has an incredibly unique way of doing things that will make this the greatest professional experience +of your life, but it can take some getting used to. + +This book was written by members who’ve been where you are now, and who want to make your first few months here +as easy as possible. \ No newline at end of file diff --git a/pages/60.Handbook.culture.YourFirstMonth/default.md b/pages/60.Handbook.culture.YourFirstMonth/default.md new file mode 100644 index 0000000..abb51db --- /dev/null +++ b/pages/60.Handbook.culture.YourFirstMonth/default.md @@ -0,0 +1,84 @@ +--- +title: 'Your First Month' +menu: 'Your First Month' +--- + +# Your First Month + + + +- [Your First Month](#your-first-month) + - [Introduction](#introduction) + - [Roles](#roles) + - [Advancement vs. growth](#advancement-vs-growth) + - [Putting more tools in your toolbox](#putting-more-tools-in-your-toolbox) + - [Engineers: code is only the beginning](#engineers-code-is-only-the-beginning) + - [Non-Engineers: program or be programmed](#non-engineers-program-or-be-programmed) + + + +## Introduction + +You’ve solved the nuts-and-bolts issues. Now you’re moving beyond wanting to just be productive day to day you’re ready to help shape your future, and TSYS Group. + +Your own professional development and TSYS Group growth are both now under your control. Here are some thoughts on steering both toward success. + +## Roles + +By now it’s obvious that roles at TSYS Group are fluid. Traditionally at TSYS Group, nobody has an actual title (maybe a broad functional title like "software developer"). + +This is by design, to remove organizational constraints. Instead we have things we call ourselves, for convenience. In particular, members who interact with others outside the company call themselves by various titles because doing so makes it easier to complete their mission objectives. + +Inside the organization though, we all take on the role that suits the work in front of us. Everyone is a designer. Everyone can question each other’s work. Anyone can recruit +someone onto his or her project. + +Everyone has to function as a “strategist,” which really means figuring out how to do what’s right for our customers. + +We all engage in analysis, measurement, predictions, evaluations. + +## Advancement vs. growth + +Because TSYS Group doesn’t have a traditional hierarchical structure, it can be confusing to figure out how TSYS Group fits into your career plans. “Before TSYS Group, I was an assistant +technical second animation director in Hollywood. I had planned to be a director in five years. How am I supposed to keep moving forward here?” + +Working at TSYS Group provides an opportunity for extremely efficient and, in many cases, very accelerated, career growth. + +In particular, it provides an opportunity to broaden one’s skill set well outside of the narrow constraints that careers can have at most other organizations. + +So the “growth ladder” is tailored to you. It operates exactly as fast as you can manage to grow. You’re in charge of your track, and you can elicit help with it anytime from those around you. + +FYI , we don’t do any formalized member “development” (course work, mentor assignment etc), because for senior members it’s not effective. + +We believe that high-performance members are generally self-improving. + +Most members who fit well at TSYS Group will be better positioned after their time spent here than they could have been if they’d spent their time pretty much anywhere else. + +## Putting more tools in your toolbox + +The most successful members at TSYS Group are both : + +(1) highly skilled at a broad set of things and +(2) world-class experts within a more narrow discipline. + +Because of the talent diversity here at TSYS Group, it’s often easier to become stronger at things that aren’t your core skill set. + +## Engineers: code is only the beginning + +If you were on-boarded as a software engineer, you’re now surrounded by a multidisciplinary group of experts in all kinds of fields—creative, legal, financial, even psychological. + +Many of these members are sitting in Discord with you every day, so the opportunities for learning are huge. + +Take advantage of this fact whenever possible: the more you can learn about the mechanics, vocabulary, and analysis within other disciplines, the more valuable you become. + +## Non-Engineers: program or be programmed + +TSYS Group’s core competency is making platforms consisting of hardware and software blended into Turn Key experiences. + +Obviously, different disciplines are part of making our products, but we’re still an engineering-centric organization. + +That’s because the core of the hardware/software-building process is engineering. As in, writing code. + +If your expertise is not in writing code, then every bit of energy you put into understanding the code-writing part of making software is to your (and TSYS Group) benefit. + +You don’t need to become an engineer, and there’s nothing that says an engineer is more valuable than you. But broadening your awareness in a highly technical direction is never a +bad thing. It’ll either increase the quality or quantity of bits you can put “into boxes,” which means affecting customers more, which means you’re valuable. \ No newline at end of file diff --git a/pages/61.Handbook.culture.YourFirstWeek/default.md b/pages/61.Handbook.culture.YourFirstWeek/default.md new file mode 100644 index 0000000..eab252d --- /dev/null +++ b/pages/61.Handbook.culture.YourFirstWeek/default.md @@ -0,0 +1,111 @@ +--- +title: 'Your First Week' +menu: 'Your First Week' +--- + +# Your First Week + + + +- [Your First Week](#your-first-week) + - [Introduction](#introduction) + - [Why do I need to pick my own projects?](#why-do-i-need-to-pick-my-own-projects) + - [But how do I decide which things to work on?](#but-how-do-i-decide-which-things-to-work-on) + - [How do I find out what projects are under way?](#how-do-i-find-out-what-projects-are-under-way) + - [Short-term vs. long-term goals](#short-term-vs-long-term-goals) + - [Someone told me to (or not to) work on X. And they’ve been here a long time!](#someone-told-me-to-or-not-to-work-on-x-and-theyve-been-here-a-long-time) + - [What about all the things that I’m not getting done?](#what-about-all-the-things-that-im-not-getting-done) + - [Can I be included the next time TSYS Group is deciding X?](#can-i-be-included-the-next-time-tsys-group-is-deciding-x) + + + +## Introduction + +You’re not freaking out anymore. In fact, you’re ready to show up to work (wherever and whenever in the world that happens to be +because TSYS Group is the first organization with a truly global talent base from day zero) this work block, and then what? + +This next section walks you through figuring out what to work on. You’ll learn about how projects work, how cabals work, and how products get out the door at TSYS Group. + +Whatever group you’re in, whether you’re building servers, writing documentation, or making art, this section applies to you. It’s crucial that you believe it, so we’ll repeat it a few more times in this uuide. + +## Why do I need to pick my own projects? + +We’ve heard that other companies have people allocate a percentage of their time to self- directed projects. At TSYS Group, that percentage is 100. + +Since TSYS Group is flat, members don’t join projects because they’re told to. Instead, you’ll decide what to work on after asking yourself the right questions (more on that +later). Members vote on projects with their time and git commits. Strong projects are ones in which members can see demonstrated value; they staff up easily. This means there are any number of internal recruiting efforts constantly under way. + +If you’re working here, that means you’re good at your job. Members are going to want you to work with them on their projects, and they’ll try hard to get you to do so. But +the decision is going to be up to you. (In fact, at times you’re going to wish for the luxury of having just one person telling you what they think you should do, rather +than hundreds. + +## But how do I decide which things to work on? + +Deciding what to work on can be the hardest part of your mission at TSYS Group. This is because, as you’ve found out by now, you were not on-boarded to fill a specific job description. + +You were hired to constantly be looking around for the most valuable work you could be doing. At the end of a project, you may end up well outside what you thought was your core area of expertise. + +There’s no rule book for choosing a project or task at TSYS Group. But it’s useful to answer questions like these: + +* Of all the projects currently under way, what’s the most valuable thing I can be working on? +* Which project will have the highest direct impact on our customers? How much will the work I ship benefit them? +* Is TSYS Group not doing something that it should be doing? +* What’s interesting? +* What’s rewarding? +* What leverages my individual strengths the most? + +## How do I find out what projects are under way? + +Our git server at https://git.turnsys.com/explore is the single project list in the organization. However, the best way to find out is to ask other members. Anyone, really. This can +provide additional context, how projects fit into the overall goals etc. Keep in mind that members may be very busy, so please use calendar scheduling heavily! + +When you do, you’ll find out what’s going on around the organization and your peers will also find out about you. + +Lots of members at TSYS Group want and need to know what you care about, what you’re good at, what you’re worried about, what you’ve got experience with, and so on. + +And the way to get the word out is to start telling members all of those things. So, while you’re getting the lay of the land by learning about projects, you’re also broadcasting your +own status to a relevant group of members. + +Got an idea for how TSYS Group could change how we internally broadcast project/company status? Great. Do it. In the meantime, the Discord Lounge is always open, so plant yourself in it often. + +## Short-term vs. long-term goals + +Because we all are responsible for prioritizing our own work, and because we are conscientious and anxious to be valuable, as individuals we tend to gravitate toward projects +that have a high, measurable, and predictable return for the company. So when there’s a clear opportunity on the table to succeed at a near-term business goal with a clear +return, we all want to take it. + +And, when we’re faced with a problem or a threat, and it’s one with a clear cost, it’s hard not to address it immediately. This sounds like a good thing, and it often is, but it has +some downsides that are worth keeping in mind. + +Specifically, if we’re not careful, these traits can cause us to race back and forth between short-term opportunities and threats, being responsive rather than proactive. + +So our lack of a traditional structure comes with an important responsibility. It’s up to all of us to spend effort focusing on what we think the long-term goals of the +organization should be. + +## Someone told me to (or not to) work on X. And they’ve been here a long time! + +Well, the correct response to this is to keep thinking about whether or not your colleagues are right. Broaden the conversation. Hold on to your goals if you’re convinced +they’re correct. Check your assumptions. + +Pull more members in. Listen. Don’t believe that anyone holds authority over the decision you’re trying to make. + +They don’t; but they probably have valuable experience to draw from, or information/data that you don’t have, or insight that’s new. + +When considering the outcome, don’t believe that anyone but you is the “stakeholder”. You’re it. And TSYS Group’s customers are who you’re serving. Do what’s right for them. + +## What about all the things that I’m not getting done? + +It’s natural in this kind of environment to constantly feel like you’re failing because for every one task you decide to work on, there will be dozens that aren’t getting your +attention. Trust us, this is normal. Nobody expects you to devote time to every opportunity that comes your way. Instead, we want you to learn how to choose the most +important work to do. + +## Can I be included the next time TSYS Group is deciding X? + +Yes. There’s no secret decision-making cabal. No matter what project, you’re already invited. All you have to do is either: + +(1) Start working on it, or +(2) Start talking to all the members who you think might be working on it already and find out how to best be valuable. + +You will be welcomed. there is no approval process or red tape involved. Quite the opposite it’s your job to insert yourself wherever you think you should be. Keep in mind that you +should take the time to get yourself up to speed. Members have no obligation to take time to get you up to speed. If you do not take the effort to meaningfully contribute, fully expect to +be told to "figure it out" or "read the docs" etc. \ No newline at end of file diff --git a/pages/62.Handbook.culture.YourMostImportantRole/default.md b/pages/62.Handbook.culture.YourMostImportantRole/default.md new file mode 100644 index 0000000..76cd8e8 --- /dev/null +++ b/pages/62.Handbook.culture.YourMostImportantRole/default.md @@ -0,0 +1,5 @@ +--- +title: 'YourMostImportantRole' +menu: 'YourMostImportantRole' +--- + diff --git a/pages/63.Handbook.FAQ/default.md b/pages/63.Handbook.FAQ/default.md new file mode 100644 index 0000000..87704d5 --- /dev/null +++ b/pages/63.Handbook.FAQ/default.md @@ -0,0 +1,84 @@ +--- +title: 'FAQ' +menu: 'FAQ' +--- + + +* What is the overall vision? + +We envision a world where everyone is able to connect without interference, censorship at a cost always trending lower (as close to zero) as possible. + +* What is the specific startup idea being worked on? + +Inexpensive (by the hour) high altitude balloon launch , flight and recovery service of any cubesat payload under 5lbs. + +* What progress has already made/can you make without a co-founder? + +Many test flights. Proof of concepts. Build out of R&D and corporate infrastructure. Production of a prototype of the MorsePOD (consumer electronics piece of the +overall stack). + +* How does the CEO respond to stress/difficult situations? + +Mostly by avoiding them in the first place. Otherwise confronting them head on calmly and rationally. + +* What motivates the CEO? + +Lifting the overall GDP share of everyday americans by democratizing internet access. + +* Why does the CEO want to work on a startup? + +The need to solve a very big problem. Incumbents will never solve it. The world needs to be better connected by an organization that isn't inherently +conflicted (ie google/face3book) + +* What’s the ideal trajectory for you: venture-backed rocket ship, lifestyle business, something in between? + +Building a conglomerate of entities (non profit, coop, capital aggregation, not primarily for profit). We plan to produce long term cash flow for our stakeholders. We plan to raise substantial institutional capital and deploy it at industrial scale. + +* What skills do you have; are they complementary? Will you be able to build an initial version of a product together? + +20 years of design, building, scaling, securing of systems for a wide range of government and private sector customers. + +* How will this vision be realized? + +The short version is to have 100,000 or more balloons up at all times and provide an always on IOT (lora) and end user (IP) serving backbone. + +* Have you taken any outside capital? + +Not at this time (August 2021) + +* Why haven't you raised any outside capital? + +We are building the structure / systems / processes to successfully onboard large amounts of capital. + +* What types of capital are you raising? + +** For seed (non dilutive): SBIR + +** For dilutive equity (max 25%): Institutional (Goldman sachs, Blackrock and other long term cash flow oriented funds) (see the operating agreement sections of the +handbook for terms we would raise under) + +* Do you require an NDA? + +No NDA is necessary for the majority of members. The exception is if you are granted on-going access to trade secrets as part of your mission , you'll be required to execute a confidentiality agreement that is tightly scoped to those secrets and is limited to the term of your membership plus one year. + +In rare circumstances, you'll need to sign a perpetual confidentiality agreement, again scoped to the specific trade secrets you'll have access to. + +* What is the structure of the entity? + +We are a combination of different corporate forms. The specific structure is a trade secret. Ownership is disclosed to those who execute a membership agreement. You can find the membership agreement in the TSG Handbook. + +* What is the name of the entity? + +Suborbital Systems Development Company LLC (Texas LLC) is one we disclose. + +* What is the governance structure of the entity? + +We have a (not yet formally elected ) board of directors. The CEO (@ReachableCEO) has personal advisors who aren’t directors but provide him with outside perspective on a variety of matters. YOu can find details on governance at . + +* How are folks compensated? + +(as of August 2021) No one takes a salary. It’s all a promise of future payout, based on profit interest grants in the LLC. + +We are currently working towards SBIR grant. This requires a full time employee (principal investigator ). That person will not have a profit interest, as the operating agreement doesn’t allow for salary if you have a profit interest grant. + +Keep in mind, having a profit interest grant is a (very strong) contract , vs employment which is at will. diff --git a/pages/64.Handbook.SourceMaterial.company.branding/default.md b/pages/64.Handbook.SourceMaterial.company.branding/default.md new file mode 100644 index 0000000..c865554 --- /dev/null +++ b/pages/64.Handbook.SourceMaterial.company.branding/default.md @@ -0,0 +1,286 @@ +--- +title: 'Resources' +menu: 'Resources' +--- + +--- +title: Branding +sidebar: Handbook +showTitle: true +--- + +
+ +> **Note:** This page currently refers only to this website (posthog.com). It will later be updated to also include information about app.posthog.com following the rebrand. + +## Resources + +#### Figma: PostHog Branding + +Refer to this [Figma Project](https://www.figma.com/file/8iM3Damgbl4PyHq6x8JJbu/PostHog-Branding?node-id=1%3A661) for a comprehensive overview of our colors, fonts, logos, and related resources. + +#### Logos + +To get access to our various logo formats, check out our [Media page](/media). + +
+ +## Colors + +Our three main colours are Blue, Orange, and Yellow. + + +##### Blue: #1D4AFF + +##### Orange: #F54E00 + +##### Yellow: #F9BD2B + +
+ +Accompanying these colours are Black and White, as well as a Dark Navy. Navy was introduced to tone down the blue against the yellow and orange, and provides a vintage feel to the page. + +##### Black: #000000 + +##### White: #FFFFFF + +##### Dark Navy: #35416B + +
+ +If possible, all artwork is to be made with these colours, as well as typography and social media images. + + +## Text + +# H1 + +###### Font Specifications + +* Family: Gosha Sans (Regular) +* Size: 64px +* Line Height: 100 +* Color: Black +* Opacity: 100% + +## H2 + +###### Font Specifications + +* Family: Gosha Sans (Regular) +* Size: 48px +* Line Height: 70 +* Color: Black +* Opacity: 100% + +### H3 + +###### Font Specifications + +* Family: Gosha Sans (Regular) +* Size: 36px +* Line Height: 60 +* Color: Black +* Opacity: 100% + +#### H4 + +###### Font Specifications + +* Family: Gosha Sans (Regular) +* Size: 30px +* Line Height: 50 +* Color: Black +* Opacity: 100% + +##### H5 + +###### Font Specifications + +* Family: Gosha Sans (Regular) +* Size: 20px +* Line Height: 35 +* Color: Black +* Opacity: 100% + +###### H6 + +###### Font Specifications + +* Family: Gosha Sans (Regular) +* Size: 18px +* Line Height: 30 +* Color: Black +* Opacity: 100% + +#### Normal Text + +###### Font Specifications + +* Family: Gosha Sans (Regular) +* Size: 16px +* Line Height: 25 +* Color: Black +* Opacity: 100% + +#### Small Text + +###### Font Specifications + +* Family: Gosha Sans (Regular) +* Size: 16px +* Line Height: 20 +* Color: Black +* Opacity: 30% + +#### Note + +If the text is secondary and you think it is less important feel free to put the opacity down to 60%. This will turn it to a dark gray color. This way, the user's eyes are brought to the darker text first and will read the lighter text if they need to. + +The color of text should always be black - with the occasional lowered opacity to 60% when necessary. + +## Numbers + +For numbers you have two options, the first being *statement* and the second being *subtle*. + +#### Statement Numbers + +Statement numbers tend to be used on the landing page or pages where the product is being explained. Usually accompanied by visuals and a small amount of text. + +**Specifications** + +Statement No. Gosha Sans, bold, size 64px, colour - Blue (#1D4AFF), Orange (#F54E00), Yellow (#F9BD2B) alternating, opacity 100%. + +#### Subtle Numbers + +Subtle numbers are seen within docs and blogs, usually employed to give instructions or list things. + +**Specifications** + +Subtle No. Helvetica Neue, regular, size 20px, colour Yellow (#F9BD2B), opacity 100% + +## Layout + +When creating layouts on Figma, always start with the 'Desktop' Frame (1440 W x 1024 H). + +Then create a grid with the following specifications: +- Rows: 14 | Stretch | Gutter: 10 | Color: 2% +- Columns: 24 | Stretch | Gutter: 10 | Color: 2% + +This will give you the basis of PostHog's visual structure. + +## Logos + +The logo consists of both a symbol and type next to each other, but they can be used separately if need be. It is advisable for the website and product to keep the logo elements together. However, this isn't as important for other instances like swag or social media posts. + +When putting the logo over color, type and symbol should all be white. Copies of this are available on the branding page on [Figma](https://www.figma.com/file/8iM3Damgbl4PyHq6x8JJbu/PostHog-Branding?node-id=1%3A661) for you to copy or download. If for whatever reason you need to make the logo all black, that is also fine, but only with a grey or white background. + +## Icons + +Under any H2 text there should be a divider. The divider helps separate the subtitle from the body text underneath. This icon is a long, thin rectangle with rounded edges. + +**Dimensions:** 120 x 10px with a 10 corner radius. + +On the landing page the dividers alternate between the three PostHog colours, Blue (#1D4AFF), Orange (#F54E00) and Yellow (#F9BD2B). However, on any other pages they are always Orange (#F54E00). + +These dividers should be 35px below H2 text, and any body copy text below should be 35px from the divider. + +## Background Textures and Color + +To stop the website from looking dull we have employed the use of color and texture to give it some depth. + +The three main colors are Orange (#F54E00) and Yellow (#F9BD2B), with a bit of Navy (#35416B). + +Color blocks can be any size, but they must not fill more than one third of the screen. They must have a curved radius of 100 and usually have illustrations or icons over the top. + +On top of the color blocks (or on its own) you could also use the halftone grey panel on opacity 20%. This gives the page some texture without distracting the USER from the text. + +## Menus and Sidebars + +Most of the menus on PostHog will be in tones of grey with pops of color for clicked pages. The most common menu featured on the bottom of the website page holds 5 sections for users to navigate the website. This menu is Mid Grey (#BEBEBE), and its size is 315px in height, while occupying the entire length of the screen in width. + +Within the block are the 5 categories: Why PostHog, Resources, Community, Support, Company. + +This uses 'Extra Large Text', as defined in the 'Fonts' section. + +Underneath these 5 categories are the sub sections, which use 'Normal Text', as defined in the 'Fonts' section. + +Side Menus, found on pages such as Docs, are to be a Light Grey (#F0F0F0) and 430px wide. The text and dropdown options should be fixed so that even when reading the consumer can still have quick access to other areas within the site. + +The text in this sidebar should be Extra Large Text. The arrows that accompany the categories will be in Figma - they are a simple vector and the stroke needs to be 2. + +When you click on a dropdown menu, the text and arrow turn Blue (#1D4AFF) to indicate that they have been clicked. The subcategories text should be Normal Text. When a subcategory is clicked this should also turn Blue, along with the Category text and arrow. + +The last menu is the navigation menu that can be found in Docs. This uses Small Text. + +Alongside the text on the left is a line with a small circle to indicate the part of the document you are in. Like the text, the line is black with an opacity of 30%. The stroke is 3, while the circle is 12x12px (white fill) with an inside stroke of 3 (orange). + +Depending on what section of the text you are reading, the text will turn orange and the circle will be aligned with that selected text. + +## Mobile Content + +When transforming any desktop page to mobile please use the iPhone 8 frame on Figma. + +### Headers + +The header consists of the logo (206 W x 40.13 H) centered, a menu bar (36 W x 32 H) and a grey background (375 W x 110 H) in colour #F0F0F0. On the landing page the header is different, but generally the header should be consistent. The landing page header consists of the logo, (206 W x 40.13 H) centred, a menu bar (375 W x 390 H) in grey (#EDEDED) with halftone dots (This image can be found on the Figma file) (375 W x 390 H) laid over the top at 20% passthrough. This gives a subtle halftone effect. + +### Text + +#### H1 + +###### Font Specifications + +* Family: Gosha Sans (Regular) +* Size: 18px +* Line Height: 30 +* Color: Black +* Opacity: 100% + +#### H2 + +###### Font Specifications + +* Family: Gosha Sans (Regular) +* Size: 14px +* Line Height: 20 +* Color: Black +* Opacity: 100% + +#### H3 + +###### Font Specifications + +* Family: Gosha Sans (Regular) +* Size: 12px +* Line Height: 20 +* Color: Black +* Opacity: 100% + +#### H4 + +###### Font Specifications + +* Family: Gosha Sans (Regular) +* Size: 10px +* Line Height: 20 +* Color: Black +* Opacity: 100% + +### Numbers + +Follows the same principles as the Desktop format, using Statement and Subtle numbers. + +**Statement Numbers** + +Gosha Sans | Regular | Size 20 | Line Height 20 | Color: Yellow, Orange, or Blue | Opacity: 100% + +**Subtle Numbers** + +Helvetica Neue | Bold | Size 14 | Line Height 20 | Color: Yellow | Opacity: 100% + +## Shapes and Dividers + +Curved rectangle backgrounds, size (203 W x 170 H), with a curved radius of 20, in either Yellow (#F9BD2B), Orange (#F96132), or Navy (#35416B). These can be overlaid with halftone dots, at 20% pass through. + +Dividers on the mobile format are similar to the desktop version but smaller (70 W x 7 H) and generally orange (#F96132), except for the landing page where they alternate between the three PostHog colours. diff --git a/pages/65.Handbook.SourceMaterial.company.communication/default.md b/pages/65.Handbook.SourceMaterial.company.communication/default.md new file mode 100644 index 0000000..8f2c72a --- /dev/null +++ b/pages/65.Handbook.SourceMaterial.company.communication/default.md @@ -0,0 +1,181 @@ +--- +title: 'Introduction' +menu: 'Introduction' +--- + +--- +title: Communication +sidebar: Handbook +showTitle: true +--- + +## Introduction + +With team members across several countries, it's important for us to practice clear communication in ways that help us stay connected and work more efficiently. + +To accomplish this, we use **asynchronous communication as a starting point** and stay as open and transparent as we can by communicating on GitHub through public issues and pull requests, as well as in our PostHog User and internal Slack. + +## Our Communication Values + +1. **Assume Positive Intent.** Always coming from a position of positivity and grace. +1. **Form An Opinion.** We live in different locations and often have very different perspectives. We want to know your thoughts, opinions, and feelings on things. +1. **Feedback is Essential.** Help everyone up their game in a direct but constructive way. + +## Golden rules + +1. Use **asynchronous communication** when possible: pull requests (preferred) or issues. Announcements happen on the appropriate Slack channels and [people should be able to do their work without getting interrupted by chat](https://m.signalvnoise.com/is-group-chat-making-you-sweat-744659addf7d#.21t7089jk). +1. Discussion in GitHub issues or pull requests is preferred over everything else. If you need a response urgently, you can Slack someone with a link to your comment on an issue or pull request, asking them to respond there. However, be aware that they still may not see it straight away (and that's OK in our book). +1. You are not expected to be available all the time. There is **no** expectation to respond to messages outside of your planned working hours. +1. It is 100% OK to ask as many questions as you have - please ask in public channels! If someone sends you a handbook link, that means they are proud that we have the answer documented - they don't mean that you should have found that yourself or that this is the complete answer. If the answer to a question isn't documented yet please immediately make a pull request to add it to the handbook in a place you have looked for it. +1. When someone asks for something, reply back with a deadline or by noting that you already did it. Answers like: 'will do', 'OK', or 'it is on my todo list' are not helpful. If it is small task for you but will unblock someone else, consider spending a few minutes to do the task so the other person can move forward. +1. By default, avoid creating private groups for internal discussions. + +## Public by default + +We make things public by default because [transparency](/handbook/company/culture#transparency) is core to our culture. The kinds of information we share falls into one of three buckets: + +- _Public_ - most things, including our product, roadmap, handbook and strategy. +- _Shared internally_ - almost everything else, such as financial performance, security, fundraising and recruitment. +- _Private internally_ - personal team information, i.e. compensation, disciplinary issues. + +Information that is not publicly shared is in areas with complex signals that can impact our ability to sell, raise money or are inappropriate to share more widely for personal privacy reasons. + + +We have two repos to centralize and document all internal communication. These are the source of truth for any internal information, and anything that should be written down (as established in these guidelines) should live here, not on Slack. This will make it easier when having to search for older stuff, sharing context between public and internal repos, and for newcomers to have all information they might need readily available. + +### Company Internal +Repository can be found in https://github.com/PostHog/company-internal + +Documents any company-wide internal information, in addition to any information related to People, Ops, Legal & Compliance, Finance or Strategy. + +**Examples of information that should go here:** +- ✅ Hiring plans and discussions before we post a job ad +- ✅ People discussions, e.g. benefits, pensions, share options, org structure +- ✅ Onboarding/offboarding checklists +- ✅ Non-engineering team sprint planning +- ✅ Sensitive discussions around future positioning, customer strategy, fundraising, board meetings + +**Examples of information that should NOT go here:** +- ❌ Any information that should be public (see guidelines on [public by default](http://localhost:8000/handbook/company/communication#public-by-default)), this should go in the public repositories (`posthog`, `posthog.com`, ...). +- ❌ Bug reports, security issues, or any other engineering-related discussions. These should go in the [Product Internal](#product-internal) repo. +- ❌ Billing issues, product or growth discussions. These should go in the [Product Internal](#product-internal) repo. + + +### Product Internal +Repository can be found in https://github.com/PostHog/product-internal + +Contains internal information related to the PostHog product. Documents any non-public information (as established in these guidelines) that specifically relates to engineering, product, growth or design. + +This repository was introduced to aid maintenance and day-to-day usage of internal repositories. Having these discussions together with the company-wide information proved unwieldly. More context on [this decision](https://github.com/PostHog/company-internal/issues/262). + +
+Please be sure to read the README of the repo for guidelines on how to file specific issues. +
+ + +**Examples of information that should go here:** +- ✅ Vulnerabilities (security bugs) reports +- ✅ Bug reports where most of the context of the report depends on customer's PII. *Some bug reports require screenshots, recordings, or some other information that contains PII and as such can't be public.* +- ✅ Post-mortems on outages, or other issues affecting a large portion of customers. The results of these should usually be made public though. +- ✅ Documentation of internal infrastructure, where if it was public knowledge could provide valuable information to an attacker. +- ✅ Experiment (A/B testing) results. +- ✅ Product or growth strategy discussions (unless they should be public). +- ✅ Interview exercises or questions for engineering, product, growth or design tasks that should not be public. +- ✅ Documentation of engineering or product requirements documents that can't be public (these should be quite rare). +- ✅ Billing or pricing-related discussions that is not yet public. + +**Examples of information that should NOT go here:** +- ❌ Any information that should be public (see guidelines on [public by default](http://localhost:8000/handbook/company/communication#public-by-default)), this should go in the public repositories (`posthog`, `posthog.com`, ...). +- ❌ Any internal information that does not fall under the scope of purely engineering, product, growth or design. This should go in the [Company Internal](#company-internal) repo. +- ❌ Bug reports that don't contain any PII or where the PII only contains supporting information. In this case, file the bug under the relevant public repo and add a protected link to the additional information (e.g. a private Slack link, or a link to this repo). + +## Written Communication + +### GitHub + +#### Everything Starts with a Pull Request + +It's best practice to start a discussion where possible with a Pull Request (PR) instead of an issue. A PR is associated with a specific change that is proposed and transparent for everyone to review and openly discuss. The nature of PRs facilitate discussions around a proposed solution to a problem that is actionable. A PR is actionable, while an issue will inevitably lead to a longer period before the problem is addressed. + +Always open a PR for things you are suggesting and/or proposing. Whether something is not working right or we are iterating on new internal process, it is worth opening a pull request with the minimal viable change instead of opening an issue encouraging open feedback on the problem without proposing any specific change directly. Remember, a PR also invites discussion, but it's specific to the proposed change, which facilitates focused decisions. + +By default, pull requests are **non-confidential**. However, for things that are not public please open a confidential issue with suggestions to specific changes that you are proposing. When possible, consider not including sensitive information so the wider community can contribute. + +Not every solution will solve the problem at hand. Keep discussions focused by _defining the problem first_ and _explaining your rationale_ behind the Minimal Viable Change (MVC) proposed in the PR. Have a bias for action and don't aim for consensus - some improvement is better than none. + +#### Issues + +GitHub Issues are useful when there isn't a specific code change that is being proposed or needed. For example, you may want to start an issue for tracking progress or for project management purposes that do not pertain to code commits. This can be particularly useful when tracking team tasks and creating issue boards. + +However, it is still important to maintain focus when opening issues by defining a single specific topic of discussion as well as defining the desired outcome that would result in the resolution of the issue. The point is to not keep issues open-ended and to prevent issues from going stale due to lack of resolution. For example, a team member may open an issue to track the progress of a blog post with associated to-do items that need to be completed by a certain date (e.g. first draft, peer review, publish). Once the specific items are completed, the issue can successfully be closed. + +### Slack + +Slack is used for more informal communication, or where it doesn't make sense to create an issue or pull request. Use your judgment to determine the appropriate channel, and whether you should be chatting publicly (default) or privately. + +Also keep in mind that, as an open source platform, PostHog has contributors who don't have access to Slack. Having too much context in a private location can be detrimental to those who are trying to understand the rationale for a certain decision. + +**Slack etiquette** + +Slack is used differently in different organizations. Here are some guidelines for how we use Slack at PostHog: + +1. Keep `#general` open for company-wide announcements. +1. `@channel` or `@here` mentions should be reserved for urgent or time-sensitive posts that require immediate attention by everyone in the channel. (Examples: changing a meeting invite URL just before a meeting, or soliciting urgent help for a service disruption, where you're not sure who is immediately available) +1. Make use of threads when responding to a post. This allows informal discussion to take place without notifications being sent to everyone in the channel on every reply. +1. When possible, summarize multiple thoughts into a single message instead of sending multiple messages sequentially. + +### Google Docs and presentations + +Never use a Google Doc / presentation for something non-confidential that has to end up on the website or this handbook. Work on these edits via commits to a pull request. Then link to the pull request or diff to present the change to people. This prevents a duplication of effort and/or an out of date handbook. + +We mainly use Google Docs to capture internal information like meeting notes or to share company updates and metrics. We always make the doc accessible so you can comment and ask questions. + +Please avoid using presentations for internal use. They are a poor substitute for a discussion on an issue. They lack the depth, and don't add enough context to enable asynchronous work. + +### Email + +1. Internal email should be avoided in nearly all cases. Use GitHub for feature / product discussion, use Slack if you cannot use GitHub, and use Google Docs for anything else. +1. The only uses we have for internal email are: + - Obtaining approvals for legal things + - Sending some types of more official company documents (e.g. job offers, payroll forms) + - Communicating with external partners + +### Writing Style + +1. We use American English as the standard written language in our public-facing comms, including this handbook. +1. Do not use acronyms when you can avoid them. Acronyms have the effect of excluding people from the conversation if they are not familiar with a particular term. +1. We use the [Oxford comma](https://www.grammarly.com/blog/what-is-the-oxford-comma-and-why-do-people-care-so-much-about-it/). +1. Do not create links like "here" or "click here". All links should have relevant anchor text that describes what they link to. Using meaningful links is important to both search engine crawlers (SEO) and people with accessibility issues. + +## Internal Meetings + +PostHog uses [Zoom](https://zoom.us/) for video communications. Zoom also has useful plugins for [Google Calendar](https://chrome.google.com/webstore/detail/zoom-scheduler/kgjfgplpablkjnlkjmjdecgdpfankdle?hl=en-US) and Slack which you may wish to use. + +Use video calls if you find yourself going back and forth in an issue/via email or over chat. Sometimes it is still more valuable to have a 40+ message conversation via chat as it improves transparency, is easy to refer back to, and is friendlier to newcomers getting up to speed. + +1. Most scheduled meetings should have a Google Doc linked or a relevant GitHub issue. This contains an agenda, including any preparation materials. +1. Please click 'Guests can modify event' so people can update the time in the calendar instead of having to reach out via other channels. You can configure this to be checked by default under [Event Settings](https://calendar.google.com/calendar/r/settings). +1. Try to have your video on at all times because it's much more engaging for participants. Having pets, children, significant others, friends, and family visible during video chats is encouraged - please introduce them! +1. As a remote company we are always striving to have the highest fidelity, collaborative conversations. Use of a headset with a microphone, is strongly recommended - use your company card if you need. +1. Always advise participants to mute their mics if there is unnecessary background noise to ensure the speaker is able to be heard by all attendees. +1. You should take notes of the points and to-dos during the meeting. Being able to structure conclusions and follow-up actions in real time makes a video call more effective than an in-person meeting. If it is important enough to schedule a meeting, it is important enough to have taken notes. +1. We start on time and do not wait for people. People are expected to join no later than the scheduled minute of the meeting, and we don't spend time bringing latecomers up to speed. +1. It can feel rude in video calls to interrupt people. This is because the latency causes you to talk over the speaker for longer than during an in-person meeting. You should not be discouraged by this, as the questions and context provided by interruptions are valuable. +1. We end on the scheduled time. Again, it might feel rude to end a meeting, but you're actually allowing all attendees to be on time for their next meeting. +1. It is unusual to smoke or vape in an open office, and the same goes for video calls - please don't do this out of respect for others on the call. + +For external meetings, the above is also helpful. We also have separate guidance on [how to run a great demo](/handbook/growth/sales/demos). + +### Indicating Availability + +1. Put your planned away time including holidays, vacation, travel time, and other leave in your own calendar. +1. Set your working hours in your Google Calendar - you can do this under _Settings_ > _Working Hours_. This is helpful as we work across different timezones. + +### Google Calendar + +We recommend you set your Google Calendar access permissions to 'Make available for PostHog - See all event details'. Consider marking the following appointments as 'Private': + +1. Personal appointments +1. Particularly confidential & sensitive meetings with third-parties outside of PostHog +1. 1-1 performance or evaluation meetings +1. Meetings on organizational changes diff --git a/pages/66.Handbook.SourceMaterial.company.culture/default.md b/pages/66.Handbook.SourceMaterial.company.culture/default.md new file mode 100644 index 0000000..20416ad --- /dev/null +++ b/pages/66.Handbook.SourceMaterial.company.culture/default.md @@ -0,0 +1,85 @@ +--- +title: 'All remote' +menu: 'All remote' +--- + +--- +title: Culture +sidebar: Handbook +showTitle: true +--- + +So, what's it like working at PostHog? + + + +## All remote + +Our [team](/handbook/company/team) is 100% remote, and distributed across over 10 countries. + +As well as the equipment you'll need, we provide [a budget to help you find coworking space](/handbook/people/spending-money#work-space) or to cover the costs of coffees for those who prefer not to work at home. + +All remote has a bunch of advantages: + +* We can hire [amazing people](/handbook/company/team) from a global talent pool. +* Being remote encourages a deeper level of personal thought and writing things down. +* It allows for uninterrupted work. +* It makes results clearer, which helps us hold people to account for outcomes rather than hours spent in the office. + +## Diverse & inclusive + +This is actually so important to us that it has [its own dedicated page](https://posthog.com/handbook/company/diversity). + +## Extremely transparent + +As the builders of an open-source product, we believe it is only right that we be as transparent as possible as a company. + +This isn't just a meaningless corporate statement. Most of our communication happens publicly on GitHub, our roadmap is open for anyone to see, and our open source handbook explains everything from how we hire and pay team members to how we email investors! + +Almost everything we do is open for anyone else to edit. This includes things like the contents of this very Handbook. Anyone can give direct feedback on work they think could be improved, which helps increase our responsiveness to the community. + +We're committed to much more than just [public code](/handbook/company/values#we-are-open-source). + +## We write everything down + +We're an all-remote company that allows people to work from almost anywhere in the world. With team members across many countries, it's important for us to practice clear communication in ways that help us stay connected and work more efficiently. + +* It creates clear and deep thought. +* We have an open core business model. This helps the community understand our decision-making. +* It is usually clearer than a conversation, so everyone can row in the same direction. +* It is very leveraged as we grow a large community and look to hire people around the world. + +To accomplish this, we use [asynchronous communication](/handbook/company/communication) as a starting point and stay as open and transparent as we can by communicating through public issues, pull requests, and (minimally) Slack. + +Putting things in writing helps us clarify our own ideas, as well as allow others to provide better feedback. It has been key to our development and growth. + +## Don't let others fail + +Everyone should help everyone else raise their game. Fatigue sets in when you complete a task, so it's easier for outsiders to help those creating the work to raise their game. + +We are direct about the quality of work. That doesn't always mean work needs to be completely polished, as it depends on the speed and impact of a task. Being great at [giving and receiving feedback](/handbook/people/feedback) is a key part of of our culture. + +## Bias for action + +If given a choice, go live. If you can't go live, reduce the task size so you can. + +* We are small, and can only win based on speed and agility. +* Going live forces a level of completion, on which you can build. + +Default to _not_ asking for permission to do something if you are acting in the best interests of PostHog. It is ok to ask for more context though. + +## Have fewer meetings + +We're big believers in the importance of the [maker's schedule](http://www.paulgraham.com/makersschedule.html). If we have meetings at all (which we try to avoid, see _"Write stuff down"_ above), we'll cluster them around any standups so our day doesn't get split up. On Tuesdays and Thursdays, we don't have internal meetings at all. Occasionally an external meeting will slip in on those days such as interviews, but we try to keep those to an absolute minimum. + +## Structured for speed and autonomy + +One of the benefits of hiring high-performing, self-sufficient, empowered team members is that we don't need to put in place some of the typical corporate structures and processes that can slow teams down. + +We have optimised for this by introducing [Small Teams](/handbook/people/team-structure/team-structure), which prioritise speed by delegating decision-making autonomy as much as possible. + +Right now, our [management approach](/handbook/company/management) is super simple - James H, Tim and Charles are the only managers, and everyone else reports to one of them. We don't want to create a fancy hierarchy of titles, as we believe this can lead, consciously or not, to people feeling less empowered to make changes and step on toes, especially if they are not in a 'senior' role. + +## A day in the life + + diff --git a/pages/67.Handbook.SourceMaterial.company.diversity/default.md b/pages/67.Handbook.SourceMaterial.company.diversity/default.md new file mode 100644 index 0000000..afc2468 --- /dev/null +++ b/pages/67.Handbook.SourceMaterial.company.diversity/default.md @@ -0,0 +1,69 @@ +--- +title: 'Diversity & inclusion' +menu: 'Diversity & inclusion' +--- + +--- +title: Diversity and Inclusion +sidebar: Handbook +showTitle: true +--- + +PostHog is proud to be an international group of misfits. You can't disrupt an industry by thinking the same way as everyone else. + +## Diversity & inclusion + +Diversity refers to the traits and characteristics that make people unique. While there are an infinite number of differences in humans, most people subconsciously define diversity by categories including gender, race and age. + +Inclusion refers to the behaviours and social norms that make people feel welcome. This includes everyone being treated fairly and with respect, and ensuring that everyone has equal access to opportunities and being able to contribute fully to the company’s success. + +We are aware that Diversity & Inclusion efforts are a lifelong work and that we will never have it all figured out and ‘done’. This means we will have to constantly learn and develop. This also means we will make mistakes - the important thing is that we learn from them. At PostHog, everyone is committed to building a culture of diversity, inclusivity and belonging. + + +## How diversity helps us + +At PostHog, we view diversity as a tactic, like paying people towards the top of the market, or communicating company goals to set context for our team. There is plenty of research into the link between highly diverse teams and increased [performance](https://www.ucdenver.edu/docs/librariesprovider68/default-document-library/jmna-articles-bonuscontent-2.pdf?Status=Temp&sfvrsn=84c0fb9_2) and [innovation](https://www.bcg.com/en-us/publications/2018/how-diverse-leadership-teams-boost-innovation). + +In order to build the most diverse team, we have introduced the [Rooney rule](https://en.wikipedia.org/wiki/Rooney_Rule) to our Recruitment process. Originally implemented by the National Football League (NFL) but increasingly used by companies, the Rooney rule requires at least one person of an underrepresented minority to be considered for every open position. + +In the context of tech and startups, categories of people who are underrepresented include those who identify as: +* A person of color +* Indigenous +* Women +* Members of the LGBTQ+ community +* Being from a working-class background +* Those who struggle with mental illnesses +* Having a disability whether visible or not + +Based on the Rooney rule, we are committed to not only consider a person of an underrepresented minority, but to bring at least one of them into the [final stage of the interview process](/handbook/people/hiring-process/#posthog-superday). In order to be successful with our approach, we focus on diversifying the top of the recruitment funnel. We are committed to not making an offer until we have brought an underrepresented candidate into the final stages. + +We are currently trialing this approach and we still have some limitations to overcome: +* We don’t currently track diversity data as part of the application process. While some characteristics of underrepresentation will be visible in the interview process, others are not. +* For some roles (e.g. Full-Stack Engineer), we hire constantly. This makes the Rooney rule a little harder to make meaningful, but we also want to make sure to keep the pipeline as diverse as possible. +* Speed is a core PostHog value, and that includes hiring. So we need to work out how to be fast, deliver a great candidate experience, while also doing a better job at diversifying our hiring. + +## An inclusive place to work + +We are always keen to find ways to make the culture at PostHog as inclusive as possible. We are by no means perfect, but we are committed to acting with positive intent and pushing ourselves to improve. + +We don't just state that we care - these are some of the things we've implemented so far: + +* [All remote](/handbook/company/team) - so we can hire people from any country in the world. We have people in ~10 countries, with no office. We also provide everyone with $200/month to use on a coworking space of their choice. +* [Asynchronous and transparent communication](/handbook/company/communication) - so people can get the context they need to work effectively across multiple time zones and on schedules that suit them. +* [Unlimited vacation policy](/handbook/people/time-off/#permissionless-time-off) with mandatory minimum time off - so you can fit work around your life. +* Very [generous parental leave](/handbook/people/time-off/#parental-leave) - so those raising families can do so while still working for us. +* Very generous and [transparent pay](/handbook/people/compensation) - to reduce the financial stress that often comes with working for startups, or prevents many from even applying. +* Proactive recruitment to encourage underrepresented groups of people to apply - so we are meeting with a balanced group of applicants for every role. +* Anyone can contribute to [our handbook](/handbook/) - so if we miss something, others can ask for a change in our policy! +* [Paid SuperDay](/careers#the-process) as part of the hiring process - to allow you to see what it's really like working on the team, before starting. +* [Training budget](/handbook/people/training#training-budget) for those in roles where we don't have lots of existing experience as a company. +* Life story Fridays (when we have a new team member, we'll ask them to present their life story for an hour on a Friday) - so you have more context on the points of views of others in the team. +* [Sponsored visas](/handbook/people/hiring-process#visa-sponsorship) for those who need them. +* Health insurance for those from countries that do not provide this freely. +* Mental Health Counselling provided via our partner [Spill](https://www.spill.chat/). + +Are you a potential candidate reading this? [Let us know](mailto:careers@posthog.com) how we can do a better job! + +## Thinking about working here? + +Check out our [careers](/careers) page to see if there could be a fit, or drop us [an email](mailto:careers@posthog.com). diff --git a/pages/68.Handbook.SourceMaterial.company.intro/default.md b/pages/68.Handbook.SourceMaterial.company.intro/default.md new file mode 100644 index 0000000..cad9407 --- /dev/null +++ b/pages/68.Handbook.SourceMaterial.company.intro/default.md @@ -0,0 +1,128 @@ +--- +title: 'TSYS Group overview and introduction' +menu: 'TSYS Group overview and introduction' +--- + +# TSYS Group overview and introduction + +## Introduction + +Welcome to the TSYS Group Company Handbook. This explains how we operate as a company. + +If you are considering joining TSYS Group, or have recently joined, this section will help you navigate the Handbook and highlight some of the most important things you should know about supporting the TSYS Group mission. + +The reason for making this transparent is to improve our communication, one of our [key values](/board/values). + +Anyone can submit a pull request to suggest updates or enhancements to this handbook through the [TSGHandbook repo](https://git.turnsys.com/TSGBod/TSGHandbook) + +We treat this handbook as part of our Docs. Learn how to [update them](/docs/updating-documentation). + +## Big picture + +We encourage everyone to start at the beginning first before diving in. We have a strong bias for action, but it is still worth taking a step back and looking at the 'why' first. This helps ensure sure you have the right context and are working on the right things. + +You should start with the '[Company](//company/story.md)' section and work your way through everything there. It is not a lot to read. In particular, the sections on our [Strategy](/strategy/strategy) and [Roadmap](/strategy/roadmap) are a must-read for everyone. + +Next, familiarize yourself with our approach to [Culture](//company/culture) and our [Values](/company/values). You might take a bit of time to adjust to TSYS Group way of working, and that's ok! In addition to bias for action, you may find that you have a lot more autonomy than you are used to here - you'll realise very quickly that you _shouldn't_ be asking for permission for most things. + +## How we work + +Now it's time to dive into some of the more practical stuff - these are the most important pages: + +1. [Communication](/company/communication) - we have a distinctive style. If TSYS Group is your first all-remote organization, this page is especially helpful. +2. [Team structure](/people/team-structure/team-structure) - we are structured in Small Teams. These pages will help you get the lay of the land, and who does what. +3. [Management](/company/management) - we have a relatively unusual approach to management, and it is possible that you will not be familiar with our approach. + +### Working in Git + +We use [GitHub](https://git.turnsys.com/explore) for _everything_, including non-engineering task management. This might take some getting used to if you are non-technical. + +We use Projects to track the status of Issues in an easily viewable way. It is up to each Small Team to decide how to manage their tasks, and you'll find most have a dedicated Project - [full list here](https://github.com/orgs/PostHog/projects) - and run two week sprints. As part of the onboarding process, you will be invited to the relevant planning meetings. + +## Onboarding + +Our [onboarding checklist](/people/onboarding) will take you through all the main admin bits you need to get set up, The list will vary slightly depending on where you are based and which Small Team you are in. The People team will create an Issue in the Internal repo to track your personal checklist. + +### Other useful resources + +It is worth trying to at least read the entire Handbook once, even if you skim over the other sections. If you are engineer, the CTO and CIO sections will obviously be very useful, but you might want to know how we're approaching our Sales (CRO) or Marketing (CMO) strategy or other aspects. Everything is here in this handbook for everyone to read. + +## TSYS Group Mission + +TSYS Group is a collection of entities whose common goal is providing internet connectivity to everyone in all of North America (in particular rural areas) for $25.00 per user +per month. + +## Who does TSYS Group serve? + +Everyone in North America and international waters who wants internet connectivity. + +## What does the TSYS Group do? + +The TSYS Group seeks to handle every aspect of internet connectivity, soup to nuts. From design and manufacture of the equipment, to +educating users on it's safe and efficient operation to raising the capital for the venture. + +## Where can you contact TSYS Group? + +Website: www.turnsys.com + +## TSYS Group Brands + +### Redwood Group + +The below table documents the not primarily for profit entities performing capital raising and management for TSYS Group entities and their members. + +| Entity | Description | Website | +| -------------------------------------------------- | ------------------------------------------------------------------------------------------------- | ------------------------ | +| Redwood Group LLC | Sibling organization to TSYS Group for all capital raising and management | | +| Redwood Springs Capital Partners Management Co LLC | management company of the various funds setup to finance TSYS Group operations | | +| Redwood Family Office LLC | Wealth management/healthcare/estate planning/tax advice broker for LLC members and their families | | + +### Non Profit Properties + +The below table documents the non profit entities performing the educational, advocacy, lobbying and legislative functions for TSYS Group. + +| Entity | Description | Website | +| ---------------------------------- | ---------------------------------------------------------------------------------------------------------------------- | ------------------------------- | +| Americans For A Better Network INC | A non profit (seeking 501c3 status) to educate americans about internet provider choices | | +| Free Network Foundation INC | A defunct 501c3 (replaced by AFABN) | | +| Free Network Foundation INC | (wiki) comprehensive body of knowledge about community networking | | +| Free Network Foundation INC | (static files) Assets (pdfs etc) linked from blog/wiki | | +| Side Door (Solutions) Group INC | A non profit (seeking 501c4) / PAC to drive the necessary legislative and executive changes to enable internet for all | | +| TSYS Group Non Profit Portal | Landing page for non profits | | + +### For Profit Properties + +The below table documents the not primarily for profit entities performing the R&D and providing supporting services functions for TSYS Group. + +| Entity | Description | Website | +| ------------------------------------------ | ---------------------------------------------------------------------------------------------- | ------------------------------------ | +| Axios Heart Studios LLC | Art, 2d,3d and other fabrication services for TSYS Group | | +| Suborbital Systems Development Company LLC | Manufacturer of Morse product line - technical blog and information | | +| Suborbital Systems Development Company LLC | Manufacturer of Morse product line - product page | | +| RackRental LLC | network and lab equipment rental by the hour for training, config testing, competitive testing | | +| Team Rental LLC | HR/staffing of IT/dev professionals (2 million net new job goal by 2025) | | +| Known Element Enterprises LLC | IT/business back office services | | +| Your Dream Name Here LLC | Business in a box | | +| The PeerNet LLC | Community, media, public relations / (live/time shifted) streaming/broadcast service | | +| The PeerNet LLC | Software platform powering ThePeerNet.com service | | + +### Coop Properties + +The below table documents the fairshares cooperatives for financing, building, owning and operating community networks. + +| Entity | Description | Website | +| ----------------------------------------- | -------------------------------------------------------- | -------------------------------- | +| High Flight Network Finance Company LLC | Financing network builds | | +| High Flight Network Operating Company LLC | User owned/operated network backbone | | +| KickFund.me LLC | Crowdfunding of network and other infrastructure builds | | +| The Campus Trading Co LLC | treasury/investment management/market and other research | | + +### Misc Properties + +| Entity | Description | Website | +| -------------------- | -------------------------------------- | -------------------------------- | +| CNWCO LLC | Charles Wyble blog | | +| Turn Net Systems LLC | Overall entity for many subsidiary LLC | | +| Turn Net Systems LLC | Governance information for TSYS group | | + +Please see for more information. diff --git a/pages/69.Handbook.SourceMaterial.company.management/default.md b/pages/69.Handbook.SourceMaterial.company.management/default.md new file mode 100644 index 0000000..f6d1b76 --- /dev/null +++ b/pages/69.Handbook.SourceMaterial.company.management/default.md @@ -0,0 +1,74 @@ +--- +title: 'Defining the role of manager' +menu: 'Defining the role of manager' +--- + +--- +title: Management at PostHog +sidebar: Handbook +showTitle: true +--- + +As we grow, we'll increase the number of managers at PostHog. Here's what a manager at PostHog looks like. + +## Defining the role of manager + +A manager at PostHog has two tasks: +1. Making sure their direct reports are happy and productive +1. Setting the right context for direct reports to do their job + +That's it. + +A manager at PostHog is _not_ responsible for: +1. Setting compensation (we have transparent compensation) +1. Setting tasks for their direct reports +1. Creating a career path (career paths should be transparent and documented, and for now centrally managed) +1. "Approving," whether that's projects, expenses, days off or accounts (people should have admin access by default to most things) +1. Giving feedback (managers give feedback in their capacity as individual contributor, but so does everyone else) + + +## What does setting context mean? + +At PostHog, we exclusively hire people that are the best in their field. +That means managers won't need to spend time telling their direct reports what to do. + +However, for those people to make the best decisions, they need context. That context can be: +- what a customer said was or wasn't important to them +- what the metrics are saying needs to be improved +- what another team in the organisation is working on +- what the overall goals are for PostHog + +The shift here, and the biggest difference between PostHog and other places, is that in the end it is up to the individual to make the decisions. +All you can do as a manager is set context. From there, you'll have to trust that we've made the right hiring decisions and that the individual is able to execute on that. If they can't, we have a [generous severance policy](/handbook/people/compensation#severance). + +Decisions aren't just about buying a piece of software or choosing a color for a button. It's also about what to work on, what to invest time in, or where to take entire parts of our product. + +Again, we've hired the best people and have high talent density, so we trust everyone to make these kinds of decisions. + +As a manager, it's tempting to see yourself as the sole owner of all the information, and give it out sparingly. +People will come to you often with questions (because they don't have the context) and when they do you'll get more validation that holding all the context yourself makes you an Important Person. + +What managers should aim for at PostHog is to make themselves obsolete. Share as much context as possible, preferably in written form in a public channel. That way everyone will be able to do their best work. + +## Part-time managers + +Because of the relatively short list of tasks that managers have, management at PostHog is a part-time job. +That means everyone, including the CEO and CTO, still spend the majority of their time on practicing what they do best (which likely isn't management!). + +As an engineer, you wouldn't respect the opinion of someone who can't code on a coding specific question. +As a designer, you really want your manager to have an eye for design. +As an operator, you want to be managed by someone who has scaled a business. +That's why it's important for managers to keep practising their craft. + +Management tasks do come first, as giving context to your team tends to have a multiplying effect vs getting one more PR out. After that though, it's back to work. + +## Anti silos + +There are teams at PostHog that need to work across functions, so we have an anti-silo approach when it comes to the tasks that people work on. + +That means: +* Task setting happens transparently in [Small Teams](structure). Anyone can read notes from or show up to any of the sprint planning meetings. +* Anyone can give feedback to anyone else on their priorities, and it's our expectation they do so. +* Every [Small Team](structure) has complete control over what they ship. + +This has the added benefit of cross functional teams forming as needed, whilst people having a specialist manager (i.e. an engineer managing engineers) as far as we are able. \ No newline at end of file diff --git a/pages/70.Handbook.SourceMaterial.company.security/default.md b/pages/70.Handbook.SourceMaterial.company.security/default.md new file mode 100644 index 0000000..882ea4a --- /dev/null +++ b/pages/70.Handbook.SourceMaterial.company.security/default.md @@ -0,0 +1,26 @@ +--- +title: 'Password Managers' +menu: 'Password Managers' +--- + +--- +title: Security +sidebar: Handbook +showTitle: true +--- + +It is critical that everyone in the PostHog team follows these guidelines. We take people not following these rules very seriously - it can put the entire company and all of our users at risk if you do not. + +## Password Managers + +You **must** make use of a password manager; it simply isn't possible to use appropriate passwords securely without one. + +PostHog uses [1password](https://1password.com/) for storing all passwords. + +## Password Strength + +Please use strong passwords for everything. Use the 1password password generator that comes with the app in all cases. Do not repeat passwords across different sites. + +## Dual Factor Authentication + +You should enable dual factor authentication for any account where the option is available, especially those which are core to your work. diff --git a/pages/71.Handbook.SourceMaterial.company.standups/default.md b/pages/71.Handbook.SourceMaterial.company.standups/default.md new file mode 100644 index 0000000..d0577ea --- /dev/null +++ b/pages/71.Handbook.SourceMaterial.company.standups/default.md @@ -0,0 +1,40 @@ +--- +title: 'Daily Standup Schedule' +menu: 'Daily Standup Schedule' +--- + +--- +title: Daily Standups +sidebar: Handbook +showTitle: true +--- + +While we default to [written and asynchronous communication](/handbook/company/communication), we find that having a few regular touch points for the whole team to come together on a call useful for sharing certain types of information, strengthening our culture and discussing more dynamic issues in real time. + +We keep these minimal in terms of time expectation - no more than 2hrs total per week. They are usually scheduled around 8.30am PDT/4.30pm GMT to allow people across multiple timezones to attend more easily. + +You should have been invited to our regular standups as part of your [onboarding](/handbook/people/onboarding). + +## Daily Standup Schedule + +- **Monday** - PostHog News. Members of the team share company-wide updates about things like recruitment, product metrics and commercial performance. The content of these meetings is always confidential. We then go around the team and each person summarises what they did last week and what they plan to do this week. +- **Tuesday** - No standup (we keep Tuesdays meeting-free). +- **Wednesday** - Anyone can propose to have a meeting about any topic. Stuck with a technical problem? Want to get feedback on something? Want to brainstorm? Schedule those meetings during this timeslot and advertise in Slack. +- **Thursday** - No standup (we keep Thursday meeting-free). +- **Friday** - These alternate between Sprint Planning and Life Stories. + +### Sprint Planning + +This is a longer 45min meeting every other Friday where we review the previous two week sprint and then outline what we want to achieve in the next 2 weeks. We split into Engineering and Not Engineering teams for this, but schedule the meetings sequentially so that anyone can sit in on both if they would like to. + +You will be asked to add your comments to the relevant GitHub planning issue in advance of each meeting on Slack the day before. + +### Life Stories + +Alternating with Sprint Planning, Life Stories we hear from 1-2 members of the team who share a bit about themselves with us. No particular format - it's one of the few times a presentation makes sense! Each team member has up to 30min, inclusive of Q&A. These are a fun opportunity for us to get to know a bit about the people we work with, what cool things we didn't know about them, and whether or not they believe that pineapple belongs on pizza... + +## Standup Bot + +Outside of the above meeting schedule, we still write up our tasks in a standard format in Slack - you will be prompted by Standup Bot. You will be asked what you did since the last standup, what you plan to do before the next one, and any issues or blockers you might have. + +This means that everyone still has visibility and context for what everyone else is working on, but delivered in a format that is quick to digest and easier to respond to. We don't do this on meeting-free Tuesdays and Thursday, to minimise interruptions. diff --git a/pages/72.Handbook.SourceMaterial.company.story/default.md b/pages/72.Handbook.SourceMaterial.company.story/default.md new file mode 100644 index 0000000..77548c4 --- /dev/null +++ b/pages/72.Handbook.SourceMaterial.company.story/default.md @@ -0,0 +1,63 @@ +--- +title: 'The start - January, 2020' +menu: 'The start - January, 2020' +--- + +--- +title: Story +sidebar: Handbook +showTitle: true +--- + +## The start - January, 2020 + +PostHog was founded by James and Tim on January 23rd, 2020. + +We started working together on a startup in August 2019 with the first idea being to help engineers manage technical debt. It didn't work out, but we realized the power of treating growth as an engineering problem. We also knew that many engineers struggle to understand their impact on their users. + +There are plenty of product analytics tools out there, but all the alternatives are SaaS-based. While they are very powerful, they can be frustrating for developers. From our perspective, these tools can be problematic because: + +* We didn't want to send all our user data to 3rd parties. +* We wanted full underlying data access. +* They don't give you choice and control over pricing. + +## Launch - February, 2020 + +We got into YCombinator's W20 batch, and just a couple of weeks after starting realized that we needed to build PostHog. + +We launched on [Hacker News](https://news.ycombinator.com/item?id=22376732) with our MVP, just 4 weeks after we started writing code. + +The response was overwhelmingly positive. We had over 300 deployments in a couple of days. 2 weeks later, we'd gone past 1,500 stars on [GitHub](https://github.com/PostHog/posthog). + +Since then, we've realized that the same reasons that PostHog was appealing to us as individual developers are the reasons why many enterprise customers also find the software is very appealing. We got a lot of inbound demand, and realized we weren't just onto a cool side project, we were onto what could be a huge company. + +## \$3M Seed round - April, 2020 + +After we finished YCombinator, [we raised a \$3.025M seed round](../../blog/raising-3m-for-os). This was from YCombinator's Continuity Fund, 1984 Ventures. You can learn more about how we raised the money. + +As we started raising, we started hiring. We brought on board [Marius, Eric and James G](../../handbook/company/team). + +## First 1,000 users - May, 2020 + +We kept shipping, people kept coming! + +## Billions of events supported - October, 2020 + +This was a major update - PostHog started providing [ClickHouse support](../../blog/the-posthog-array-1-15-0#clickhouse-). Whilst we launched based on PostgreSQL, as it was the fastest option, this enabled us to scale to billions of events. + +## Building a platform - November, 2020 + +We realized that our users, whether they're startups, scale ups or enterprises, have simple needs across a broad range of use cases in understanding user behavior. + +PostHog now supports [product analytics](../../product-features/trends), [feature flags](../../product-features/feature-flags), [session recording](../../product-features/session-recording) and [plugins](../../product-features/plugins) (beta). + +## $9M Series A - December, 2020 + +We kept growing organically and took the opportunity to raise a \$9M Series A, topping our funding up to [$12M](../../blog/posthog-announces-9-million-dollar-series-A) led by [GV](https://www.gv.com/) (formerly Google Ventures). + +Our focus remains firmly product, engineering and design oriented, so we're increasing our team in those areas. + +We've now people in 10 countries around the world, and still feel like it's day one. + +Everyone takes a mandatory two weeks off over Christmas to relax. + diff --git a/pages/73.Handbook.SourceMaterial.company.team.charles-cook/default.md b/pages/73.Handbook.SourceMaterial.company.team.charles-cook/default.md new file mode 100644 index 0000000..210412d --- /dev/null +++ b/pages/73.Handbook.SourceMaterial.company.team.charles-cook/default.md @@ -0,0 +1,64 @@ +--- +title: 'Bio' +menu: 'Bio' +--- + +--- +title: Charles Cook's README +sidebar: Handbook +showTitle: true +--- + +This guide might be helpful in working with me. + +## Bio + +Born and raised in the United Arab Emirates, I'm half British, half Lebanese, and lived in a variety of places growing up across the Middle East, Africa and Europe. Now based in London, I live with my wife Steph and son Remy, who was serendipitously born right at the beginning of lockdown here in the UK. + +I take care of all things business ops-related at Posthog, across finance, people, legal and basically anything else that doesn't involve actually building the product! Posthog is now my 3rd startup - I was previously COO at [Vitl](https://vitl.com), (personalised nutrition), and before that I was Director of Product at [ROLI](https://roli.com) (electronic music products). + +I'm a big fan of terrible jokes, beautifully crafted sandwiches and looking at [designer houses](https://www.themodernhouse.com/) I will never live in. I like to occasionally torment my son with my piano playing and spend more time than is probably reasonable making lists of things, à la [High Fidelity](https://en.wikipedia.org/wiki/High_Fidelity_(film)). + +## Areas of responsibility + +- Making sure all our business operations run smoothly +- All of our finance stuff (accounting, tax etc.) +- Any legal matters, including compliance and privacy +- Sales operations, ie. making sure we follow up with customers, generating quotes +- Customer support oversight +- I contribute a lot to our people and culture initiatives +- Investor relations and fundraising ops, supporting Tim and James +- I do regular 1-1s with most of the team to chat about non-work stuff + +## Quirks + +- I'm hyper responsive across any channel (email/Slack/whatever) - don't worry about interrupting me if you have a question! Always happy to take a quick call too if you prefer. +- I definitely err on the side of speed at the expense of polish. Sometimes this means I don't take enough time to bring other people on board when I should. +- I tend towards being generous with spending money, _especially_ if it means getting something done faster. +- I make a lot of jokes at my own expense. I encourage you to as well. +- You don't have to 'earn' my trust - I like to assume high trust with people I work with from the start and go from there. +- I don't respond to work emails at evenings or weekends. I do have Slack on my phone if something really urgent comes up though. Please don't abuse this. + +## What I value + +- [Brutal honesty, delivered kindly](https://feld.com/archives/2014/08/brutal-honesty-delivered-kindly.html). +- Kindness generally, in fact. +- Not taking yourself too seriously and keeping a sense of perspective. +- Speed - I can get frustrated if people don't move as quickly as I like to. +- People who understand privilege and how it affects power dynamics. +- Taking on something that is outside your comfort zone if no one else is available. + +## How I can help you + +- I can help you figure out where X account is, what our Y number is or where we keep Z thingy. +- I can help you unblock any legal or financial issues. Anything admin-related really. +- I can be a listening ear any time you need, for work or non-work stuff. +- I can provide you with general career advice, especially if you are interested in people management. + +## How you can help me + +- Tell me what we could be doing better from a company-building perspective. I'm particularly interested in unusual ideas. +- Let me know when I need to slow down and do something to a higher standard. +- I try to make sure our ops systems for things like expenses have an absolutely minimal impact on your time. Please don't make me chase you for boring admin stuff like that. +- If you need something from me, let me know when you need it by. Otherwise I'll probably do it immediately. + diff --git a/pages/74.Handbook.SourceMaterial.company.team.tim-glaser/default.md b/pages/74.Handbook.SourceMaterial.company.team.tim-glaser/default.md new file mode 100644 index 0000000..37bc1e6 --- /dev/null +++ b/pages/74.Handbook.SourceMaterial.company.team.tim-glaser/default.md @@ -0,0 +1,73 @@ +--- +title: 'Bio' +menu: 'Bio' +--- + +--- +title: Tim Glaser's README +sidebar: Handbook +showTitle: true +--- + +This guide might be helpful in working with me. + +## Bio + +I've been coding since I've been 11, which isn't as long ago as I'd like it to be. Someone first paid me to write code when I was 13 (though I'm sure they regretted it) and someone else gainfully employed me when I was 16. + +Originally from the Netherlands, though I quickly moved to London (I do not generally enjoy nice weather) where I joined Arachnys and shortly met James Hawkins. I went from being a software engineer, to product manager, to "leading" an R&D team, which consisted of just me. + +After four years I thought it was time to go do something else and had lined up a new job. Roughly 37 seconds after it was announced James wanted to "grab a beer." While plying me with alcohol, he convinced me to give up this fancy new job and instead start a startup with him. + +In my 'spare' time, I fall down snowy mountains, wrestle in the mud over an egg-shaped ball and watch a lot of Bondi beach in order to perfect my Australian accent. + +## Areas of responsibility + +- Build the engineering team +- Make sure we move fast +- Make sure the engineering team has all the context it needs +- Make sure the engineering team is happy +- Make sure we're building in the right direction +- Sounding board to James Hawkins (CEO) + +## Quirks + +- I come out with opinions quickly and strongly. They are actually weakly held so please push back when you disagree, I'll take it well. +- I will likely talk way too much. Please just interject/talk over me. +- A lot of what I say sounds like a definitive statement ("this is what we're going to do") when I actually mean "here's something we could do". +- I'm easily distracted in meetings and can come across as disinterested. It's something I'm working on but if you notice I'm drifting off please mention it. +- Weekends are holy to me and I'll almost never work on a weekend (and don't expect anyone else to!). I also don't like to have meetings after ~8pm my time, or before 10-11am. +- Please don't message me "hey" and then spend 3 minutes typing your question. Adding those two together is fine. +- I like my meetings clustered together. +- I can be too frugal with company money. + +## What I value + +- Ownership. Please don't wait for me to give the go-ahead. Bias over action. +- People who get things done without me having to chase. I love it if we mention something should get done and there's a PR for it the next day. +- Speed. It's much easier to get things right if you take more shots at goal. Let's just get something up and iterate on it. +- Receiving feedback. Please give me a ton of feedback, I still have a huge amount to go and will only improve if I get feedback. +- When I give feedback, I'd appreciate if you consider it first before defending yourself. I may have gotten it wrong and feel free to push back, but I don't like it when people start defending themselves straight away. +- I'm not a big fan of meetings. Please write your thoughts up in a GitHub issue/PR first. We can always have a meeting after that which will likely be more productive. +- I like short, to the point writing. Use short words, bullet points and screenshots. +- Directness. If you don't like something please just say so. + + +## How I can help you + +- I can help you figure out how to build something in 1/2 the time you think it should take +- I can help you figure out what you should be working on +- I can help you figure out what to do in your career +- I can help be a rubber duck +- I can help bounce ideas around + +## How you can help me + +- Come to 1:1s with an agenda and clear things I can help with +- Give me feedback +- Bring up problems, don't hide them. As a startup we'll always have a million problems, it's our job to surface those and fix the important ones. + +## Nomading + +I currently don't have a fixed address, and tend to move places every 2-3 months. If I remember to update it, [you can see where I am and where I'm going here](https://nomadlist.com/@timgl). I'd love to meet up with anyone if it's within a reasonable distance (and sometimes even if it's not). Would love for you to reach out and organise something. + diff --git a/pages/75.Handbook.SourceMaterial.company.values/default.md b/pages/75.Handbook.SourceMaterial.company.values/default.md new file mode 100644 index 0000000..aaa516a --- /dev/null +++ b/pages/75.Handbook.SourceMaterial.company.values/default.md @@ -0,0 +1,47 @@ +--- +title: 'We are open source' +menu: 'We are open source' +--- + + +We think of the company as a product, not just the software we're building. This is what we *currently* value in how we operate - this may evolve as we grow. + +## We are open source + +Building a huge community around a free-for-life product is key to [PostHog's strategy](/handbook/strategy/strategy). + +We default to transparency with everything we work on. That means we make public our handbook, our roadmap, how we pay (or even let go of) people, what our strategy is, and who we have raised money from. + +This enables the strongest community growth possible. It causes the core team to raise the bar on their work, it provides the context needed for people to work across multiple timezones, and it enables a deep work-heavy and meeting-light culture. It creates trust. + +## We haven't built our defining feature yet + +We will never stop innovating. + +The more valuable we make our product, the better every team in the company will perform. That means more features, more polish, fewer bugs, and pushing for as much ambition as possible. + +You learn faster by getting what you're working on into the real world. We expect you to ship new designs, features or whatever is needed for your role in tiny chunks, frequently, and often a little before you feel ready. + +Iteration is a *huge deal* to us. + +## Everyone codes + +...although this doesn't mean everyone has to be a software developer, and not everyone needs experience in this before they join. + +Our platform is built for developers, and we use GitHub to build a large community of technical users. Being able to do the basics of shipping, no matter your role, helps understand the people who we're building for and it helps empower teams outside of engineering with greater context. + +Whether you're a designer or you're in operations, we will encourage and help you to be able to make basic changes to our website and docs on GitHub. + +## Step on toes + +PostHog is driven by context-based leadership. We'll explain what we need to achieve, but the reason we hire the best people is that they know what to do. + +We expect you to pick out the very most important thing you can think of, and work on that. It is *not* ok to follow instructions blindly - not that you're likely to receive instructions in any case. We judge your performance based on the results you deliver overall. You'll make a lot of mistakes along the way - and that's ok! What matters is that you're making mistakes quickly, iterating, and getting better over time. + +Likewise, [we don't expect you to watch your colleagues fail](/handbook/company/culture/#dont-let-others-fail) - it is a basic part of working at PostHog that you provide direct feedback to those around you. If you don't give feedback when you see something going wrong, you have missed an opportunity to make PostHog better. + +## Talent compounds + +Getting into PostHog is a huge challenge. Once you're here, it stays that way. We are *extremely* demanding of performance. What is most important to us is the quality of your output - not the number of hours that you put in. + +In return, you get to work with others producing the best work of their careers. We are a team, not a family - we pay top of market, offer exceptional benefits, provide an environment for you to do your best work, and give generous severance. diff --git a/pages/76.Handbook.SourceMaterial.company.working-with-design/default.md b/pages/76.Handbook.SourceMaterial.company.working-with-design/default.md new file mode 100644 index 0000000..b234aae --- /dev/null +++ b/pages/76.Handbook.SourceMaterial.company.working-with-design/default.md @@ -0,0 +1,125 @@ +--- +title: 'working-with-design' +menu: 'working-with-design' +--- + +--- +title: Working with Design +sidebar: Handbook +showTitle: true +--- + +Design is currently a shared resource at PostHog. This explains what we do, our design process, and how we can assist across the PostHog team. + +## Design's Role at PostHog + +1. Support Small Teams (and contributors) in building better versions of PostHog +1. Enable customers to build better products (using PostHog) +1. Communicate to prospective customers the value we provide + +### Tangibly, we: + +1. Initiate new projects to support the roles listed above +1. Support Small Teams in completing their sprint tasks +1. Iterate based on feedback from customers + +## Our Process + +Design tasks are managed with our [GitHub Org project](https://github.com/orgs/PostHog/projects/3), otherwise known as our Design Board. This aggregates design-related tasks from the main three repositories for the company: + +1. [PostHog app](https://github.com/PostHog/posthog) - open source repo +1. [posthog.com](https://github.com/PostHog/posthog.com) - website + docs +1. Internal - higher-level company strategy + +### How Our Design Board Works + +Cards generally move from left to right. + +1. **Backlog** - Things on our radar, and where triaged requests will land unless they're urgent enough to pick up immediately +1. **This week** - Equivalent of our sprint +1. **In progress** - Tasks we've started but haven't completed +1. **Awaiting implementation** - In development or in review +1. **Done** - Shipped! 🚀 + +## Design Request Process + +Since design is currently a shared resource, the best way design requests can be handled is by creating an issue in the relevant repository, then adding to the _Design_ project. + +![image](https://user-images.githubusercontent.com/154479/114764251-b759b500-9d31-11eb-9767-c9fd9aad25b2.png) + +After triaging, the Issue will appear in our [GitHub Org project](https://github.com/orgs/PostHog/projects/3) where we manage our current design projects. + +The following details will help us triage incoming requests: + +1. What do you need designed and why? +1. What is the deadline? + +**Note:** We may defer some design requests if we're planning a larger overhaul in the near term. For example, if a request is to create an icon, we may suggest an alternate solution (like pulling an icon from The Noun Project) if we have a larger plan for revamping all icons in a section in the near future. + +### When to Loop in Design + +Because we hire self-starters, there is no expectation that every project should start by running through design _first_. + +Depending on your preferred workflow, there are different ways we can get involved. + +When looping in design, be sure to reference a GitHub issue so we have full context of the problem. Threads should primarily be kept on GitHub. (If an Issue is time-sensitive, mention the Issue on Slack in `#design-feedback`.) + +_The scenarios below largely pertain to work on the main PostHog app._ + +**If you built something and just need some polish...** + +Feel free to share a link (or screenshot) of what you've built. We can provide UX or design feedback for your consideration. + +**If you built something and realize it needs some UX love...** + +Share a link (or screenshot) of what you've built. Depending on the state of the project, we can either go back to the wireframe stage to rethink some things, or figure out a phased approach to incremental improvement. + +**If you designed your own wireframes or mocks...** + +Sometimes if you have domain knowledge or have been thinking about a project for a while, it might make more sense for you to start the design process. Feel free to share with us for a second opinion, or if you think certain UIs or flows are suboptimal. + +**If you'd like some design help before you break ground...** + +More like a typical product development process, please share the high level goals or spec, or any other documentation you have about a feature or enhancement. Be sure to specify the line between MVP and nice-to-haves. + +**Need help brainstorming a flow?** + +Provide as much documentation about the goals of the project. Depending on the project, we may be able to sketch out some ideas and share in the GitHub issue. + +In some cases, it may make sense to jump on a Zoom to sketch out some ideas together. + +## Sharing work in progress + +We often share designs in early, unfinished phases. Since our audience is developer-friendly, we have a built-in audience to gut check our designs and solicit feedback. + +When providing feedback, it's worth keeping in mind the level of fidelity of the mockup we're sharing for feedback. + +### Wireframes + +If an early draft is being shared, we'll build a wireframe in Balsamiq. At this stage, we're mostly focused on laying out content, crafting messaging, and loosely tying in a visual hierarchy and layout. (Don't look too closely at fonts, specific colors, or visualizations - those come later.) + +_Note: Balsamiq uses its own Comic Sans-style font. Don't get hung up on this!_ + +![image](https://user-images.githubusercontent.com/154479/114972248-2b887b80-9e4c-11eb-92fe-bce7bf14c808.png) + +### Mockups + +Once a design is laid out, we'll move into hi-fidelity mockups built in Figma. This process usually takes a few rounds to perfect, and we often iterate up until the moment the design is passed off for development. + +### Providing feedback + +We typically share links to mockups in the relevant GitHub Issue. + +When we share a design, we do our best to explain the type of feedback we're looking for. (Ex: Overall visual aesthetic, flow, if a design communicates to our developer-focused audience, etc.) + +Our main design tools, Balsamiq and Figma, both have built-in commenting. If your feedback is specific to an element on the page, please leave a comment inside the app's comment system. This helps us review and take action on comments later. + +If your feedback is higher level, summarize your feedback in the GitHub Issue itself for a higher-level discussion. + +## Slack + +We often use the `#design-feedback` Slack channel to share updates when we're particularly interested in feedback. We'll always link to the relevant place for discussion. (It's best to keep direct feedback off of Slack.) + +This Slack channel isn't limited to the design team. If you're looking for a second opinion on the UX of something you're building, we encourage anyone to share screenshots and a link to Figma or wherever the mockup was produced so we can provide useful feedback or assist in iterating on a design. + +If the design requires further collaboration, create an Issue. diff --git a/pages/77.Handbook.SourceMaterial.engineering.beginners-guide.developer-workflow/default.md b/pages/77.Handbook.SourceMaterial.engineering.beginners-guide.developer-workflow/default.md new file mode 100644 index 0000000..759b817 --- /dev/null +++ b/pages/77.Handbook.SourceMaterial.engineering.beginners-guide.developer-workflow/default.md @@ -0,0 +1,70 @@ +--- +title: 'Backend w/ Vscode' +menu: 'Backend w/ Vscode' +--- + +--- +title: 4. Developer Workflow +sidebar: Handbook +showTitle: true +hideAnchor: true +--- + +If you haven't already, it's worth your time to read [Contributing to PostHog](https://posthog.com/docs/contributing). + +Most developers use either [vscode](https://code.visualstudio.com/) or [pycharm](https://www.jetbrains.com/pycharm/) but +you are free to use whatever IDE makes the most sense to you. + +## Backend w/ Vscode + +1. Create a git branch +2. Start PostHog with `bin/start` +3. Open app in Chrome and login +4. Open Chrome devtools to network tab +5. Navigate to scene (aka screen or page) and click on the area of interest +6. Find network request in devtools and find request + - Request maps to ./posthog/api/*.py, i.e. http://localhost:8000/api/insight/funnel/?insight=FUNNELS -> ./posthog/api/insight.py:197 +7. Make code changes including tests + - Use [print()](https://realpython.com/python-print/) as needed for debugging + - Some developers prefer [Pycharm](https://www.jetbrains.com/pycharm/) for local development +8. Run backend tests + - `bin/tests posthog` runs only posthog tests excluding ee tests + - `./bin/tests ee/clickhouse/queries/test/test_trends.py -k test_active_user_math` for specific tests +9. Commit changes to git branch +10. Open PR for review + - Include Github issue number `#1234` which Github will automatically link for you + +## Frontend w/ Vscode + +1. Same as backend 1-5 +2. Find frontend code, i.e. `frontend/src/scenes/insights/Insight.tsx` +3. Use `console.log` liberally +3. As of writing, there are no unit tests for the frontend although we do have integration tests for the frontend via Cypress +4. Same as backend 9-10 + +## Alternative: Pycharm + +Some developers prefer to use [Pycharm](https://www.jetbrains.com/pycharm/) and for +good reason. While there are many benefits, below you'll find a few keys benefits. + +1. `Debugging and no print() statements` this is probably the biggest win in my opinion. + Since we are learning a new codebase there is no shame in having an assistant. Pycharm + will show you the call stack and variable values. This is huge for understanding what + is going on. +2. `Code navigation` when you are new to a codebase, moving easily through the code + can be a real challenge, especially when there are multiple layers of abstraction. + Pycharm allows you to Ctrl+Click nearly all methods to jump to their definitions. + While editors like vscode have a similar feature, you'll find that Pycharm works + in cases where vscode does not. +3. `Run configurations` make starting celery, django, and webpack services simple. It's + mostly just clicking things. +4. `Excellent TypeScript support` with code completion and type checking directly in your + editor. +5. `Click instead of type` which means that you spend much more time typing code than + running commands. Nearly everything in Pycharm is clickable. + +Pycharm offers a try it for free 30-day trial. It's recommended that you use it for at least +that amount of time before you buy. I recommend watching [The Future of Programming](https://www.youtube.com/watch?v=8pTEmbeENF4) +that will blow your mind and perhaps give you a new perspective on tools like these. + +**[Next: Technologies to learn](technologies-to-learn)** diff --git a/pages/78.Handbook.SourceMaterial.engineering.beginners-guide.getting-started/default.md b/pages/78.Handbook.SourceMaterial.engineering.beginners-guide.getting-started/default.md new file mode 100644 index 0000000..1c84de6 --- /dev/null +++ b/pages/78.Handbook.SourceMaterial.engineering.beginners-guide.getting-started/default.md @@ -0,0 +1,32 @@ +--- +title: 'First goals' +menu: 'First goals' +--- + +--- +title: 3. Getting Started +sidebar: Handbook +showTitle: true +hideAnchor: true +--- + +## First goals + +1. Set up your dev environment and configure with your IDE +2. Get PostHog running locally on Postgres: [http://localhost:8000](http://localhost:8000). You'll need postgres, redis, celery, and django running. +3. Successfully run PostHog tests: `bin/tests posthog` (which omits Clickhouse tests) +4. Create [your first PR](https://github.com/PostHog/posthog/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22) + and have it be approved. If you work for PostHog someone (Tim or small team lead) will suggest the + first assignment. + +## Suggested learning roadmap + +1. [Setup your local dev environment](https://posthog.com/docs/developing-locally) +2. Ask your [PostHog Buddy](https://posthog.com/handbook/people/onboarding#posthog-buddy) for a product walk-thru. It's important to get to know the product you are building. I recommend doing this before you become deeply involved in it's internal design. This is a great time to view our product through the eyes of our users. +3. [Review PostHog Project Structure](https://posthog.com/docs/project-structure) +4. Learn [React](https://reactjs.org/docs/hello-world.html), [Redux](https://redux.js.org/introduction/core-concepts), and [Kea](https://kea.js.org/docs/introduction/what-is-kea) - If you're experienced with frontend frameworks I suggest going directly to Kea. +5. Take a brief overview of [Python](https://learnxinyminutes.com/docs/python/). +6. Complete [Django Tutorial 1-5 of 7 parts, skip 6+](https://docs.djangoproject.com/en/3.1/intro/tutorial01/). If you're interested in learning more about Django, pick a copy of [Django book](https://www.feldroy.com/products/two-scoops-of-django-3-x). The company will happily pay for this since they [believe in training us to do our jobs with excellent](https://posthog.com/handbook/people/training). Great place to work, right? + +**[Next: Developer Workflow](developer-workflow)** + diff --git a/pages/79.Handbook.SourceMaterial.engineering.beginners-guide.getting-to-know-posthog/default.md b/pages/79.Handbook.SourceMaterial.engineering.beginners-guide.getting-to-know-posthog/default.md new file mode 100644 index 0000000..5f46810 --- /dev/null +++ b/pages/79.Handbook.SourceMaterial.engineering.beginners-guide.getting-to-know-posthog/default.md @@ -0,0 +1,27 @@ +--- +title: 'PostHog via James Hawkins, CEO' +menu: 'PostHog via James Hawkins, CEO' +--- + +--- +title: 2. Getting To Know PostHog +sidebar: Handbook +showTitle: true +hideAnchor: true +--- + +It's surprising how enjoyable and calming learning about PostHog's people can be. +You'll find [all their bios here](../../people/team). It's well worth your time! + +### PostHog via James Hawkins, CEO + +Additionally, James put together some great YouTube videos. I watched them all. + +- [Why we built our business in the first place](https://www.youtube.com/watch?v=TIxxIEEvczM) +- [Open Source is Eating SaaS](https://www.youtube.com/watch?v=bh3j_9jVeqg) +- [How we raised a $3M seed round a few weeks after starting our open source project](https://www.youtube.com/watch?v=lJ41-95Ey3w) +- [Open source business models - your choices and how PostHog makes money](https://www.youtube.com/watch?v=L1Ovbzs7vyo) +- [We've never met each other in real life. How we designed PostHog for remote work from day one.](https://www.youtube.com/watch?v=rRwzJiljpSA) +- [Coffee + iPads + Feedback = A day in the of PostHog's graphic designer](https://www.youtube.com/watch?v=xlODCLrZyvM) by Lottie (helpful to see the design side of PostHog) + + **[Next: Getting started](getting-started)** diff --git a/pages/80.Handbook.SourceMaterial.engineering.beginners-guide.introduction/default.md b/pages/80.Handbook.SourceMaterial.engineering.beginners-guide.introduction/default.md new file mode 100644 index 0000000..6d8badf --- /dev/null +++ b/pages/80.Handbook.SourceMaterial.engineering.beginners-guide.introduction/default.md @@ -0,0 +1,80 @@ +--- +title: 'Introduction' +menu: 'Introduction' +--- + +--- +title: 1. Beginner's Guide +sidebar: Handbook +showTitle: true +hideAnchor: true +--- + +## Introduction + +The *Beginners Guide* started as a project to help me and others get up to speed on PostHog's tech stack. +I also wanted to include bits of advice to make the process encouraging to make working on PostHog even better. +I needed this approach personally since I've been hardcore programming in other languages and tech stacks +for years so most of PostHog's tech stack was newish to me. + +## Consider your learning style + +Some people like to jump in and go. Some people like to read the docs. I'm the latter. Another way of saying it +that I'm a holistic learner. My plan was to spend part of the time accomplishing work given to me and part +of the time on intentional education. The point is to know your own learning style so that you can be effective. +To that end, if you're a get started now type, you'll appreciate the +[getting started section](getting-started). + +It's also important to note that whatever you learn needs to be reviewed several times. It doesn't +matter what learning style you have because review is essential to learning from a neuroscience +perspective. If you create small exercises for yourself such as the projects I've created in this repo +you'll do even better. The good news is that this process doesn't take up an extraordinary amount of time. + +## A word about mindset + +> You get more than you give. + +My mindset is one of wanting to get the most out of life. For me, in part, that +means being excellent and taking full ownership of my career. Learning new +material can be overwhelming not to mention difficult. But remember this: +*it's worth it*! Investing in yourself makes for a better, more capable +version of you. Therefore, trust the difficult process of learning and elevate +your skills. The future you will thank you for your hard work. + +If you get discouraged come back to this section. + +## What has helped me personally + +First thing to remember: starting a new job is like beginning a book in the middle of a +series where the characters are well-formed, and the story is far along. It's fair to say, +you have no idea what is going on. You can read words and understand but not understand +why they are being said. There our goal is to *develop a solid mental model for the codebase*. + +> “You don’t care about the answer until you have the question.” - Unknown + +- On my first day, I was given an assignment to work on. It began the process of showing me what I needed to learn. Struggling to complete the assignment helped me to *have the question* from the quote above. +- Reading the [project structure doc](/docs/project-structure) +- Browsing the [issues in GitHub](https://github.com/PostHog/posthog/issues) by playing with the various labels. This helped me get a better feel for PostHog's communication style and open-mindedness. +- Pairing with Tim & Eric. They used devtools to examine network traffic, console.log, and I was able to ask specific questions. It was basic stuff and reminded me to use the basic tools I've been using for years. I guess the anxiety of a new job confused my brain a little. +- Reading the kea docs. This is *clutch* to understand the frontend. It's a rather nice library but you won't make progress without understanding Kea. +- Creating a simple app with create-react-app with typescript support `yarn create react-app learn-kea-typescript --template typescript` + +> "Take care of yourself. There's no need to burnout in the first month." - Eltje + +- Eltje encouraged me to take care of myself, so I did. + +> "So, what?!" - [Dare: The New Way to End Anxiety and Stop Panic Attacks](https://www.amazon.com/Dare-Anxiety-Stop-Panic-Attacks/dp/0956596258/) where "D" stands for defuse the anxiety by considering the worst and saying so what. + +- Often I felt anxious about my daily contributions. Using the quote above really helps deal with this kind of anxiety. So what if I fail to deliver these assignments timely?! I'm an expert and in time I'll be a great asset to PostHog. +- Additionally, it's important to remember to trust the process. Being new (bad) at something isn't a great feeling initially until you realize that it's a part of the process. Soon you'll be good. It's better to reframe and remember that you only get to have new eyes once. Plus, it's fun to learn new things. + +> "When you are working, close your email and slack. No one is watching to see if you are online. In fact, it's the opposite." - Tim, CTO + +- Tim told me this on the first or second day, and it was liberating. It allowed me to think of my role as a true `async` open-source contributor. Do what needs to be done so that you can be the most effective. + +> Read the docs + +- For my learning style, this has been a **must**. I'm keeping a list of resources for learning I've used. +- I also spent time creating projects as you see in this repo which helped me consolidate the knowledge I was gaining. + +**[Next: Getting to know PostHog](getting-to-know-posthog)** diff --git a/pages/81.Handbook.SourceMaterial.engineering.beginners-guide.notes.django/default.md b/pages/81.Handbook.SourceMaterial.engineering.beginners-guide.notes.django/default.md new file mode 100644 index 0000000..a081d0c --- /dev/null +++ b/pages/81.Handbook.SourceMaterial.engineering.beginners-guide.notes.django/default.md @@ -0,0 +1,37 @@ +--- +title: 'Start here' +menu: 'Start here' +--- + +--- +title: Our Notes On Django +sidebar: Handbook +showTitle: true +hideAnchor: true +--- + +## Start here + +If, like me, you haven't worked with Django before, the best place to start with is +[Writing your first Django app](https://docs.djangoproject.com/en/3.1/intro/tutorial01/) +from the official Django website. This gives you a quick understanding of the major +parts of Django without needing to read an entire book to get it. + +## Useful Django commands + +- `django-admin startproject mysite` - creates Django project +- `python manage.py runserver` - starts Django web server (optionally add a port at the end `8080`) +- `python manage.py startapp polls` - creates Django app in project +- `python manage.py makemigrations polls` - creates migration scripts in migrations folder +- `python manage.py sqlmigrate polls 0001` - shows SQL that will run for this migration but doesn't perform it +- `python manage.py migrate` - performs all migrations +- `python manage.py shell` - puts you in a Django ORM shell to play with the models on the command-line +- `python manage.py createsuperuser` - creates super user for django admin app which comes by default with all Django projects, url `/admin` +- `python manage.py test polls` - run tests for polls app + +## Useful resources +- [Writing your first Django app](https://docs.djangoproject.com/en/3.1/intro/tutorial01/). I recommend + reading Parts 1-5 of the 7 parts, skip 6+ since they are not relevant to PostHog. We do use Django built-in testing so part 5 is required reading. +- [Two Scoops of Django (e-book)](https://www.feldroy.com/products/two-scoops-of-django-3-x) + +**[Back: Technologies to learn](../technologies-to-learn)** \ No newline at end of file diff --git a/pages/82.Handbook.SourceMaterial.engineering.beginners-guide.notes.docker/default.md b/pages/82.Handbook.SourceMaterial.engineering.beginners-guide.notes.docker/default.md new file mode 100644 index 0000000..38906fa --- /dev/null +++ b/pages/82.Handbook.SourceMaterial.engineering.beginners-guide.notes.docker/default.md @@ -0,0 +1,108 @@ +--- +title: 'Docker Nomenclature and Notes' +menu: 'Docker Nomenclature and Notes' +--- + +--- +title: Our Notes On Docker +sidebar: Handbook +showTitle: true +hideAnchor: true +--- + +## Docker Nomenclature and Notes + +- `Docker Image` - the actual package, **artifact** which can be shared with others, docker images are built in layers via Dockerfile +- `Docker Container` - a *running* instance of a docker image, file system is virtual, contains a port for communication +- Docker run - command which executes *pull* and *start* (only pulls images we do not have locally) +- Docker vs Virtual Machine + - Operating System = Hardware > OS Kernel (layer 1) > Applications (layer 2) + - Docker = Virtualization of applications (layer 2) + - Virtual Image = Virtualization of OS (layer 1) + - Benefits of Docker = images are much smaller, runs faster + - Benefits of VM = you can run different OS (Windows on Linux) since it has it's own OS Kernel +- Docker Port vs Host Port + - Multiple containers may use the same port + - Bind host port to docker port, i.e. host 3000 -> docker 3000, host 3001 -> docker 3000 +- `Docker Compose` + - Configuration file specifying *docker commands* to make it easier to work with + - Automatically handles creating a common *docker network* + - Docker compose is usually installed with docker so you already have it +- `Docker Volumes` + - Provides data persistence between host machine and docker containers + - The data between volumes is replicated between the host and docker container volumes + - 3 docker volume types: specified, anonymous, and named volumes, named volumes on the host are managed by docker + - Production should use *named volumes* + - Container Mongodb = /data/db + - Container MySQL = /var/lib/myself + - Container Postgres = /var/lib/postgres/data + - Host Windows = C:\ProgramData\docker\volumes + - Host Linux = /var/lib/docker/volumes/[hash]/_data + - Host Mac = /var/lib/docker/volumes/[hash]/_data + - `screen ~/Library/Containers/com.docker.docker/Data/com.docker.driver.amd64-linux/tty` add access linux VM on mac where data is stored, `ctrl + a + k` to exit screen session + +## Basic commands + +- `docker pull` downloads a docker image locally +- `docker images` shows a list of local docker images and their sizes +- `docker run` run a docker container, it's two commands in one *docker pull* and *docker start* +- `docker run -d` runs the docker container in *detach mode* +- `docker run -p` binds the container to host port i.e. *-p6000:6370*, *-p [host]:[container]* +- `docker run --name` give the container a name so that you do not need to use the SHA +- `docker run -d -it python` runs python images in *interactive terminal* mode +- `docker run -e` runs an image with an environment variable +- `docker run -net` specify a docker network to run within +- `docker start` start a container, retains the settings from the run command +- `docker stop` - stops a container +- `docker ps` shows *running* containers +- `docker ps -a` shows *running and not-running* containers +- `docker logs` shows the *standard output* of the *running* container +- `docker logs -f` follow the *standard output*, similar to *tail -f* +- `docker exec -it` runs the container with interactive terminal +- `docker network ls` shows a list of the internal docker network +- `docker network create` create a docker network +- `docker build -t my-app:1.0 .` builds an image from a *Dockerfile* in the current directory +- `docker rm` removes a docker container which you need to do before docker rmi +- `docker rmi` removes a docker image, i.e. docker rmi my-app:1.0 +- `docker run -v` mounts host filesystem to docker container filesystem + +## Docker Compose + +- `docker-compose -f mongo.yaml up` pulls, starts, and creates container network +- `docker-compose -f mongo.yaml up -d` runs containers in *detached mode* +- `docker-compose -f mongo.yaml down` stops container, removes container, and stops container network + +## First Dockerfile + +```docker +FROM python:3.9-alpine3.13 + +RUN apk add bash nodejs + +COPY hello.* / + +CMD ["bash"] +``` + +## First commands + + - `docker build .` builds the container + - `docker run --name [name] [sha]` installs the container + - `docker run -it --name [name] [sha]` installs the container and starts in interactive mode + - `docker ps` shows all the running containers + - `docker ps -a` shows all the running and exited containers + - `docker stop [name]` stop container + - `docker start -ai [name]` start container interactively + - `docker rm [name]` removes container + + ## Resources + + - [Creating your first Dockerfile, image and container](https://www.youtube.com/watch?v=hnxI-K10auY) great place to start + - [Docker Tutorial for Beginners [FULL COURSE in 3 Hours]](https://www.youtube.com/watch?v=3c-iBn73dDE) most helpful + - [Docker For Beginners: From Docker Desktop to Deployment](https://www.youtube.com/watch?v=i7ABlHngi1Q) + + ## Related Resources + + - [Kubernetes Tutorial for Beginners FULL COURSE in 4 Hours](https://www.youtube.com/watch?v=X48VuDVv0do) To manage distribution of contains across many servers + +**[Back: Technologies to learn](../technologies-to-learn)** \ No newline at end of file diff --git a/pages/83.Handbook.SourceMaterial.engineering.beginners-guide.notes.kea/default.md b/pages/83.Handbook.SourceMaterial.engineering.beginners-guide.notes.kea/default.md new file mode 100644 index 0000000..7358ef6 --- /dev/null +++ b/pages/83.Handbook.SourceMaterial.engineering.beginners-guide.notes.kea/default.md @@ -0,0 +1,94 @@ +--- +title: 'Actions' +menu: 'Actions' +--- + +--- +title: Our Notes On Kea +sidebar: Handbook +showTitle: true +hideAnchor: true +--- + +## Actions + +- All code lives inside `logic` which is created with `kea({ ... })` +- Files are typically named `[name]Logic.js|ts` +- `import { useActions } from 'kea'` provides access to action all functions +- All operations start from `actions` +- The mental model for actions is that of *event capturing*, they signal intent +- Sample action: `increment: (amount) => ({ amount })` +- **Actions** map to `reducers` and `listeners` to perform operations +- Actions can invoke several reducers if the name of the action maps to multiple reducers +- Actions defined with `someActions: true` are actions with no arguments + +## Reducers + +- Reducers define `state` and `operations` on that state. +- `import { useValues } from 'kea'` provides access to the state +- Sample reducers: `counter: [0, { increment: (state, { amount }) => state + amount}]` +- Notice how increment is the same name as the action +- Reducers should never mutate the state directly, they must be pure functions + +## Listeners + +- Listeners are how you do `side-effects` and async calls to load data +- Listeners may invoke other actions via `actions`, example: `listeners: ({ actions, values }) => ({ ... })` +- Listeners are `async` functions +- Notice we have access to actions and values in the listeners functions +- *Set this or that* is better done by reacting to actions + +## Loaders + +- Available via the `kea-loaders-plugin` +- Encapsulates the pattern of action > listener > loading > success | failure +- Example: `users: [[], { loadUsers: async () => await api.get('users') }]` + +## Selectors + +- Selectors handle mapping data across reducers +- Similar to computed values in Vue + +## Values + +- `import { useValues } from 'kea'` +- You can access values frorm React with useValues or from listeners via listeners function + +## Input objects vs functions + +- Any of kea's built-in primitives: actions, reducers, listeners, etc. may be declared with an object or function +- Functions are invoked lazily +- Functions are passed 1 argument which can be destructured for actions and values +- Use objects first then functions as you need them + +## Props + +- Using kea logic as a function allows you to pass in props which are available as destructured props for primitive key functions + +## Keyed logic + +- If you give your logic a key, you can have multiple independent copies of it. The key is derived from props +- Example: `key: (props) => props.id` + +## Breakpoints + +- Serves as a debounce function or out of order network calls + +## Events + +- Handles lifecycle events + +## Defaults + +- Allows you to specify default values instead of doing them in the reducers +- Defaults may be a function as well to calculate the default values + +## Connecting kea logic together + +- You may [connect logics together](https://kea.js.org/docs/guide/additional#connecting-logic-together) + +## Useful resources + +- [Kea](https://kea.js.org/docs/introduction/what-is-kea) + +**[Back: Technologies to learn](../technologies-to-learn)** diff --git a/pages/84.Handbook.SourceMaterial.engineering.beginners-guide.notes.python/default.md b/pages/84.Handbook.SourceMaterial.engineering.beginners-guide.notes.python/default.md new file mode 100644 index 0000000..be6ed53 --- /dev/null +++ b/pages/84.Handbook.SourceMaterial.engineering.beginners-guide.notes.python/default.md @@ -0,0 +1,58 @@ +--- +title: '1. Fibonacci' +menu: '1. Fibonacci' +--- + +--- +title: Our Notes On Python +sidebar: Handbook +showTitle: true +hideAnchor: true +--- + +Along with reading about any given programming language it's necessary to use that +knowledge. I've prepared exercises that will help you use the knowledge you are +learning. + +Start by reading [Python via Learninyminutes](https://learnxinyminutes.com/docs/python/) +then work to complete the exercises below. + +## 1. Fibonacci + +You can learn about the [fibonacci here](https://en.wikipedia.org/wiki/Fibonacci_number). Fibonacci +sequence means each number is the sum of the two preceding ones, starting from 0 and 1. + +The sequence looks like this `0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144...` + +**Exercise: Calculate the fibonacci sequence up to 100** + +## 2. Invictus text processing + +1. Read [invictus.txt](https://raw.githubusercontent.com/buwilliams/learn-posthog/main/docs/exercises/02_invictus.txt) into a string +2. Split the string an array of words and print them out +3. Correct words with invalid characters and print the cleaned words out +4. Create an array of maps of all unique words and how many times they occurred +5. Sort the array of maps by the number of times they occurred in descending order +6. Convert the code into a class, implement interfaces and type checking if applicable + +## More exercises + +- [Programming Problems](https://adriann.github.io/programming_problems.html) + +## Create your own exercises + +One interesting strategy is to: + +1. Buy/find a programming book you're interested in. +2. As your read, create an exercise for that chapter. +3. Code the exercise that you created before moving on. +4. Rinse and repeat until you've finished the book. + +By creating the exercise and solving it, you'll learn better than if you just read the chapter. +Remember that many programmers are lazy and are unwilling to put this kind of effort. You'll +be light years ahead of your peers as you apply yourself. + +## Useful resources +- [Python via Learninyminutes](https://learnxinyminutes.com/docs/python/) + +**[Back: Technologies to learn](../technologies-to-learn)** \ No newline at end of file diff --git a/pages/85.Handbook.SourceMaterial.engineering.beginners-guide.notes.react/default.md b/pages/85.Handbook.SourceMaterial.engineering.beginners-guide.notes.react/default.md new file mode 100644 index 0000000..0dd3506 --- /dev/null +++ b/pages/85.Handbook.SourceMaterial.engineering.beginners-guide.notes.react/default.md @@ -0,0 +1,121 @@ +--- +title: 'Hooks' +menu: 'Hooks' +--- + +--- +title: Our Notes On React +sidebar: Handbook +showTitle: true +hideAnchor: true +--- + +The [React docs](https://reactjs.org/docs/getting-started.html) are great for getting from zero to one. + +## Hooks + +I found hooks somewhat counterintuitive at first, but they're very powerful once you grasp them. Refer to the [Rules of Hooks](https://reactjs.org/docs/hooks-rules.html). - @samwinslow + +1. Only call from the top level of a functional component +2. Do not call outside a functional component or from plain JS (you can call from custom hooks) + +### useState + +Uses destructured array assignment syntax + +`const [value, setValue] = useState(initialValue)` + +An updater function can be passed to the setter so that multiple updates can be called in sequence, or to merge-update the state via spreading if it's an object. The updater is a pure function which takes previous state and returns next. + +```jsx +// bad +setValue(value + 1) +setValue(value + 1) + +// good +setValue(value => value + 1) +setValue(value => value + 1) +``` + +In general, derive data while rendering rather than storing derived values in state (e.g. filtering local data). However, if expensive filtering or join operations are to be performed and/or the component re-renders frequently, a memoized state management library might be better. + +### useEffect + +Takes a callback function which may have (potentially global) side effects. Runs on every re-render by default. + +```jsx +function EffectExample() { + const [value, setValue] = useState(initialValue) + + useEffect(() => { + document.title = `The value is now ${value}` + }) + + return ( +
+

{value}

+ +
+ ) +} +``` + +The rendered value is not a special data binding that causes it to listen. It is merely a reflection of a new value rendered as a result of calling the setter. + +Can return a cleanup function from the effect and declare when it should run + +```jsx +function ApiStatus({ service }) { + const [isOnline, setOnline] = useState(null) + + const { id } = service + useEffect(() => { + const handleStatusChange(status) => { + setOnline(status.isOnline) + } + SomeApi.subscribe(id, handleStatusChange) + + return () => SomeApi.unsubscribe(id, handleStatusChange) + }, [id]) // Only run when `id` changes (sync to state) + + // rendering +} +``` + +### useLayoutEffect + +Same as `useEffect`, but runs callback synchronously during commit lifecycle phase + +### useMemo + +Recalculates value only when dependencies change + +### useCallback + +Updates callback function reference when dependencies change + +### useRef + +Mutable ref used to access returned child. + +- Persists between renders +- Default: `{ current: null }` +- Plain object; mutating does not trigger re-renders + +### Custom Hooks + +Listeners and API connections can be extracted to a custom hook and reused + +Examples from popular libraries: + +- React-Redux: `useSelector`, `useDispatch` +- React-Router: `useHistory`, `useLocation`, `useParams` +- `useFormState` + +## Useful resources + +- [Dan Abramov - A Complete Guide to useEffect](https://overreacted.io/a-complete-guide-to-useeffect/) +- [Mark Erikson - A Complete Guide to React Rendering Behavior](https://blog.isquaredsoftware.com/2020/05/blogged-answers-a-mostly-complete-guide-to-react-rendering-behavior/) + +**[Back: Technologies to learn](../technologies-to-learn)** + diff --git a/pages/86.Handbook.SourceMaterial.engineering.beginners-guide.notes.typescript/default.md b/pages/86.Handbook.SourceMaterial.engineering.beginners-guide.notes.typescript/default.md new file mode 100644 index 0000000..e7724e7 --- /dev/null +++ b/pages/86.Handbook.SourceMaterial.engineering.beginners-guide.notes.typescript/default.md @@ -0,0 +1,28 @@ +--- +title: 'Exercises' +menu: 'Exercises' +--- + +--- +title: Our Notes On TypeScript +sidebar: Handbook +showTitle: true +hideAnchor: true +--- + +The best way to learn TypeScript is to read introductory material then get hands on with exercises. + +## Exercises + +You can complete the exercises on the [TypeScript Playground](https://www.typescriptlang.org/play) + +You can use the same [exercises for Python](python) as starting place. + +## Great places to learn + +- [TypeScript via learnxinyminutes](https://learnxinyminutes.com/docs/typescript/) +- [TypeScript in 5 minutes](https://www.typescriptlang.org/docs/handbook/typescript-in-5-minutes.html) +- [TypeScript Handbook](https://www.typescriptlang.org/docs/handbook/intro.html) + +**[Back: Technologies to learn](../technologies-to-learn)** + diff --git a/pages/87.Handbook.SourceMaterial.engineering.beginners-guide.technologies-to-learn/default.md b/pages/87.Handbook.SourceMaterial.engineering.beginners-guide.technologies-to-learn/default.md new file mode 100644 index 0000000..f3a8e1d --- /dev/null +++ b/pages/87.Handbook.SourceMaterial.engineering.beginners-guide.technologies-to-learn/default.md @@ -0,0 +1,38 @@ +--- +title: 'Backend' +menu: 'Backend' +--- + +--- +title: 5. Technologies To Learn +sidebar: Handbook +showTitle: true +hideAnchor: true +--- + +Each of the links below will send you to the best resources for learning I found. As I went through learning the +various technologies, I took notes. Below you'll find all the notes that I took along with resources I felt were +particularly useful. I'd suggest using *our notes* links as you would a cheatsheet. + +## Backend + +- [Python](https://www.python.org/) ([our notes on Python](notes/python)) +- [Django](https://www.djangoproject.com/) ([our notes on Django](notes/django)) +- [Django Testing](https://docs.djangoproject.com/en/3.1/intro/tutorial05/) +- [Pytest](https://docs.pytest.org/en/stable/getting-started.html) +- [Clickhouse](https://clickhouse.tech/) (enterprise database) +- [Celery](https://docs.celeryproject.org/en/stable/) (we use Redis as Celery's message broker) +- [Docker](https://www.docker.com/) ([our notes on Docker](notes/docker)) + +## Frontend + +- [React](https://reactjs.org/docs/hello-world.html) ([our notes on React](notes/react)) +- [Redux](https://redux.js.org/introduction/core-concepts) +- [Kea](https://kea.js.org/docs/introduction/what-is-kea) ([our notes on Kea](notes/kea)) +- [TypeScript](https://www.typescriptlang.org/) ([our notes on TypeScript](notes/typescript)) + +## Useful tech + +- [Tmux](https://github.com/tmux/tmux/wiki) +- [Fish](https://github.com/fish-shell/fish-shell) +- [Zsh](https://github.com/ohmyzsh/ohmyzsh) \ No newline at end of file diff --git a/pages/88.Handbook.SourceMaterial.engineering.bug-prioritization/default.md b/pages/88.Handbook.SourceMaterial.engineering.bug-prioritization/default.md new file mode 100644 index 0000000..4bb0583 --- /dev/null +++ b/pages/88.Handbook.SourceMaterial.engineering.bug-prioritization/default.md @@ -0,0 +1,62 @@ +--- +title: 'User experience degradation' +menu: 'User experience degradation' +--- + +--- +title: Bug Prioritization +sidebar: Handbook +showTitle: true +--- + +## User experience degradation + +When bugs are reported it's critical to properly gauge the extent and impact to be able to prioritize and respond accordingly. These are the priorities we use across the entire engineering org, along with the relevant labels to quickly identify them in GitHub. + +> Please always remember to tag your issues with the relevant priority. + + + + + + + + + + + + + + + + + + + + + + + +
GitHub LabelDescription
P0Critical, breaking issue (page crash, missing functionality)
P1Urgent, non-breaking (no crash but low usability)
P2Semi-urgent, non-breaking, affects UX but functional
P3Icebox, address when possible
+
+ + + + +## Security issues + +Security issues, due to their nature, have a different prioritization schema. This schema is also in line with our internal SOC 2 related policies (Vulnerability Management Policy). When filing security-related GitHub issues, remember to attach label `security` and the appropriate priority label. More details on filing can be found in the [README](https://github.com/PostHog/product-internal#README) of the `product-internal` repo. + +
+Security issue information should not be made public until a fix is live and sufficiently (ideally completely) adopted. +
+ +PostHog security issues include a priority (severity) level. This level is based on our self-calculated CVSS score for each specific vulnerability. CVSS is an industry standard vulnerability metric. You can learn more about CVSS at [FIRST.org](https://www.first.org/cvss/user-guide) and calculate it using the FIRST.org [calculator](https://www.first.org/cvss/calculator/3.1). + +| GitHub Label | Priority Level | CVSS V3 Score Range | Definition | Examples | +|---|---|---|---|---| +|**security-P0**|Critical|9.0 - 10.0|Vulnerabilities that cause a privilege escalation on the platform from unprivileged to admin, allows remote code execution, financial theft, unauthorized access to/extraction of sensitive data, etc.|Vulnerabilities that result in Remote Code Execution such as Vertical Authentication bypass, SSRF, XXE, SQL Injection, User authentication bypass| +|**security-P1**|High|7.0 - 8.9|Vulnerabilities that affect the security of the platform including the processes it supports.|Lateral authentication bypass, Stored XSS, some CSRF depending on impact| +|**security-P2**|Medium|4.0 - 6.9|Vulnerabilities that affect multiple users, and require little or no user interaction to trigger.|Reflective XSS, Direct object reference, URL Redirect, some CSRF depending on impact| +|**security-P3**|Low|0.1 - 3.9|Issues that affect singular users and require interaction or significant prerequisites (MitM) to trigger.|Common flaws, Debug information, Mixed Content| + diff --git a/pages/89.Handbook.SourceMaterial.engineering.common-issues/default.md b/pages/89.Handbook.SourceMaterial.engineering.common-issues/default.md new file mode 100644 index 0000000..416a876 --- /dev/null +++ b/pages/89.Handbook.SourceMaterial.engineering.common-issues/default.md @@ -0,0 +1,18 @@ +--- +title: 'Shopify Event-Logging Bug' +menu: 'Shopify Event-Logging Bug' +--- + +--- +title: Common Issues +sidebar: Handbook +showTitle: true +--- + +A page to host big issues raised by users (rather than small bugs) that we have certain answers for. + +### Shopify Event-Logging "Bug" + +Admin users who have PostHog setup for Shopify may experience their events being logged for another user. + +This is not an issue with PostHog. Rather, this is due to a feature Shopify offers where it stores all the session data and lets you browse your website as if you were your client with all their cookies and local/session storage. \ No newline at end of file diff --git a/pages/90.Handbook.SourceMaterial.engineering.development-process/default.md b/pages/90.Handbook.SourceMaterial.engineering.development-process/default.md new file mode 100644 index 0000000..9c8aca1 --- /dev/null +++ b/pages/90.Handbook.SourceMaterial.engineering.development-process/default.md @@ -0,0 +1,80 @@ +--- +title: '1. How to Decide What to Build' +menu: '1. How to Decide What to Build' +--- + +--- +title: Development Process +sidebar: Handbook +showTitle: true +--- + +> _**Note:** This guide is aimed at people who work for PostHog. If you want to contribute, [see our Contributing Guide](/docs/contributing)._ + +
+ +Any process is a balance between speed and control. If we have a long process that requires extensive QA and 10 approvals, we will never make mistakes because we will never release anything. + +However, if we have no checks in place, we will release quickly but everything will be broken. + + +## 1. How to Decide What to Build + +There are 3 places that work comes from. + +- Issues/bugs (raised by the community or us) +- [Roadmap](/handbook/strategy/roadmap) +- "This should be better" + + +## 2. Sizing a Task + +When picking up a task, it should be doable in a day, including code review and QA. If it's not, you need to break it down into smaller chunks until it is. Tasks of this size are easy to test, easy to deploy, less likely to cause merge conflicts, and should still deliver some kind of value. + +Even if you're contributing, this is helpful as it means you'll be able to contribute to PostHog faster. + +## 3. Writing Code + +We're big fans of Test Driven Development (TDD). We've tried to create test infrastructure that helps you rather than annoys you. If that isn't the case, please raise an issue! Keeping tests on point is a high priority to keep developer productivity high. + +Other than that, you know what to do in this section. + +## 4. Creating a PR + +To make sure our issues are linked correctly to the PRs, you can tag the issue in your commit. + +```bash +git commit -m "Closes #289 add posthog logo to website" +``` + +## 5. Code Review + +When we review a PR, we'll look at the following things: +- Does the PR actually solve the issue? +- Does the solution make sense? +- Will the code perform with millions of events/users/actions? +- Are there tests and do they test the right things? +- Are there any security flaws? + +Things we do not care about during review: +- Syntax. If we're arguing about syntax, that means we should install a code formatter + +See: [How we review](/handbook/engineering/how-we-review). + +## 7. Merging + +Merge anytime. Friday afternoon? Merge. + +Our testing, reviewing and building process should be good enough that we're comfortable merging any time. + +## How to Test + +See: [How to test](/docs/contributing#testing). + +## How we Review + +See: [How we review](/handbook/engineering/how-we-review). + +## How to release a new version + +See: [Release new version](/handbook/engineering/release-new-version). diff --git a/pages/91.Handbook.SourceMaterial.engineering.how-we-review/default.md b/pages/91.Handbook.SourceMaterial.engineering.how-we-review/default.md new file mode 100644 index 0000000..fd1e2fa --- /dev/null +++ b/pages/91.Handbook.SourceMaterial.engineering.how-we-review/default.md @@ -0,0 +1,51 @@ +--- +title: 'How to review' +menu: 'How to review' +--- + +--- +title: How We Review PRs +sidebar: Handbook +showTitle: true +--- + +Almost all PRs made to PostHog repositories will need a review from another engineer. We do this because, almost every time we review a PR, we find a bug, a performance issue, unnecessary code or UX that could have been confusing. + +## How to review + +1. Have a flick through the code. + - What to look for: + - Code that does the wrong thing or will produce bugs + - Code that you think will cause performance issues + - Are there tests for all of the new functionality, and do they test the right thing? + - Any security issues or project leakage? + - Is the code properly instrumented to allow tracking of every relevant action (i.e. all the relevant frontend elements have unique and helpful `data-attr`s, and there are backend events where appropriate)? + - What _not_ to look for: + - Formatting issues (prettier should handle this, raise a PR to fix that) + - "I would have done it differently" (Unless the code is completely incomprehensible or unreadable, or will cause us massive harm long term - as long as it works, it's good enough.) + +2. Open the review app or check the branch out locally. + - What to look for: + - Bugs in the new functionality (if you're reviewing the insights page, make sure you try breakdown, cohorts, filters, different time frames etc) + - Confusing UX + - Confusing wording + - Backend tracked events not being fired properly or with an incorrect payload. + - Should the code be behind a feature flag? + - If the code is behind a feature flag, do all cases work properly? (in particular, make sure the old functionality does not break) + - Are we building the right thing? (We should be willing to throw away PRs or start over) + - Don't be shy here - try to break it! + - What not to look for: + - Issues _not_ related to this PR. Create a new issue for those. + +The emphasis should be on getting something out quickly. Endless review cycles sap energy and enthusiasm. + +## Setting up Heroku Test Environment + +1. Go to the pull request you want to QA on. +2. Go to the Heroku test environment. + Check/do the following: + 1. If the environment was already deployed, it should say "This branch was successfully deployed" + 1. If it says ‘This branch was not deployed’ go to the Heroku pipeline and click ‘Create review app’ + 1. If the PR was submitted from a fork, you'll need to test the changes locally. +3. Open the app, create a new account, and start testing! + diff --git a/pages/92.Handbook.SourceMaterial.engineering.onboarding-customer/default.md b/pages/92.Handbook.SourceMaterial.engineering.onboarding-customer/default.md new file mode 100644 index 0000000..a1b98d4 --- /dev/null +++ b/pages/92.Handbook.SourceMaterial.engineering.onboarding-customer/default.md @@ -0,0 +1,59 @@ +--- +title: '1. Introductions / Find Out About Their Business' +menu: '1. Introductions / Find Out About Their Business' +--- + +--- +title: Onboarding Customers +sidebar: Handbook +showTitle: true +--- + +A lot of people want to set up PostHog on their own without talking to anyone, and we'll make sure that path is as optimised as possible. However, sometimes it's more efficient/better to talk to one of us over a call. + +Our user notes are not shared publicly. [Read them here](https://docs.google.com/document/d/1gJlsUDrlW7ur8zT5scqRvXZhapm_0JdvKGiw68Iyx9E/edit#heading=h.q9lg9hgl34g2). + +A standard structure you could maintain while doing that call is: + +## 1. Introductions / Find Out About Their Business + +1. Make sure you introduce yourself and check it's ok if you take notes. +1. Introduce PostHog: "We're open-source product analytics. Think Mixpanel or Amplitude, but with full control over your data and focused on engineers" +1. Ask questions about their business: + - Why did they reach out in the first place? + - What are their main goals/most important metric for this quarter/batch/year? + - Are they familiar with other product analytics tools? Are they using any right now? + - What stage is their company at - do they have users, are they about to launch, are they trying to expand? + - How does their app work? + - Where does the app live? Website, online app, mobile app, backend? + +## 2. Demo + +Share your own screen and wizz through a demo of PostHog. The following order tends to work best: + +1. Tell them the big picture of how the demo will work "I am going to show you two main things - how we collect data and what we help you do with it" +1. Go to /events, show raw events coming in and explain how we're different from Mixpanel/Amplitude as we track all clicks, which means no `posthog.track()` calls necessary +1. Go to /trends, show filtering by url, DAU, breakdown by initial domain referrer, anything else they ask for. It's a good opportunity to share some knowledge e.g. how to understand where traffic is coming from (UTM tags or referring domain) +1. Go to /funnels, explain how those work and that PostHog specifically allows you to see each user that goes through the funnel, rather than aggregates +1. Go to /people/retention and explain how the Retention table works +1. Show off the Toolbar using the "Launch Toolbar" button +1. Explain Feature Flags +1. Go to Default Dashboard +1. Optional: show paths +1. Ask if any questions + +## 3. Setup + +Flip it around and ask them to share their screen. + +0. If they haven't setup PostHog yet, walk them through and help them install the snippet on their website (and anywhere else necessary) +1. Based on the questions from Section 1, set up relevant dashboards for them. + - DAUs are already there, but they might want a /trends view split out by different pages. Have them add that to default dashboard. They may also want to see where traffic is coming from as a separate item in trends to add to the dashboard. + - Have them create an action for a click on their CTA on the home page + - Create a funnel with two steps: pageviews and the CTA action +1. (Optional) if they have an app, help them set up `identify` calls correctly +1. Ask if there any questions + +## 4. Conclusion + +1. Ask them to join our Slack group (and send an email right after!) diff --git a/pages/93.Handbook.SourceMaterial.engineering.release-new-version/default.md b/pages/93.Handbook.SourceMaterial.engineering.release-new-version/default.md new file mode 100644 index 0000000..78585af --- /dev/null +++ b/pages/93.Handbook.SourceMaterial.engineering.release-new-version/default.md @@ -0,0 +1,63 @@ +--- +title: 'Version Numbers' +menu: 'Version Numbers' +--- + +--- +title: Releasing a New Version +sidebar: Handbook +showTitle: true +--- + +At the moment, we release a new version every two weeks ([unless it makes sense not to!](/blog/we-ship-whenever)). This might change in the future. + +## Version Numbers + +Every week we up the 'minor' in `major.minor.patch`. At the moment, we're at version 1 for major. This will only change once we have released sufficient functionality under stage 2 of [our Roadmap](/handbook/strategy/roadmap/). + +Hopefully we will not have to do many patch versions, but if between versions we discover a breaking bug, we will. + +## Timeline + +Three days before we release, on Monday, we institute a code freeze. We branch master into release-[version] and deploy that to our production environment (app.posthog.com). Only bugfixes are allowed to be merged into this branch (and thus put on production) between Monday and the release going out. This gives us about three days to test if this release has any bugs. + +## Checklist + + Figure out what's updated in this release + - `git checkout release-[version]` + - `git log --pretty=format:%s [old-version]..head` + +
+ + Write up the PostHog Array [blog post](/handbook/growth/marketing/posthog-array) + + Copy from PostHog Array and write up the changes into `CHANGELOG.md` following the structure of the previous release + - `git add CHANGELOG.md` + - `git commit -m "Changelog version 1.7.0"` + +
+ + + Update the `VERSION` in `posthog/version.py` + - `git checkout release-[version]` + - `git add posthog/version.py` + - `git commit -m "Bump version [version]"` + +
+ + Tag the version + - `git tag -a [version] -m "Version [version]"` + - `git push origin head --tags` + + +Once a new Docker image has been built (see [Docker Hub](https://hub.docker.com), password in 1password) for the new version, open the [charts](https://github.com/PostHog/charts) repo and make the changes: + +1. Edit the **two** Chart files: [Chart.yaml](https://github.com/PostHog/charts/blob/master/charts/posthog/Chart.yaml) and [ChartV3.yaml](https://github.com/PostHog/charts/blob/master/charts/posthog/ChartV3.yaml), in both: + - Bump `appVersion` to the latest app version (same number as on the docker image). + - Bump `version` (chart version) patch number, unless making big changes to the chart itself. Lesson learned: this can only be `x.x.x`. It can't have a fourth part. +2. Change the docker tag in [values.yaml](https://github.com/PostHog/charts/blob/master/charts/posthog/values.yaml#L6) to point to [the latest tag](https://hub.docker.com/r/posthog/posthog/tags?page=1&ordering=last_updated). +3. `git commit -m 'Bump PostHog app version to 1.0.XX, release chart version 1.0.YY'` +4. `git tag -a 1.0.YY -m "Version 1.0.YY"` +5. `git push && git push origin head --tags` + +Finally to bump the `latest-release` docker image, log to [hub.docker.com](https://hub.docker.com/repository/docker/posthog/posthog/builds) and configure a new automatic build. Set the docker tag to `latest-release` and the source to the tag `1.XX.YY`. Delete any older tag with the same name if present and click "save & build" diff --git a/pages/94.Handbook.SourceMaterial.engineering.releasing-python/default.md b/pages/94.Handbook.SourceMaterial.engineering.releasing-python/default.md new file mode 100644 index 0000000..bb2196f --- /dev/null +++ b/pages/94.Handbook.SourceMaterial.engineering.releasing-python/default.md @@ -0,0 +1,17 @@ +--- +title: 'How to Release' +menu: 'How to Release' +--- + +--- +title: Releasing a New Version (Python Library) +sidebar: Handbook +showTitle: true +--- + +## How to Release +1. Increase `VERSION` in `posthog/version.py` +2. Update `CHANGELOG.md` with a short summary of the changes +3. run `make release` and `make release_analytics` +4. `git commit -am "Release X.Y.Z."` (where X.Y.Z is the new version) +5. `git tag -a X.Y.Z -m "Version X.Y.Z"` (where X.Y.Z is the new version). \ No newline at end of file diff --git a/pages/95.Handbook.SourceMaterial.engineering.setup-ssl-locally/default.md b/pages/95.Handbook.SourceMaterial.engineering.setup-ssl-locally/default.md new file mode 100644 index 0000000..2bfd291 --- /dev/null +++ b/pages/95.Handbook.SourceMaterial.engineering.setup-ssl-locally/default.md @@ -0,0 +1,142 @@ +--- +title: 'Set up SSL via ngrok' +menu: 'Set up SSL via ngrok' +--- + +--- +title: Setup SSL locally +sidebar: Handbook +showTitle: true +--- + +Setting up HTTPS locally can be useful if you're trying to debug hard +to replicate issues (e.g cross domain cookies, etc). + +There are two ways you can get HTTPS locally: + +1. ngrok +2. NGINX and a local certificate. + +The easiest option is to use ngrok. + +## Set up SSL via ngrok + +1. Make sure you [have ngrok installed](https://ngrok.com/download). + +2. Sign up for an ngrok account (or sign in with GitHub) and run `ngrok authtoken ` + +3. Edit `$HOME/.ngrok2/ngrok.yml` and add the following after the line with `authtoken: `: + +``` +tunnels: + django: + proto: http + addr: 8000 + webpack: + proto: http + addr: 8234 +``` + +4. Start ngrok. This will give you tunnel URLs such as https://68f83839843a.ngrok.io + +```bash +ngrok start --all +``` + +5. Copy the HTTPS URL for the tunnel to port 8234 and set it as the value for the `JS_URL` environment variable. Then, start webpack: + +```bash +export WEBPACK_HOT_RELOAD_HOST=0.0.0.0 +export LOCAL_HTTPS=1 +export JS_URL=https://68f83839843a.ngrok.io +yarn start +``` + +6. Use the same URL as the value for `JS_URL` again and start the Django server + +```bash +export DEBUG=1 +export LOCAL_HTTPS=1 +export JS_URL=https://68f83839843a.ngrok.io +python manage.py runserver +``` + +7. Open the HTTPS URL for the tunnel to port 8000. + +**Tips & Tricks** + +If you're testing the Toolbar, make sure to add the ngrok urls to the list on the 'Project Settings' page. + +![Permitted domains](../../images/engineering/toolbar-permitted-ngrok.png) + +Also, watch out, network requests can be slow through ngrok: + +![Network slow with ngrok](../../images/engineering/ngrok-slow.gif) + +## Set up SSL via NGINX and a local certificate + +0. Update openssl if "openssl version" tells you "LibreSSL" or something like that. + +In case `brew install openssl` and `brew link openssl` don't work well, use +`/usr/local/opt/openssl/bin/openssl` instead of `openssl` in the next step. + +1. Create key +``` +openssl req -x509 -newkey rsa:4096 -sha256 -days 3650 -nodes \ + -keyout localhost.key -out localhost.crt -subj "/CN=secure.posthog.dev" \ + -addext "subjectAltName=DNS:secure.posthog.dev,IP:10.0.0.1" +``` +2. Trust the key for Chrome/Safari +``` +sudo security add-trusted-cert -d -r trustRoot -k /Library/Keychains/System.keychain localhost.crt +``` +3. Add `secure.posthog.dev` to /etc/hosts +``` +127.0.0.1 secure.posthog.dev +``` +4. Install nginx (`brew install nginx`) and add the following config in `/usr/local/etc/nginx/nginx.conf` +```nginx + upstream backend { + server 127.0.0.1:8000; + } + server { + server_name secure.posthog.dev; + rewrite ^(.*) https://secure.posthog.dev$1 permanent; + } + + server { + listen 443 ssl; + server_name secure.posthog.dev; + ssl_certificate /Users/timglaser/dev/localhost.crt; + ssl_certificate_key /Users/timglaser/dev/localhost.key ; + ssl_prefer_server_ciphers on; + ssl_session_cache shared:SSL:1m; + ssl_session_timeout 5m; + ssl_ciphers HIGH:!aNULL:!MD5; + location / { + proxy_pass http://backend; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header Host $http_host; + proxy_redirect off; + proxy_set_header X-Forwarded-Proto $scheme; + } + location /static/ { + proxy_pass http://127.0.0.1:8234/static/; + } + } +``` + +5. Add the following command to start nginx +```bash +nginx -p /usr/local/etc/nginx/ -c /usr/local/etc/nginx/nginx.conf +``` + +6. You can stop the nginx server with +```bash +nginx -p /usr/local/etc/nginx/ -c /usr/local/etc/nginx/nginx.conf -s stop +``` + +7. To run local development, use +```bash +bin/start-http +``` diff --git a/pages/96.Handbook.SourceMaterial.growth.customer-support/default.md b/pages/96.Handbook.SourceMaterial.growth.customer-support/default.md new file mode 100644 index 0000000..1d26ea8 --- /dev/null +++ b/pages/96.Handbook.SourceMaterial.growth.customer-support/default.md @@ -0,0 +1,94 @@ +--- +title: 'We aim to delight' +menu: 'We aim to delight' +--- + +--- +title: Customer Support +sidebar: Handbook +showTitle: true +--- + +## We aim to delight + +You can build a good company by focusing on getting lots of customers. To build a great company, you must delight your existing customers. This means that the journey doesn't simply end once we sign up a user - even more important is to ensure that PostHog is consistently delivering value for them. + +## How we ensure customer delight at PostHog + +### It's easy for customers to reach us + +We have a few different routes for users to contact us. As an open source company, our bias is towards increasing the bandwidth of communication with our users and making it easy for them to reach us. We do not believe in putting up barriers by saying they can only reach us through a dedicated support email address, for example. + +These are the ways in which customers can currently reach us, in order of popularity: + +- **Slack** - our active [PostHog Users Slack](https://posthog.com/slack) community frequently post questions +- **Email** - a user may email hey@posthog.com with a specific support query +- **Papercups** - we provide in-app support chat via the [Papercups](https://papercups.io/) widget +- **GitHub** - sometimes users ask about the progress of [certain issues](https://github.com/PostHog/posthog) that are important to them + +### No dedicated support people + +We intentionally have not hired a single person dedicated to customer support. The direct interaction between our engineering team and our users is _hugely_ valuable, and an important part of building trust in our community is the ability for users to talk directly with the people who are actually building the product. + +Providing support is a responsibility shared across our team - we expect everyone to jump in and help a user if you see they have a question or problem (though obviously not at the same time!) Once you have made the initial contact or response, it is your responsibility to see it through or explicitly hand over to someone else if they are better-equipped to help. + +This does mean sometimes that, especially when we are particularly busy, customer success can take a bit of a back seat. + +This is why, in addition, one person takes on the **Support Hero** role each two week sprint. This is a rotating responsibility, where the person involved spends a significant chunk of their time responding to support queries across Slack, email and Papercups, and sharing that feedback with the team and/or building features and fixes in response. We have found that each stint as Support Hero has thrown up a lot of really valuable feedback. + +### Simple, lightweight tools + +We go to where our users are. That means **we respond in the same channel that they reached out to**, rather than trying to funnel them somewhere else. + +We use [Papercups](https://papercups.io/) as our internal platform to get an overview of our support requests. This ensures that we don't miss anyone, especially when their request is passed from one person to another at PostHog, or if they message us over the weekend. If customer success is part of your role, you should have received an invite to join as part of your onboarding - if you didn't, ask Charles. + +The first time you sign into Papercups, please make sure you include your name and [profile picture](https://posthog.com/handbook/company/team) so our users know who they are chatting to! + +A quick overview of Papercups' main features: + +- _Main conversations view_: when you sign into Papercups, you can either [view all conversations](https://app.papercups.io/conversations/all), or just those [assigned to you](https://app.papercups.io/conversations/me). If you are the first person to respond to a query, you will be automatically assigned that conversation. Don't forget to close a conversation by ticking the box in the top right when you are done, so we know which queries have been resolved! +- _Slack integration (1)_: You can reply directly to PostHog app questions either in the Papercups app itself or in the private _customer support_ channel in the [PostHog Users Slack](http://posthog.com/slack) - both work. +- _Slack integration (2)_: In the PostHog Users Slack, messages posted in the _general_ and _feedback_ channels are also synced with the Papercups app. As above, this means you can reply to users in that Slack channel directly or in Papercups. Please try to reply in a Slack thread to any questions. This makes it easier for other users to navigate the channel without a lot of noise, and also prevents Papercups creating a new conversation for each response (as Papercups treats each thread in Slack as a conversation). +- _Email integration_: Any emails that come into hey@ get synced with Papercups and Slack, so you can reply on either of those platforms, or directly to the email. If you reply via email, please make sure you at least bcc hey@ so we know that someone has responded! +- _Notes_: You can leave a 'Private Note' in the right hand pane in Papercups if you need to make a note of something for future reference, e.g. a relevant GitHub issue. +- _Sharing_: If you click 'Share Conversation' at the bottom of the right hand pane in the Papercups app, you can link directly to a conversation. This is useful for sharing context with other team members. +- _Analytics_: 'Reporting' in the left hand panel shows some interesting analytics, such as how many queries we're receiving, average response time etc. We don't report on these yet as we're still figuring out the best way for us to do support. + +Papercups are an open source company, so if there are any additional features you'd like to see then you can check out their [repo on GitHub](https://github.com/papercups-io/papercups/issues). They are building new features quickly, so it's worth checking in to see what new functionality is available from time to time. + +## Some useful questions to ask + +The below questions are evolving so please add more as they come up! + +### Set up + +- Has the customer logged in? +- Has the customer added their team? +- Are events coming into the platform on a recurring basis? +- Are identify calls being made so user profiles are being created? +- Are additional relevant user properties being sent? +- Has the customer set up actions? +- Has the customer set up funnels? +- Has the customer created or modified a dashboard? +- Has the customer used the toolbar? +- Has the customer gotten PostHog into production? +- If applicable, has the customer removed any test data? +- If applicable, is the customer using feature flags? + +### Training and support + +- Does their team have enough general product analytics experience? +- Has their team received a demo of the product? +- Has everyone on the team used the product at least once? +- Does the customer's team know where to find our use case guides? +- Have we told the customer where to get support? +- Have we set up a joint Slack channel with the customer? + +### Providing more value over time + +- Have we added their whole team to our email newsletter? +- Are we monitoring the customer's usage on a dashboard at a team level? + - Is the customer generally above 80% usage for their current plan? +- Have we set up a quarterly catchup with the customer to talk about roadmap/issues/expansion? + - Has their team had a good experience asking for help or reporting issues to us? +- Is the customer using PostHog on a weekly / monthly basis? diff --git a/pages/97.Handbook.SourceMaterial.growth.marketing.blog/default.md b/pages/97.Handbook.SourceMaterial.growth.marketing.blog/default.md new file mode 100644 index 0000000..ca72c05 --- /dev/null +++ b/pages/97.Handbook.SourceMaterial.growth.marketing.blog/default.md @@ -0,0 +1,66 @@ +--- +title: 'Successful Hacker News topics' +menu: 'Successful Hacker News topics' +--- + +--- +title: Blog +sidebar: Handbook +showTitle: true +--- + +The [blog](/blog) is for telling PostHog stories and updates around our product positioning. + +Accessible content with jokes, memes and gifs have done well. + +## Successful Hacker News topics + +A successful post on Hacker News can currently increase traffic by 5-10%. + +Stories about PostHog's early hustling days have done well. + +- Feb 20, 2020 [Launch HN: PostHog (YC W20) – open-source product analytics](https://news.ycombinator.com/item?id=22376732) +- Feb 28, 2020 [Our experience moving to SF to do YC](https://posthog.com/blog/moving-to-sf/) +- Jun 2020 [How we raised $3M for an open source project](https://posthog.com/blog/raising-3m-for-os) +- Jan 2020 [A story about pivots](https://posthog.com/blog/story-about-pivots) + +## Future topic areas + +We want to start writing stories about our team, customers and community. + +To view and contribute blog post ideas join our #ideas-for-blog-post Slack channel. + +Todo: organize the blog post ideas into topic categories and priority list. + +## Publishing + +Submit a PR to [posthog/posthog.com](https://github.com/posthog/posthog.com) with the following content: + +- with a new Markdown file (md, mdx) in `/contents/blog/` +- any assets [optimized]((/docs/updating-documentation)) and added to a new folder under `contents/images/blog/` +- the post added to relevant sidebar in `src/sidebars/sidebars.json` + +Create an annotation on [app.posthog.com](https://app.posthog.com) for the content to track the effect. + +Share the live content with out PostHog Users Slack group first, in the `#editorial` channel. + +Arrange further promotion via the newsletter, social channels and 3rd party communities. + +## PostHog Array + +The PostHog Array is our product release series. + +It's named the PostHog Array, because hedgehogs are collectively known as an *array* of hedgehogs. + +Yakko adds new items to the Array ;) by gathering changes and highlights from PRs and the engineering team. + +Each array includes: +- a community MVP +- a summary of new features, improvements and fixes +- important announcements e.g. deprecations +- detailed overview of each change with an image/video +- community shoutout for other contributors +- open roles +- complete list of PRs included + +Before merging and distributing the release post, check with Tim that the new version has been released. diff --git a/pages/98.Handbook.SourceMaterial.growth.marketing.community/default.md b/pages/98.Handbook.SourceMaterial.growth.marketing.community/default.md new file mode 100644 index 0000000..aa636f7 --- /dev/null +++ b/pages/98.Handbook.SourceMaterial.growth.marketing.community/default.md @@ -0,0 +1,100 @@ +--- +title: 'Replying to the community' +menu: 'Replying to the community' +--- + +--- +title: Community +sidebar: Handbook +showTitle: true +--- + +See [./](Marketing) for community goals. + +## Replying to the community + +- Be kind, concise and direct +- Do not promise delivery dates +- Ask people to create GitHub issues for bugs and feature requests +- Provide a links to relevant GitHub issues and/or pull requests + +## Discussions + +Questions to consider about the platforms we use: + +- Does it align with our mission and values, e.g. open source and its implications +- Does it exclude people +- How does it compare in terms of accessibility +- How does it compare in terms of ease of use + +### Chat/Forum + +We use Slack for our [community chat](https://posthog.com/slack) and share new content in *#editorial* before other non-Slack channels. + +### GitHub + +Community discussions can take place in GitHub issues and pull requests. + +The engineering team can people in rather than having to following everything. + +### Social + +Speak to James for access. + +**Channels:** + +- [Twitter](https://twitter.com/posthoghq) +- [LinkedIn](https://www.linkedin.com/company/posthog/) +- [YouTube comments](https://www.youtube.com/channel/UCn4mJ4kK5KVSvozJre645LA) + +**Content sources:** + +- Original content from our blog, YouTube, GitHub and other channels +- Reply to discussions on our content +- Engage with wider community topics TBD + +**Communities:** + +Discuss sharing specific content with relevant communities: + +- Startup School +- Hacker News +- Indie Hackers +- Reddit: + - [/r/analytics](https://www.reddit.com/r/analytics/) + - [/r/businessintelligence](https://www.reddit.com/r/businessintelligence/) + - [/r/opensource](https://www.reddit.com/r/opensource/) + - [/r/programing](https://www.reddit.com/r/programing/) + - [/r/python](https://www.reddit.com/r/python/) + - [/r/django](https://www.reddit.com/r/django/) + - [/r/startups](https://www.reddit.com/r/startups/) + - [/r/entrepreneur](https://www.reddit.com/r/entrepreneur/) + - [/r/business](https://www.reddit.com/r/business/) + - [/r/marketing](https://www.reddit.com/r/marketing/) + - [/r/dataisbeautiful](https://www.reddit.com/r/dataisbeautiful/) + +### Events + +Speak to James for access. + +We use Eventbrite to organize events. + +### Contributors + +We created a [contributors platform](https://posthog.com/contributors) to recognize the community's work. + +Merch is automatically awarded to people who contribute to any PostHog repos. + +Notable PRs can be manually tagged with `extra merch` to reward large contributions. + +### Merch + +Speak to James, Yakko or Paolo for access. + +We use Shopify for our [merch store](https://merch.posthog.com). + +Note: a large portion of the vouchers will cover shipping. + +### Orbit + +We use [Orbit](https://app.orbit.love) for community analytics. diff --git a/pages/99.Handbook.SourceMaterial.growth.marketing.index/default.md b/pages/99.Handbook.SourceMaterial.growth.marketing.index/default.md new file mode 100644 index 0000000..b2f12a5 --- /dev/null +++ b/pages/99.Handbook.SourceMaterial.growth.marketing.index/default.md @@ -0,0 +1,146 @@ +--- +title: 'Product positioning' +menu: 'Product positioning' +--- + +--- +title: Overview +sidebar: Handbook +showTitle: true +--- + +**The Marketing/Acquisition Team** + +Philosophy: Be kind, concise and direct. + + +## Product positioning + +An **open source product analytics platform** addresses the lack of choice and control amongst disconnected analytics solutions by offering a **unified platform** with **control** over hosting, pricing, source, data, privacy and security. + +**Free PostHog** is positioned to solve product analytics problems for small non-enterprise teams. + +**Enterprise PostHog** is positioned to solve product analytics problems for larger teams and enterprises. + +**PostHog Cloud** is positioned to service clients who need less control. + +**PostHog Self Hosted** is positioned to service clients who need more control. + + +## Target audience + +*Innovative technical teams*, more commonly found in startups, who care about: + +- a unified product analytics platform +- open source +- control: hosting, pricing, source, data, privacy and security + +We will expand to non-technical teams when we have achieved technical awareness saturation. + +### Goal 1: User acquisition + +Increase: + +- Open source self hosted installs + - Tracked in [AARRR dashboard](https://app.posthog.com/dashboard/2973) + - Page views tracked in [Marketing dashboard](https://app.posthog.com/dashboard/2881) +- Premium self hosted leads + - Todo: needs consolidated tracking +- Free cloud signups + - Todo: needs consolidated tracking +- Premium cloud signups + - Todo: needs consolidated tracking + +### Goal 2: Community growth + +Increase: + +- GitHub stars + - Tracked in Orbit +- GitHub contributors + - Tracked in Orbit +- GitHub contributions + - Todo: needs consolidated tracking + - Plugin contributions + - Todo: needs consolidated tracking + +See [Community](./marketing/community) for community function. + +### Requirements + +#### Achieve complete tracking + +Tracking marketing efforts that contribute to acquisition and growth. + +Going beyond marketing, tracking through the funnel to improve targeting. + +#### Reduce effort to contribute + +Reduce the actions, time or complexity for us and our community to contribute. + +#### Reduce acquisition cost + +Reduce cost to acquire users and grow our community. + + +## Functions + +Functions that contribute more to *Acquisition* than another metrics are owned by Marketing. + +Documentation contributes more to *Activation* and *Retention* than *Acquisition*. Marketing is a stakeholder in coverage and completeness. + +*Activation* and *Retention* contribute more to *Referral* than *Acquisition*. + +- Product marketing: + - research: market, competitor + - product positioning + - buyer personas + - messaging: website, careers, channel bios, README.md +- Content marketing: + - [Blog](./marketing/blog): product releases, stories (team, product, customer) + - Audio: audio stories, podcast series + - [Video](https://www.youtube.com/channel/UCn4mJ4kK5KVSvozJre645LA): video stories, vlog series, showcases, tutorials + - [Newsletter](./marketing/newsletter): general, investor + - Handbook: team, culture +- [Community](./marketing/community): + - social: Twitter, LinkedIn + - discussions: Slack, HN, StartupSchool, Reddit + - [onboarding](https://posthog.com/handbook/growth/sales/yc-onboarding): YC startups + - events: online, in-person + - networking: open source, analytics + - sponsorship: open source +- [Press](./marketing/press): + - relationships + - announcements + - media packs +- [Paid](./marketing/paid): + - search + - social + - communities + - newsletters + - websites + - podcasts + - events + - video +- Technical: + - reporting + - tracking + - tooling + - SEO +- Design: + - visual identity + - web properties + - channels + +### Team + +Prioritizing hiring for functions based on acquisition success and capacity in relation to other functions. + +- Product marketing: currently hiring +- Content marketing: Mo +- Community: hiring next +- Press: 2022 +- Paid: 2022 +- Technical: hiring next + +Design provided as a service by the Design team.