题记:在疫情之前,各个大公司加班疯狂,经常出现猝死,遍地哀嚎。谁想到疫情来了,到了2022年一大波高压政策叠加疫情的严重,大厂疯狂裁员,走的人让你卷无可卷,留下的人则卷成原来的幂次方。

是真需要那么卷吗?国外也是同样的模式吗?今天我们就来看一家国外的初创公司,看看人家的工作环境和工作模式。

———–我是分割线,前面都是废话,下面才是正题——————

四个月前,我们创立了自己的初创公司InTune。我们仍然是一家非常年轻的公司,但我们已经为我们的工程团队整理了第一版的原则和最佳实践。

其中大部分来自我过去在多家公司的工作经验,包括两家 FANG。我从这些公司学到了很多很棒的东西。但我也遇到了许多挫折——我们在创业时努力解决的挫折。

我们认识到,并不是每个人都会喜欢下面描述的核心原则和最佳实践。几乎每个人都会发现他们不同意的东西。这是意料之中的——任何两个人都很少在所有事情上达成一致,尤其是当其中的大部分内容与流行的做事方式背道而驰时。总的来说,如果这听起来像是你想要工作的那种环境,并且如果你愿意在纽约亲自工作,请给我发电子邮件。我们正在招聘。

原则

把球队的目标放在第一位 我们的目标是像一支专业的运动队一样运作。我们在工作场所的主要目标是在尽可能高的水平上取得成功,并建立世界上最高效、精益和敏捷的产品团队。以下原则和最佳实践都是为了实现这一目标而设计的。避免任何和所有其他分散注意力的事情。

聘用和提拔最能帮助团队的候选人 我们努力为所有职位招聘最有才华的候选人,无论个人关系、个性或环境如何。

基于种族、宗教、种姓、性别、性取向、民族血统或任何此类因素而支持或反对某人的歧视是不可接受的。

我们认识到,大多数人潜意识地偏向或反对某些人口统计数据。我们希望每个人都努力调整自己的偏见,并根据个人的优点来评判所有候选人。

在工作中促进团队凝聚力

每个人都应该在工作场所表现自己的专业,让他们的同事感到被包容和受欢迎。避免会让任何人口群体感到不舒服、不受尊重或被忽视的行为。

作为负责任的公民,我们都有责任参与政治进程。我敢肯定,你有非常强烈的信念和观点。我们当然有自己的有争议的意见。但不要让你的同事服从他们。在工作时,避免讨论与您的工作职责没有直接关系的话题,因为它们可能会引起激烈的辩论或让您的任何同事感到不安。

在工作中,专注于完成出色的工作、推进公司的使命并发展您的职业生涯。我们鼓励您在办公室以外的时间热情地贯彻您的其他信念。

单一决策者

我们不相信共识或委员会的决策。它导致责任分散,缺乏所有权或责任感。每个人的意见和建议都受到重视和欢迎——但决策最终由一个明确的决策者做出,该决策者承担该决策的所有所有权。默认情况下,单一决策者将是最积极地完成该任务的人。如果该决定被其他更高级的人否决,则该人将承担该决定的所有所有权。

我们希望所有领导者积极寻求并认真考虑大家的反馈和建议,以便做出最好的决定。他们将承担全部责任的决定。

一旦做出决定,我们希望每个人都承诺。有理智的人可以而且会不同意。我们不希望您为他人做出的每一个决定提供支持。但我们确实希望您致力于它而不是破坏它。

如果您感觉特别强烈并想反对某个决定,我们鼓励您与决策者进行 1:1 交谈,或将其升级为高级领导。如果一切都失败了,这对你来说是一个交易破坏者,我们理解并且不会因为你离开而对你不利。但是,留在公司并破坏已经做出的决定,破坏做出决定的人,公开游说反对它或煽动异议,都是不可接受的。

所有权

具有“员工”心态的人被动地按照他们的指示去做。他们会充分利用给定的预算和时间。这不是我们公司想要的心态。

我们希望每个人,尤其是经理人,都有主人翁意识。作为所有者,我们希望每个人都能:

当他们被要求做一些次优的事情时,为自己批判性地思考,回击并提供反馈

做出明智的投资,随着时间的推移会得到回报

避免成本高于交付的不明智投资

像对待自己的一样对待公司的收入和支出。专注于最大限度地降低成本、最大限度地提高生产力并提供出色的客户体验

从小企业主那里寻找灵感,而不是企业员工。

没有混蛋

礼貌对待所有同事,不分资历。强烈鼓励不同意和批评想法,但切勿进行人身攻击。始终控制自己的情绪,切勿对他人大喊大叫或贬低他人。

如果某人犯了错误或做出了您不同意的决定,请客观地指出他们做出的决定中的缺陷和弱点。不要使用色彩丰富的形容词来侮辱他们或他们的工作。

Gordon Ramsay 和 Simon Cowell 肯定不是我们公司想要的那种人,不管他们多么有才华。

最佳实践

设计/代码审查

做一个力量倍增器,而不是忍者 作为建设者,我们建造的东西都有自己的生命。一个糟糕的设计决策将对许多其他人产生多年和多年的负面影响。出于这个原因,工程师可以拥有的最高杠杆是在产品投入生产之前改进设计和代码。

更实际地,这是高级开发人员最能做的事情。在许多公司中,期望高级开发人员主要专注于构建闪亮的复杂项目。如果需要,这当然很棒。但不要忽视你对整个团队的责任。作为一般规则,高级开发人员可以获得的最佳投资回报率是帮助他人改进他们的设计和需求实现。因此,每个设计和需求实现都应由至少一名高级开发人员进行审查。

设计文档

以特定方式实现功能需要时间和精力。通过首先传达您打算做什么来避免浪费重写,如果您的审阅者提出不同的方法,则快速纠正课程。

对于跨越多个组件或交互请求的复杂项目,在开始实施工作之前首先编写设计文档。对于每个受影响的组件,包括一名或两名领域专家作为批准人,并确保您得到他们的明确批准。

如果您是设计文档的审阅者,请将其视为拉取请求 - 快速且异步地对其进行审阅。您不需要整个团队一起坐在一个房间里,听某人排练的演示文稿,只是为了进行设计审查。

请注意,我在上面非常松散地使用了术语“doc”。它不应该是漂亮的、啰嗦的、格式良好的,或者遵循带有一百个样板问题的预定义模板。它应该简洁明了。

在审查文档时,请完全关注提议的设计及其优缺点。避免偏离其他切线。不要被文档的格式或措辞分心。如果它会对您的建议产生有意义的影响,请仅要求提供更多信息或修订。本文档的目标是加快开发速度,而不是放慢速度。

拉取请求草案

对于每个拉取请求,首先创建一个草稿拉取请求,在高层次上展示提议的实现。使用 TODO 和占位符来指示您将接触哪些类/方法。将其发送以供审查,然后立即开始处理实际代码和测试。

如果您的审阅者随后提出了一种完全不同的实现方式,这将减少浪费的精力。一旦你的审阅者批准了草稿,在你的拉取请求中链接到它,以确保每个人都知道已经讨论和同意的内容。

代码审查

除非您正在处理高严重性的生产错误,否则应在合并之前审查所有代码。

争取至少有一位比你年长的审稿人,即使那个人的领域知识较少。如果您和您的审阅者无法就最佳结果达成一致,此人将打破所有僵局。

其他关于解除阻塞的最佳实践在这里特别重要。努力在收到设计文档和拉取请求后的 2 个工作小时内开始审查它们。不要让人们等待。

在审查代码时,很容易将注意力集中在您希望看到的更改上。提醒自己也要赞美做得好的事情。

有些人建议不要一次留下太多评论。我们建议相反。不要在多次迭代中将人们串起来。对他们的拉取请求进行全面审查,并预先发布所有评论。这使其他人可以一次性解决您的所有问题,而花费最少的时间等待进一步的评论。力争在 2 次迭代中合并拉取请求——初始迭代和解决所有审阅者关注和建议的最终迭代。如果定期发生,那么进行 4 次或更多迭代是一种组织气味。

技术作为手段而非目的启动那些听起来很华而不实的迷人“技术改进”项目是很有诱惑力的,但给我们的用户带来的价值却微乎其微。例如,用 Rust 重写你的代码。在许多公司,过度设计的项目和“改进”是司空见惯的,因为这是工程师展示他们的技术能力、“展示影响力”和做在简历上看起来不错的酷工程工作的一种简单方式。

抵制这种诱惑。技术是达到目的的手段,而不是目的本身。将您的时间和精力集中在对我们的最终用户重要的事情上。仅当大型技术项目转化为最终用户的改进时,才开始着手这些项目。成本高于交付的投资是一项糟糕的投资。非常警惕不良投资。

为了强制执行这一点,团队绩效只会根据最终用户影响的改进进行评估。不是承诺在遥远的未来进行无定形改进的技术项目。

如果您进行了技术改进,将用户 API 调用的延迟减少了 30%,那就太好了。

如果您还清了技术债务,从而使您的团队能够交付两倍于用户影响的功能,那也很棒。

但是,如果您的团队将一半的时间用于“技术改进”,而最终交付的用户真正关心的改进更少,那就不好了。

深度先于广度

在许多公司中,我们经常看到每个工程师都试图对团队发起的每一项举措都抱有肤浅的了解。他们经常通过每天花费数小时参加会议和阅读有关他们不从事的主题的文档来做到这一点。

不用说,这需要时间来交付我们客户关心的具体可交付成果。更有害的是,从长远来看,团队中充满了精通但不是任何主题的专家。如果没有专家就事物的运作方式给出权威答案,技术讨论往往会演变成猜测、预感甚至错误信息。

出于这个原因,我们鼓励您保持专注,并在您正在积极从事的一个领域发展深厚的专业知识。一旦你真正掌握了该领域,就可以选择下一个领域来发展专业知识。

这种方法需要与他人进行有效的协作,因为您有时会发现自己被您不精通的域所阻止。这就是为什么我们有其他最佳实践来快速响应和解除对他人的阻止。专家之间的合作将比业余爱好者单独工作带来更好的结果。

在团队层面,总线因素的弹性仍然是必不可少的。每位经理负责确保团队拥有的每个组件至少有 2 名指定专家。

重点

伟大的工作需要高度的专注。为了更好地集中注意力,我们将遵循以下政策:

应尽可能避免开会

在绩效评估期间,会议出席率和参与度通常被用作参与度和能力的代理。抵制这种冲动。这导致人们感到有压力去参加会议、进行面对面的交流和“付出他们的 2 美分”——所有这些对公司来说都是浪费时间。不要根据在会议上听起来很聪明来评价别人

在安排会议之前,首先尝试通过闲暇时间、电子邮件、打电话或走到他们的办公桌前讨论此事,并进行非正式对话。只有在上述所有方法都失败时才安排会议。

限制参加会议的人数。只邀请将积极参与大部分讨论的关键利益相关者。作为一般准则,会议的质量与会议人数成反比。

如果您希望向更广泛的受众征求反馈、收集状态更新或让每个人都了解情况,请使用不同的媒介。发送电子邮件、临时公告、撰写文档,甚至录制会议视频并将其发送给任意数量的人。但是不要在他们不是主要利益相关者的会议上弄乱他们的日历。社会压力决定了,如果您将会议标记为可选,工程师无论如何都会参加,即使这不是很好地利用他们的时间。

人们经常使用会议来隐含地社交和建立团队友谊。午餐是一个更好的方式来做到这一点。他们更具社交性,更有趣,对工作的干扰更少。任何时候你和你一起工作的人一起吃午饭,都要向公司收费。我们鼓励所有团队每周至少参加一次团队午餐,在那里他们可以聊聊事情的进展、公司/经理的最新情况以及团队遇到的问题。我们还鼓励每个人改变他们的“午餐伙伴”,以便了解团队中的每个人。

会议应在需要时聚集在一起

始终牢记 maker-schedules 与 manager-schedules。如果需要开会,请将其与另一场会议背靠背安排。避免将它们分散开——没有人能够在空闲时间的一小段时间里有意义地集中注意力。

避免分心

预计没有人会立即回复消息或电子邮件。即使它来自他们的经理或主管。为了更好地集中注意力并消除人们期望立即响应的倾向,我们鼓励每个人禁用松弛和电子邮件通知 - 您的经理当然不能责怪您遵循公司准则。

取消阻止其他人

集中注意力和避免分心是很好的,但疏通他人也是如此。尤其是在我们的不开会和先深后广政策下,人们在异步工作的同时迅速回应他人是双重重要的。

人们通常每 1-2 小时进行一次小休息或上下文切换。发生这种情况时,请检查您的电子邮件和 slack。回答所有问题,查看所有提案,并取消阻止当前正在等待您的任何人。只有在您回复了所有需要您意见的人后,才能恢复您自己的工作。像对待自己的时间一样珍惜同事的时间。

特别是,避免请求或等待小组会议,只是为了签署提案。如上所述,我们的目标是尽可能避免开会。如果您需要更多上下文,请启动一个 slack 频道或电子邮件线程。如果这不起作用,请打电话给他们,走到他们的办公桌前,或与您想与之交谈的相关人员进行 1 对 1 会面。不要将决定推迟几天,这样每个人都可以同时坐在同一个房间里。

如果有人向您发送太多请求,请直接告诉他们,或与您的经理交谈。如果您收到太多请求,请与您的经理交谈,以找出重新平衡您的工作量和请求的最佳方法。不要只是让人们等待。疏通他人是整个公司更快行动和更敏捷的最佳方式。

回馈

反馈对于帮助人们获得对他们的贡献的认可以及确定他们需要改进的领域至关重要。对于组织来说,提拔合适的人,杜绝反社会行为也很重要。

当反馈是持续的、即时的并且与具体的例子配对时,它的效果最好。为了实现这一点,每个人都将拥有一个公开共享的反馈表,人们可以在任何时间、任意次数填写该表。每当您发现某人做得很好或可以改进的事情时,请花点时间填写表格。

这些表格被设计得非常简洁,填写它们应该只需要 15 秒。响应应该简短而简单。例如,“必须等待一整天才能让我的代码得到审查和解锁。” 或者“在一小时内审查了我的拉取请求,提出了非常有用的建议。” 我们鼓励每个人每天至少提供一条反馈,包括赞美和改进建议之间的平衡。

上述表格回复只能由该人的经理及其管理链中的其他人查看。然后应在 1:1 期间总结和讨论这些响应,但应始终保持匿名。

规划和项目管理 我们坚信敏捷:

个人和交互超过流程和工具

工作软件优于综合文档

合同谈判中的客户协作

响应变化而不是遵循计划

但我们并不是任何特定的敏捷实施或仪式的忠实信徒。特别是 Scrum 将被避免,因为时间密集的“冲刺计划”过程,以及任务的任意且容易出错的时间盒。

由于上述原因,我们鼓励使用更类似于看板的东西。IE:

保留未按优先顺序排列的积压任务。任何人都可以向此集合添加任务

经理将使用电子邮件/松弛/离线对话将这些无优先级的任务放入有序的任务列表中以进行处理

如果需要,将特定人员分配给任务

如果跟踪速度是团队可操作的指标,则为每项任务分配“复杂度分数”

当某人正在寻找要处理的任务时,请选择最接近有序列表顶部的任务——他们可以高效地工作或已被分配到的任务

出于讨论会议的原因,站立会议最好通过松弛来完成。一旦他们开始他们的工作日,每个人都可以发布他们前一天的回顾、当天的计划和问题/阻碍。为此目的有一个专门的渠道,它也可以作为每个人一直在做的工作的书面总结

不要觉得被迫采用看板或任何其他冲刺仪式的所有其他花里胡哨,除非您确定它们正在为您的团队增加价值。

专注于重要的事情

与其他初创公司不同,我们重视工作与生活的平衡,并且不期望在其他地方司空见惯的艰苦时间表。同时,我们的目标是提高工程卓越标准,打造世界上节奏最快的工程团队。为了实现上述两者,我们希望每个人都能有效地利用他们在办公室的有限时间。

不要把你的工作时间浪费在对公司没有明显积极影响的事情上。例如:

参加您不是主要利益相关者的会议

将行动项目分配给其他人,这些行动项需要付出大量努力,但只有一点点有用

参加与您的日常工作无关的信息会议

在内部邮件列表和闲散小组上辩论政治

聚会或扩展社交

个人爱好和兴趣

上述几个例外是午餐和下班后的活动。我们强烈鼓励每个人利用他们的午餐时间进行社交、了解 Haskell、长时间散步、辩论标签与空间,以及做任何你想做的事情。当然也欢迎您组织可选的下班后活动,例如欢乐时光、棋盘游戏之夜和其他社交活动。

我们鼓励每个人在工作之余过上充实的生活,在那里您可以参加任何您感兴趣的活动。如果您发现自己在工作时需要休息,请继续休息一下。去散步,做一些冥想,任何可以帮助你充电的事情。但是,不要将您的时间和其他人的时间浪费在精神负担重且“感觉像是工作”但实际上并没有为我们的客户带来价值的事情上。

职业成长

职称和晋升

我们不相信外在的和任意的职业发展标记,例如职称、堆栈排名的绩效评级以及大多数 FANG 公司使用的“晋升流程”。特别是,促销过程在以下方面非常危险:

引入不必要的复杂性,作为炫耀技术能力的一种方式

煽动不必要的官僚作风,人们专注于记录他们的成就而不是完成工作

想要展示个人影响力的人会产生不必要的产品流失

忽略个别很小且不足以在促销包中脱颖而出的重要改进

引用 Google Sheets 的前任负责人的话:

我们有很多小错误和可用性问题,通常在我们无法与 Excel 相提并论的领域。用户希望我们实现……非常标准的电子表格费用,以及非常合理的要求。……然而,将这些类型的问题与“更大影响”的项目进行优先排序是一场持续的斗争。我们的工程师关心产品并希望对其进行打磨。但他们也想升职。因此,我们会优先考虑那些在推广委员会看来更好的项目的产品润色

我们相信有机的职业发展,而不是上述外部和官僚的晋升过程。通过以下方式逐渐发生的增长:

提高你的技能——包括人际交往能力、一般工程技能和特定领域的技能

随着您获得领导更大范围和更重要的项目所需的信任,扩大您的影响范围

由于您为团队和公司提供的价值而增加您的薪酬

出于法律原因,我们可能会根据您多年的经验和薪酬为您提供特定的职位。但在内部,这是我们没有注意到的。您可能会以刚毕业的大学毕业生的身份加入公司,但经验和技能有限,主要从事较小的个人项目。十年后,你可能会发现自己已经积累了大量的技能,领导着一个团队致力于一项重要的公司计划,并且收入是以前的三倍。这一切都将逐渐无缝地发生,无需经历任何晋升过程或一夜之间的变化。

基于绩效的补偿

所有权是我们公司的核心原则之一,这将反映在我们的薪酬计划中。每个人都将获得一份基本工资,以满足他们的生活需求。除此之外,我们相信基于绩效的薪酬。具体来说,我们认为每个人都应该按照以下方式获得补偿:

您的直接团队的成功。您的团队越成功,整个团队的上升空间就越大

您为直接团队提供的价值量。你的团队的成功决定了蛋糕的大小——你为团队提供的价值量,将决定你能为你带来多少蛋糕

作为一家年轻的初创公司,以上是自然而然发生的事情。如果我们的创业成功,我们的股权将变得非常有价值。你为公司提供的价值越多,你获得的股权奖励就越多。

随着我们公司规模的扩大,上述关系开始破裂。在大多数 FANG 公司,员工的薪酬与团队的成功脱节。他们的薪酬与他们对他们影响最小的大公司的成功或团队内的任意堆栈排名高度相关。这会导致高度功能失调的结果。为了防止这种情况发生,一旦我们的初创公司发展到超越单一的工程团队,我们将找到新的机制来恢复这种一致性。

保留

如果您对您的项目、工作职责、日常工作或薪酬有任何疑虑,请随时与我们联系——我们欢迎交谈。

据我们了解,还有其他公司对考虑离职的员工采取惩罚措施。这绝对不是我们会做的事情。如果您告知我们您正在认真考虑的另一个工作机会,我们将永远不会对您不利。我们希望您保持开放的心态,并在接受之前先与我们交谈。