关于程序员:硅谷公司我们称他们为软件工程师而非打工人

42次阅读

共计 4579 个字符,预计需要花费 12 分钟才能阅读完成。

我曾在多家公司工作,既有传统的征询公司,也有投资银行,还有飞速崛起的科技公司。我也曾与很多软件工程师交谈过,他们之中有人在守业公司工作,也有人从事银行、汽车和高科技,而更多的则是传统公司。这些公司有很多都在硅谷,但也有总部坐落在硅谷之外的公司。

我发现,硅谷公司总是能“获取”一些传统公司既不能了解也无奈在实践中实现的价值——尤其是在欧洲。有一些实践经验可能促成公司的翻新,帮忙工程师失去更好的业余成长,或者说让工程师施展更大的价值。硅谷公司能够(也违心)领取更高的薪水,同时也可能从同一个人身上取得更多价值。

在本文中,我通过“硅谷公司”来代指那些可能从每一位工程师身上获取更大价值的古代公司,且这些公司的总部坐落在硅谷(只管有很多新起之秀并非从硅谷起家)。这类公司的每位工程师的产出可能与 Facebook 或 Google 一较高下。他们应用的办法都很相似,而且可能从其余硅谷公司吸引到人才。

这些公司之所以技高一筹,次要体现在以下几个方面:

软件工程师的自主性

在传统的公司中,开发人员只须要等着下级给指派工作,大多都是 JIRA 上的工作票。这些工作票由产品经理或项目经理审核,工作票上记录了工作的要害细节。而开发人员只须要依照工作票实现工作。除非工作票中有一些细节须要被廓清,否则就不须要发问。

然而,在硅谷公司中,状况就会有所不同。公司内有很多我的项目,还有很多程序经理和工程经理。但大多数时候,工程师须要靠本人弄清楚如何实现工作,包含一些重大决策,而且会失去公司的激励!在有些状况下,我的项目的负责人由工程师负责,这样能够不便合成工作。而有些状况下,则由工程经理或高级工程师来承当这些工作。无论采纳何种形式,公司都心愿激励工程师着眼全局,突破固步自封,解决所有他们发现的问题。

工程师的踊跃主动性是硅谷公司的胜利。 在这些公司中,常常能看到有些服务和性能是在工程师的倡议下构建的,或者在团队成员的提倡下,多个团队独特单干投入专门的工夫来解决技术负债。而等着经理来通知工程师该做什么,或者将他们的工作分解成小块,或事无巨细地治理团队,反而不失常。 所有人都是自我管理。

在传统公司,开发人员只须要实现调配给本人的工作。而在硅谷公司,开发人员须要被动解决业务上的问题。这是一个微小的差异,会影响到工程师每一天的工作。

在传统公司,开发人员只须要实现下属调配的工作,这种人员治理的形式最终都会造成等级制度。我曾与某家银行的职员交谈,他们公司的项目管理有 6 个等级。而开发人员处于最底端的两个级别。所有的决策都必须来自第三层以上。真正干活的人基本上没有任何话语权。不必我多说你就能猜到,这家公司始终被一个问题所困扰:如何让软件工程师好好干活?

与这类公司相比,有些公司则十分分明工程师有能力解决问题,他们可能比其余任何人更好地解决理论问题。领导都明确争取利益最大化的形式,就是通知工程师所有的业务背景,给他们执行的空间。

图:向下传播业务指标,并赋予工程师自主权,让他们来做决定,是组织疾速后退的能源

有思维,有能力的工程师

传统公司往往认为,工程师应该将 8 个小时的工作工夫全副花在编程上。任何时候,只有工程师没有坐在电脑前面写代码,就是在浪费时间。而且他们不惜高额老本来证实一点。我曾听见有人这样说:

软件工程师的工资比很多职位都要高。咱们须要相应的回报。咱们不能让他们闲着。

硅谷公司则认为软件工程师是组织中最适宜解决问题的人群。招聘工程师不仅是为了技术,还有沟通与解决问题的能力。他们的认识是:

软件工程师是咱们公司中薪水最高的人群。这是因为他们编写代码和解决问题的能力可能带来最大的价值。咱们心愿他们多多接触业务,这样在实现“惯例”工作之余,他们还能发现更多重大商机。

在理论工作中,一位有能源的工程师发明的价值是一位听命行事的“工厂工人”的数倍。最差的后果也不过是,在标准清晰正确的状况下,两位工程师都拿出同样的产出。然而,敢于解决问题的工程师在着手站长博客工作之前,往往会停下来认真思考,寻找更有影响力的机会。当我问硅谷公司的几位工程师,是否能够做 X 之后,过了一段时间他们给我的回答是:

·“我做了一点考察,咱们的确能够做 X,然而放大这个性能的范畴也不会对业务有任何影响,咱们无需做任何代码变更就能够推出这个性能,只须要批改几个配置文件。”

·“对于咱们是否能够推出这个我的项目,其实我有点放心,我感觉咱们应该临时放一放。我考察了一下咱们的竞争对手,其中有一家推出了相似的性能,但在被监管机构考察后,又撤销了这个性能。你有没有问公司的法务团队,咱们是否能够推出这样的性能?”

·“我看了一下积压的性能列表,我的项目 Y 与之十分类似。如果咱们能够将我的项目 X 和我的项目 Y 联合到一起,那么就能够同时公布两个产品,而且还无需额定的开销。”

·“咱们能够在旧的基础设施之上构建这个我的项目,然而等到一个月后,咱们的新基础设施搭建结束,咱们还须要再进行移植。这个我的项目能够推延一个月吗?等到新的基础设施筹备好之后再入手,就能够防止双倍的工作了。如果业务上没有非凡的需要,要咱们在一个月之内推出这个性能,我真心倡议再等一等。”

与听从批示相比,激励工程师解决问题的环境带来的价值更高,而且可能做出更好的决策。

外部数据、代码与文档的透明度

硅谷公司非常重视透明度。只管也有一些例外,比方苹果或 Palantir,他们给工程师的信息太少了。我发现大多数硅谷公司都违心分享他们的信息。他们在通用数据保护条例(GDPR)、个人身份信息(PII)以及其余规定的范畴内尽可能地分享信息。

员工(不仅是工程师)都有随时拜访业务指标与数据资源的权限,他们能够编写本人的查问,并生成自定义的报表。在 Skyscanner,员工每天都会收到无关每日支出明细的汇总邮件。而在 Uber,员工也会收到无关相似指标的周报。

随着各个公司的倒退与上市,这些信息会被整合。然而,工程师依然能够拜访公司的业务数据,帮忙他们做决策。而在传统的公司,根本不会呈现这样的状况。工程师拿到的是规格阐明,只有下层才晓得决策前面的起因——至多,公司的主旨就是这样。

公开业务与业务指标

硅谷公司心愿每个团队成员都理解他们的工作将会影响到哪些业务,以及会造成怎么的影响。团队的指标只是推出某个性能的状况十分常见,比方推出性能 1 能够升高 2% 的客户流失率,或者推出我的项目 X 预计每年能够减少一千万的支出。

硅谷公司激励工程师多接触其余业务人员,与工程师之外的人员建设关系。 在实践中,很多高级工程师都会与产品经理结伴加入客户研究大会。然而,我也见过新来的工程师很快就间接与业务利益相关者打成一片。

相同,在传统公司里,开发人员基本上不可能接触其余业务人员。然而,他们可不会体现进去,他们会说:“咱们不心愿打搅工程师”。我也曾据说,有一位工程经理心愿团队成员加入产品表,却被产品经理回绝。他们的借口往往是:“咱们心愿他们好好工作,不心愿他们被打搅。”

如果传统公司里的某位工程师与团队以外的人员来往,就会被人说:“不够分心”,“浪费时间”,或者“不务正业”。这类“不失常”的行为经常会给他们的业绩评估带来负面影响。

听起来十分荒诞,有些公司手握一流的解决问题高手,却强制把他们塞进了小格子里,而后说“你只须要写代码”,然而事实就是这样。同时,试图通过代码行数来掂量工程师生产力,或者埋怨为什么工程师不关怀产品,也是同一类公司。

工程师之间的三角沟通

如果你是一位工程师,并且你想问另一个团队一个问题,则能够看看传统公司与硅谷公司之间的差别。

传统公司激励等级式沟通。这不仅能够“爱护”工程师,而且因为处于这些职位的经理更心愿充当信息枢纽,他们不愿放弃这部分的管控。如果你想问另一个团队一个问题,则须要:

硅谷公司激励工程师之间间接进行沟通,不通过中间人。这种沟通形式更快。即使其余团队的工程师帮不上忙,也能够回到“传统”模式,找经理帮忙促成探讨:

致力改善开发人员的工作体验

2020 年是蹩脚的一年。不是指写代码方面,写代码很容易!而是因为其余相干的工作:设置依赖性、部署到生产或测试环境、CI/CD、监督与警报。如果你在一个由多人组成的团队之中,那么可能没什么问题。然而,你迟早都会遇到这些麻烦。

随着公司的倒退,开发人员的体验会越变越糟。刚开始的时候,都是一些小问题:构建工夫变得缓慢,依赖性减少,或者须要批改跨多个服务的代码。缓缓地,团队须要搞清楚各自负责的服务;一些迁徙规模虽小,但因为波及多个团队,而呈现失败;乃至最终须要从新定义整个工程架构。

框架和库的变动速度十分快,而且很多工具很难跟上步调。对于各个公司来说,如果不心愿开发人员的体验变糟,就必须激励工程师侧重于解决问题,建设各种根底设置、平台和 SRE 团队。

一些的软件工程师的工作指标只是为了让其他软件工程师能更快地工作,听起来仿佛有违常理,但很多时候并非如此。帮忙这些公司疾速倒退,可能取得微小的回报,而且开发人员也更加高兴。

自主性与高薪之间的杠杆效应

硅谷公司违心向工程师领取高薪,为的是取得更高的杠杆率,因为这些工程师带来的价值超过了他们的薪水。 这种杠杆效应既能够来自规模,也能够来自业务倒退。缩小在不必要的沟通上节约的工夫,利用工具等都能够为这种杠杆带来价值。给工程师足够的自主权,能够为业务倒退做奉献,也能够放弃高杠杆率。

现在 Google、Facebook 和其余公司领取的高薪都是规模的杠杆效应。这些公司的工程师构建的性能领有数百万的用户。这种杠杆效应和附加的价值自身就是回报。

图:自主性越高,杠杆率越高,发明的价值越高,薪水就越高(同时公司还能夺取巨额利润)

硅谷公司就是利用软件工程师来倒退业务。FogCreek 的软件工程师正是通过这种形式实现了百万美元的广告分类。Facebook 的工程师和设计师也是通过这种形式构建了点赞按钮。这个小小的按钮带来的是几十亿的商机:Facebbok 通过按钮定位广告,并在 Facebook 之外追踪用户。

如果下面这些人在传统环境中工作,那么他们的想法永远也不会有机会实现。硅谷的守业公司激励工程师提出商机,而后再实现。提出想法的人和公司业务都能够从中获益。

利用工程师建设杠杆效应的公司基本不发愁领取市场最昂扬的薪资,甚至超过最高程度。Basecamp 就是一个很好的例子,尽管不是科技巨头,但他们也很好地利用了工程师,因而他们也能领取软件市场的昂扬薪资,同时还能放弃盈利。

整体最大的区别

不同类型的公司在解决与工程师之间的关系方面有很多差别。最大的区别就在于,硅谷公司认为工程师可能发明价值,领有解决问题的能力;而传统公司则将他们当成工厂的工人。

思维上的这种一致导致,思维比拟前卫的公司不仅可能领取更高的薪水,而且还能给予工程师更多自主权。而工厂工人的价值是事后定义好的,你能够做出估算。另一方面,如果利用切当,富裕创造性、可能解决问题的工程师能够带来 10 倍的价值。因而,向他们领取更高的薪水,给他们更多自在,天然也很正当,因为这是你激励他们奉献更多业务价值的伎俩。

在硅谷公司之类的环境中工作过的人,很难回到传统的工作场合,在那里,每个人的职责都有明确的定义,每次你来到本人的小格子,就会有人皱眉头。

作为软件工程师,在负责解决问题的环境中工作更加令人心神愉悦,而不是作为一名工厂工人。现在的你身在哪边?

正文完
 0