硅谷对工程师的了解是传统公司所不具备的

2021-01-11 11:19:59

我曾在多家科技公司工作:来自传统公司通过投资银行向高成长的科技公司提供商店和咨询服务。我还与在初创公司,银行,汽车,大型科技公司以及其他"公司。这种混合方式对硅谷公司和总部位于该地区以外的公司进行了健康的抽样调查。

我注意到,硅谷公司始终如一地传统竞争对手无法理解或在实践中无法实现的一些事项-尤其是在欧洲。这些做法可导致在公司一级更快地进行创新,为工程师带来更好的专业成长,并为更好的用语带来更好的“利用率”。反过来,硅谷的公司可以(也可以这样做)支付更高的工资,并且他们从同一个人身上获得更多的价值。

在本文中,我将使用“类似于硅谷的公司”一词。指的是在每次聘用软件工程人员时都能发挥高杠杆作用并且传统上总部位于硅谷的现代公司-尽管许多新公司不再在那里开始。它们是每个工程师的工作产出可与Facebook或Google之类的公司相媲美的公司。他们使用类似的方法,通常可以吸引其他类似“硅谷”的人才。公司。

在“传统”中公司,开发人员获得分配给他们的工作项目-最常见的是JIRA门票。这些票由产品(或项目)经理审核,并且它们具有最关键的细节来完成工作。他们被期望做到这一点。除非有必要澄清票证中的详细信息,否则几乎不需要提问题。

加入类似于SV的"公司,您将几乎看不到这一切。有项目,有项目经理和工程经理。但是在大多数情况下,都希望(并鼓励工程师)弄清楚" how"工作,包括做出更大的决定。在某些地方,每个项目都将由一名工程师领导,以便于分拆工作。在其他地方,工程经理或高级工程师可以执行此工作。无论如何完成,都会激励所有工程师着眼全局,放开自己,并解决他们看到的任何问题。

工程师主动采取的措施类似于SV。公司庆祝。通常会看到工程师建议的服务和功能,或者让团队花费大量时间来偿还团队中倡导的技术债务。对于经理来说,告诉工程师确切的工作,将他们的工作分解成小块或对其进行微管理是很罕见的。人们自我管理。

传统公司的开发人员期望完成分配的工作。在类似SV的公司中,必须解决业务中存在的问题。这是一个巨大的差异。它影响任何工程师的日常工作。

在传统公司中,开发人员执行其任务的想法通常以分层设置结束。我已经与一家拥有六个项目管理级别的银行的人们进行了交谈。开发人员排在最后两位。允许从第三级进行决策。基本上,从事这项工作的人没有发言权-是设计使然。我需要补充一点,这家银行正在努力解决其软件部门的运作方式(不工作)吗?

将其与公认的工程师比其他任何人都能够更好地解决实际问题的地方进行比较。领导者知道与他们共享所有相关的业务环境并为执行留出空间对企业而言是最大的利益。

传统公司倾向于将工程师的时间花在编码上要花费8个小时。通常,任何不在计算机前进行编码的时间都是浪费。他们用高成本证明了这一点。我听说有人这样描述原因:

与许多其他功能相比,软件工程师的薪酬更高。我们需要相应地利用它们。我们不能让它们空着。

"类似SV"公司将软件工程师视为最适合解决组织存在的问题的人员。他们不仅雇用技术技能,还雇用沟通和解决问题的能力。他们的想法有点像这样:

软件工程师是我们公司收入最高的人之一。这是因为它们可以通过编码和问题解决带来最大的利用。我们希望向他们展示业务,因此在他们进行正常工作时。工作中,他们还可以为企业找到更有意义的机会。

在实践中,一个积极进取的工程师可以轻松地使“工厂工人”产生多倍的影响。谁被告知该怎么做。在最坏的情况下,当工作规范清晰正确时,两个人的输出相同。但是,鼓励解决问题的工程师通常会停下来思考,然后再着手工作,寻找机会以发挥更大的影响。这是我在类似SV的聊天室中进行的几次对话。公司询问工程师是否可以执行X:

"我做了一些挖掘工作,尽管我们可以做X,但是如果我们可以通过此功能来缩小范围而又不会对业务产生影响,那么我们可以在不进行任何代码更改的情况下交付它,只是更改一些配置文件。"

"我担心我们能否交付该项目,并认为我们应该暂停一下。我检查了竞争对手的行为,其中一个竞争对手启动了类似功能,但在受到监管机构调查后又将其撤销。我们是否已与法律团队核实了我们是否可以发货呢?"

"我查看了我们的积压,项目Y确实很相似。如果将项目X和项目Y组合在一起,则可以以很少的开销运送两件东西。

"我们现在可以在旧的基础架构上构建该项目,但是随后我们已经迁移到了一个月后就可以完成的新基础架构。我们可以将项目推迟一个月,直到新基础设施准备就绪,以避免重复工作吗?如果没有足够的业务理由要在一个月内推出,我真的建议我们这样做。

在鼓励解决问题和遵循以下指示的结果的环境中,可以做出更好的决策。

SV公司的透明度很高。尽管有例外-Apple或Palantir可能会非常注意为工程师提供尽可能少的信息-但我观察到的大多数类似SV的东西。公司尽可能多地分享。他们以符合GDPR,PII和其他适用于他们的法规的方式进行此操作。

员工(不仅是工程师)经常可以访问实时业务指标和数据源,以编写自己的查询并创建自定义报告。在Skyscanner,我们每天都会收到有关每日收入明细的每日摘要电子邮件。在Uber,每周都会有类似指标的每周成长通讯。

随着公司的成长和上市,这些信息的合并就会发生。尽管如此,工程师仍然可以访问其组织的业务数据,以帮助指导其决策。在传统公司中,很多都不存在。工程师获得了规格,更高的规格将知道为什么要做出决定-至少就是这个主意。

在SV公司,期望每个团队成员都了解他们的工作会影响业务的哪一部分以及如何影响。团队的目标很少是仅仅发布一个功能:通过发布Feature1来减少2%的客户流失率,或者通过发布ProjectX来使收入每年增加1000万美元。

鼓励SV工程师与业务的其余部分进行交互,并在其他工程师之外建立关系。实际上,更多的高级工程师通常会这样做:从与产品经理进行1:1对话到参加客户研究会议。但是我看到新的入职工程师直接与业务利益相关者合作,而没有任何人眨眼。

相比之下,传统公司通常使开发人员无法与其余业务进行交互。不过,这不是它的呈现方式。他们会说“我们想保护我们的工程师免受干扰”。但是我听说过一个工程经理想要邀请团队成员参加产品演示的故事,而产品经理却拒绝了这个想法。 "我们需要他们工作,我们不能分心。是一个常见的借口。

当传统公司的工程师在团队之外建立关系时,他们经常会被告知他们“没有足够集中精力”,“浪费时间”。或从事与他们的生意无关的事情。这种"不寻常"活动通常在其绩效评估中被记录为负面。

对我来说,公司选择一些定位最佳的问题解决器,然后强迫他们进入“您只是编写代码”的行列,这听起来很疯狂。框,但它正在发生。那些试图使用与代码行相关的度量来衡量工程生产力的公司或承诺怀疑他们的工程师为何不以产品为中心或产品意识的公司。

当您是一名工程师并且对另一个团队的工作方式有疑问时,您在传统团队和类似于SV团队的问题上会有所不同。公司。

传统公司将鼓励分层沟通。这都是对"盾"工程师,也因为这些地方的经理更喜欢成为信息中心,而不是放弃对这部分的控制。这是经常向另一个团队提出问题的方式:

"类似SV"公司鼓励工程师之间的沟通,减少中间商。在所有情况下,这都更快。而且在其他团队的工程师无法提供帮助的情况下,此过程可能会退回到传统的"经理协助讨论的模型:

2020年的发展可能令人沮丧。不是因为编写代码-这很容易! -但是周围的东西。设置依赖关系。部署到生产或测试环境。 CI / CD。监视和警报。当您由几个人组成的团队时,这些并不是什么大问题。尽管如此,他们还是会时不时出现。

但是,随着公司的发展,开发人员的经验会变得更加令人沮丧。它从较小的事情开始,例如构建时间变慢,依赖项累加或需要跨服务进行的更改。它继续找出哪个团队拥有哪个服务,通过影响许多团队而导致的小规模迁移,最终在整个工程中重新定义架构。

框架和工具变化很快,工具很少跟上。关心工程师的公司专注于解决问题,他们迅速建立了各种基础设施,平台和SRE团队,以减少开发人员的工作流失。

雇用只专注于工作速度更快的其他软件工程师的软件工程师听起来似乎是违反直觉的,但在许多地方却并非如此。这是巨大的回报,可以帮助这些公司更快地发展,并使开发人员保持快乐。

(这恰好也是我非常感兴趣的领域,也是我验证一些启动想法的地方-如果您对此领域有想法,请打我。)

任何想要竞争工程师薪水的类似SV的公司都需要创造高杠杆,这些工程师带来的价值超过他们的薪水。这种杠杆作用既可以规模发展,也可以发展业务。减少浪费在不必要的通讯等事情上的时间,而所有工具都增加了这种影响力。为工程师提供足够的自主权,以(过度)为业务做出贡献,就是您可以保持这种优势的方法。

如今,谷歌,Facebook和其他知名公司所支付的高薪是规模杠杆。这些公司之一的工程师通常会构建数百万客户使用的功能。这种杠杆作用和增值本身就是回报。

类似于SV的创业公司所做的就是利用软件工程师来发展业务。这就是Fog Creek软件的一名软件工程师如何为广告类别字段实现价值一百万美元的想法。这就是一些工程师和设计师如何在Facebook上建立“赞”按钮的方式。此按钮的业务影响达到数十亿美元:允许Facebook(重新)定位广告,并" track" Facebook网站之外的用户。

以上提到的任何人是否曾在"在环境中,他们的想法本来就是这样:想法。 "类似SV"初创企业激励工程师提出商业想法并加以实施。每个人都受益匪浅:有想法和业务的人。

充分利用工程师的公司将无须支付接近市场最高价或高于市场最高价的麻烦。大本营是非大型科技的一个很好的例子。充分利用工程师的公司,这意味着他们还可以在全球范围内支付SF市场最高的基本工资,同时保持盈利。

在不同类型的公司如何处理与工程师的关系方面,存在很多方面的差异。不过,最大的是。 "类似SV"公司将工程师视为价值创造者和创造性的问题解决者。传统公司将其视为工厂工人。

这种思想上的分歧导致有远见的公司能够向工程师和工程师支付更高的薪水,同时赋予他们更大的自主权。工厂工人具有可以定义的非常明确的附加值。另一方面,如果使用得当,富有创造力的问题解决者可以带来10倍的价值。给他们更多的报酬,给他们更多的自由是有意义的,因为这是使他们能够贡献更多价值业务价值的方式。

在类似SV的环境中工作后,您还很难回到传统的环境。 每个人都有其明确定义的角色的工作场所,当您走出它时,眉毛就会扬起。 作为软件工程师,您是一个解决问题的人,而不是工厂工人的宜人工作场所。 你今天是哪一个? 拥有20多名技术招聘人员 聘请管理人员做出贡献,这是一份关于优秀开发者简历的综合指南。 免费供工程师失业。 在这里抓。 喜欢这篇文章吗? 订阅我的新闻通讯,并在收件箱中获取以后的帖子。 读起来不错,订阅人数超过5500。 订阅我的时事通讯,并及时了解实用的软件开发和工程职业发展。