码农的职业发展框架

  绩效评估和职业发展机会与公司文化密不可分。 了解它们随着时间的变化和发展,将有助于指导我们在实施或修改增长框架时的选择

  我们为什么要谈论这个?

  在作为被评估的人时,我从来没有非常关注绩效评估。 老实说,他们很痛苦。

  我在一家庞大的国际专业服务公司里度过了职业生涯的最初几年。 人力资源部是一台油量很大的机器。 一切都进行了形式化,模板化,标准化,修饰和简化。

  专业服务公司通常不会开发太多软件,因此它们没有以任何方式支持或区分我们的软件工程角色。 我们每年进行一次标准化SMART绩效评估。 不好玩,感觉这浪费了我大量的时间,而且大多数问题都不重要。 或者至少我们没有获得有关如何使它们相关的指导。 我想到了尼尔·福特,丽贝卡·帕森斯和帕特里克·夸(Patrick Kua)撰写的"进化架构"一书中的一条线:"越重用的东西,就越难用。"与软件一样,绩效评估也是如此。

  我们只是尽力做文书工作。 然后,我们的老板会去找他的老板,告诉他们他的团队做得很好,我们就会加薪。 或不。 一切都很不透明。 据我所知,绩效评估只是庞大的公司引擎的一部分,该引擎吸取了意见,并根据机器的异想天开表达了高兴或失望。

  从那里,我经过迂回曲折的路线,来到了一家年轻的初创公司,当时我很惊讶地收到一个带有几个方框的小型电子表格的链接,并告诉我:"这是我们的绩效评估框架。"

  这不是我习惯的! 我以前的经验让我期望应该有更多的盛况和情况。 作为一个刚起步,有进取心,进取心的工程经理,我觉得自己变得更好是我的职责范围。 我着手进行一些研究,并为我们的职业发展框架的下一阶段发展提出了一个适度的建议。

  这篇文章最初是作为管理层的备忘录开始的。 它从未交付。 我的研究使我无法进行交付。 我们吃的还不错。

  我已经习惯了期望性能和增长成为发出隆隆声的设备的一部分,该设备发出很大的噪音,但收效甚微。 回想起来,我认为我们谦虚的电子表格(我们仍在使用中!)在公平,透明和设定职业期望方面做得比我以前的雇主做得好。

  在我们这么多的后工业历史中,职业发展是"职业阶梯"的代名词。在本文中,我想探讨一下这个想法的来历,今天为什么不再重要,然后为 当前需要建立或调整职业框架的任何人。

  背景与上下文

  一家公司聘请了一位顾问来帮助识别和改善他们的文化,这是一个虚伪的故事。 顾问问道:"在这里得到晋升,您需要做什么?"在听完并记录所有答复后,顾问将其交给公司,并说:"这是您的文化。"

  职业框架与您公司的文化密不可分,应格外小心。 "正确处理"可能需要花费大量时间,并且会增加大量计划和流程。 仅复制其他人的工作,或您在以前的雇主那里看到的工作,很诱人。 但是,我们必须意识到,事物的方式束缚着大量的社会和历史背景。

  职业阶梯—历史背景

  在工业革命之前,中层管理并不是真正的存在。 通常,除了企业所有者以外,没有其他人与经营它有很大关系。 教堂和军队之外没有很多大型组织。 不幸的是,确实存在的那些人主要是基于奴隶劳动。

  在工业革命之后,分工和管理的概念作为优化大规模生产和资源开发的方式而应运而生。 工人被看作是工业轮中的齿轮,并且已经放置了控制结构以优化生产。

  一个著名的例子是泰勒主义,也被称为"科学管理",以弗雷德里克·温斯洛·泰勒(Frederick Winslow Taylor)(1856–1915)的名字命名。 泰勒(Taylor)试图将制造过程分解为可重复的,易于理解的任务,以进行衡量和优化1。 在他看来,工程师将确定并分解工人随后将执行的过程。

  泰勒曾希望他的方法可以减少工人与管理人员之间的摩擦,但他的方法着重于将计划与执行分离,将直接与间接工作分开。 这样做的结果是使工人变成机器中笨拙,可更换的齿轮。

  泰勒主义之后是福特主义,由亨利·福特(Henry Ford)在其制造工厂中率先提出。 与泰勒主义试图优化工人,任务和机器相反,福特的贡献是引入了装配线以将工作带给工人。 它还包括着重于最小化成本而不是优化利润。

  工人流动率很高。 据推测,他在1913年不得不雇用52,000名员工,以填补14,000名员工,但福特试图通过增加薪资来弥补这一点。 尽管受到了严厉批评,泰勒主义和福特主义带给美国制造业的效率提高可以说是对美国赢得第二次世界大战的贡献,并使其在以后的一段时间内能够统治工业世界。

  在第二次世界大战后的美国,僵化的公司结构占主导地位。 技术和社会进步缓慢(与今天相比),导致人们普遍期望稳定,并以书面形式承诺雇员将保持忠诚,雇主将提供终生就业。 但是,如果您是福特工厂的一名工人,则意味着要对您的家庭进行定期检查,以确保您的行为举止符合美国惯例2。

  当时兴起的公司结构源于"科学管理"的成功,并且大体上是这一过程的翻版。 管理层是泰勒的工程师,他们定义并分解了流程,然后将流程分发给了非熟练工人以执行。 在这种情况下,在企业界成功的职业将以从非熟练工人升级为熟练管理人员为标志。

  在此之后,在1970年代后期,在全球化彻底摧毁稳定的永久性就业的幻想之际,经济繁荣与萧条的周期开始破灭。 现在,劳动力是多代人,不断变化的,不稳定的。 随着制造业转移到海外,也出现了向知识型员工的就业转移。 创新和创造力得到了更大的重视。

  大约在这个时候,软件工程作为一种专业逐渐兴起,并且在传统的企业模型中失去作用,尽管该模型已失去相关性。 不仅传统的公司模型失去了相关性,而且程序员在其中的角色在短时间内发生了巨大变化。

  毕竟,计算机原本是一个职位。 它指的是计算和列表信息(例如导航数据或利率表)的人。 这种计算机的使用可以追溯到17世纪,并不被认为是创造性的职业。 随着机械和电子计算机开始接管计算的实际工作,程序员的角色应运而生,但仍处于将计算视为生产线一部分的世界观的阴影下。

  例如,请参见弗雷德里克·布鲁克斯(Frederick Brooks)于1975年撰写的开创性文章"神话人月",这是对软件开发作为一个职业的曙光的一次令人着迷的印象。 这本书的大部分内容仍然具有现实意义,但在出版的数年之内有些已经过时了,例如他对外科手术团队的描述,其中一位"摇滚明星"程序员(外科医生)编写了所有代码,而他周围的团队则承担了所有责任。 检查代码并将其打孔的日常工作。

  在植根于泰勒主义的公司世界的背景下,计算和程序员的迅速发展成为产品开发人员或软件工程师,这显然将成为错位和误解的沃土。

  传统职业阶梯的问题

  也许最著名的关于职业阶梯的批评是"彼得原理",它可以追溯到1960年代后期。 如果员工做得好,他们就会得到晋升。 当升职到表现不佳的水平时,升职就会停止。 结果,随着时间的流逝,每个职位往往被无能的员工担任。

  与彼得原理(假定升职是出于对表现的认可和奖励的真实愿望)相反,我们有迪尔伯特原理。 它始于90年代中期,它认为将无能的人引入管理是使他们摆脱从事"实际工作"的人的最有效方法。 即-开发人员和软件工程师。

  在软件工程和其他基于知识的学科中,普遍抱怨的是,需要一种无需技术人员来奖励和补偿熟练员工的方法。 对此投诉最典型的反应是引入双轨职业阶梯。 这个想法是提供一套替代性的头衔,这些头衔可以支付(或超过!)管理费用,同时允许员工保留个人贡献者。

  从理论上讲这很好。 但是,在像Google这样的局外人(" Google Fellow"在技术上等同于副总裁)之外,它通常是在传统的分层公司的框架内实现的,并附带了所有泰勒主义的填充。 结果是技术角色仍然被视为工人,因此不如管理角色,或者尽管存在双轨制,但存在的等级制度和官僚主义不利于工程师感到珍视的环境。

  那么,我们该如何做才能使工程师感到被重视?

  内在与外在奖励

  凭直觉,我们了解到,我们希望获得令人满意的职业,并有足够的资金来支持我们理想的生活方式,以及(如果适用)家属。 作为雇主,我们也可能想知道,这笔交易的一部分是否是要激励员工更努力地工作和做得更好,是否可以获得奖励。

  这当然是泰勒主义的关键方面:"胡萝卜和棍子"的概念。这种理论认为,工人可以通过奖惩结合而受到激励。 这是否可以用于重复性工厂工作尚待商。 但是即使这样做,软件开发人员也不是工厂工人。 一旦满足了充分性和公平性的基本要求,外部奖励就不再是一个强大的激励因素。 实际上,在某些情况下,它们甚至可以减少动力。

  丹尼尔·平克(Daniel Pink)在他的书《驱动》中谈到了这一点,该书经常被技术领导者称为最有影响力的读物之一。 从本质上来说,执行自己喜欢的任务可能会很有意义,例如精心设计架构完善的微服务,或为设计问题找到特别优雅的解决方案。 但是一旦外部奖励成为执行任务的理由,它就可以开始接管并扼杀内在的享受。

  纯粹是外部动机的另一个问题是,如果实施不当,它可能会限制性能。 例如,如果您因某些业务指标提高10%而获得奖金,那么为什么要争取15%? 如果您能因按时安排时间而获得"按时"奖励,为什么还要尝试更快地完成它呢? 也可能有诱惑力来游戏系统以获得奖励,鼓励短期思考,丧失创造力,甚至在极端情况下存在作弊和不道德行为。

  所谓的解决方案是确保内在动机因素得到承认并包括在内。 成长框架不能仅仅取决于确定某人的薪水以及其头衔。 它还必须暴露和提升内部动机因素。

  正如Pink所描述的,三个主要因素是精通,自治和目的,它们是相对自我描述的。

  职业阶梯(或其他框架)可以帮助我们分配报酬,这可以照顾到外部动机。 但是他们能以内在动力帮助我们吗?

  反对的声音

  传统上的职业阶梯以及它们所暗示的自上而下的等级制度,被许多分享了改善(持续改进),协作,自治和组织敏捷性的理想的人视为厌恶。 例如,请参阅Graham Lea的这篇文章,他在其他观点中指出,分配技能水平是一种回归问题,而不是分类问题,因此职称和水平没有意义。 Netflix具有类似的结构(或缺少类似结构)。

  其他人则认为,阶梯或等级对提供鼓励增长,激励员工和提供客观的绩效评估框架是必要的。 通过提出诸如"职业道路"和"职业格子"之类的替代术语,在某种程度上减轻了对层次结构的批评。

  当我们将辩论的范围扩大到专业主义与普遍主义时,问题就更加复杂了。 从某些方面开始,越来越多的人反对采用"架构师"或"技术领导"的观念来决定自上而下的技术选择。 这与自主性相矛盾,自主性降低了内在动机。 相反,借助自治团队和微服务,我们可以尝试创建一个环境,良好的架构和决策制定是每个人的责任。

  但是,如果某事是每个人的责任,那么它通常就成为一个人的责任。 Pat Kua认为,即使是一个自治的,自给自足的团队也需要技术领导。 反标题阵营提供了一个反驳的论据,然后被Pat Kua驳斥。 在尘埃落定之后,其他人对辩论进行了思考,这清楚地表明该问题既复杂又分裂。

  根本没有任何种类的梯子或格子的想法也提出了另一个问题。 我们如何将工程师安置在我们的阶梯上? 他们站在哪一梯级上? 也许我们需要衡量他们的表现?

  评估开发人员的绩效

  告诉我你如何衡量我,我会告诉你我的行为。

  — Eliyahu M. Goldratt

  你不能,没用,现在我们知道了。

  可以衡量开发人员绩效的假设来自与制造业的类比错误。 但就我个人而言,我可以与构造隐喻更紧密地联系起来。 可以建造砖墙的速度与可以铺设砖的速度直接相关。 因此,构建程序的速度与可以添加代码行的速度相关,对吗?

  历史告诉我们,我们绝对必须说不,这是错误的。 像大多数不正确但流行的理论一样,天真的过分简化,然后进行推断,这种推断提供了令人信服的不可抗拒的逻辑,却忽略了其他相关事实。 没有人会为了纯粹的乐趣而建造一堵墙。 该建设是有目的的。 隔离墙将是一个更大的建筑项目的一部分,其目标是像安置被踩踏的道路,或减少我们道路上的拥堵之类的崇高目标。

  建设项目很少按时进行。 通常,项目越大,超支越多,花费的时间越长。 但为什么? 当然,这是根据砖层的生产率进行的简单计算吗?

  哦,我们忘了计划委员会和政府文书工作,建筑师,工地测量师和社区咨询,盲目的蜘蛛,地面工程,砖瓦工和瓷砖工以及防水和潮湿的天气,……好吧,我可以 可能现在停止。

  在我们的类比中,软件工程师扮演什么角色? 砌砖匠还是建筑师? 地勤团队还是测量师? 防水器还是社区咨询委员会?

  答案是大多数。 尤其是随着最近对跨职能团队和T型码农的推动。 软件工程师的目标不是编写代码,而是构建产品。

  这是所有客观地衡量开发人员生产力的尝试最终失败的根本原因。 直观地,我们了解到,UX设计人员的作用不是绘制线框和模型,而是设计体验。 线框是达到目的的一种手段,但我们永远不会认为将"线框数量"视为设计人员的性能指标。 然而,随着软件工程的发展,神话仍然存在。多年来,我们探索了许多度量标准,例如:

  工作时间源代码行缺陷率功能点故事点代码"影响"

  如果在团队或项目级别应用,上述许多指标实际上可能会很有用。 至少它们可以帮助您照常建立业务图景,因此您可以了解所做的更改是否会产生影响。 此类数据驱动的决策目前仍在流行,但不在本文讨论范围之内。 但是,作为在职业框架内分配软件工程师职级的工具,我们必须得出结论,定义和衡量指标并不是我们想要的。

  其他人在做什么?

  Netflix为工程师保留了扁平的结构。 它的文化宣传很有名。 当工作完成后,该公司就以"解雇"共同创建该品牌的女人Patty McCord而闻名。 有趣的是,对于其他初创企业来说,帕蒂(Patty)建议,新公司不必太担心设定薪资水平。

  Spotify将实施技术职业框架推迟了八年。 延迟的原因主要是因为他们认为,正式框架的开销在公司生命早期阶段适得其反,因为在该阶段生命的角色和职责是不稳定的。 根据他们的承认,他们可能等待了太长时间。 在那段时间里,虽然不是故意的,也不是普遍的,但扁平的层次结构已成为公司文化的一部分。 他们的旅程细节现已公开。

  Medium 遵循与Spotify类似的模型。 受益于事后观察,他们的模型比Spotify感觉更精致,执行更好。 (尽管对于一家如此紧密地与书面文字纠缠在一起的公司,我希望能写出很多文章。)

  谷歌和微软有着双重的职业阶梯。 Google曾一度尝试采用扁平结构,但失败了。 一切都集中在剩下的一位领导者拉里·佩奇(Larry Page)上,而不是由自治团队自行决定。

  其他倡导工程最佳实践的公司(例如" Fog Creek")的职业发展则更为传统。 但是,他们的进步标准以技能矩阵为基础,重点是扩大责任范围。

  Fog Creek的创始人是Joel Spolsky,他也是Stack Overflow和Trello的创始人。 他大声批评工作场所的传统"命令与控制"管理风格,声称它们扼杀了员工的创造力和敬业精神。 针对泰勒主义和福特主义及其对疏远和贬低工厂工人的影响也提出了类似的论点。

  Valve和GitHub正在试验非常平坦的结构和功能。 Holacracy 是Zappos闻名的,并以无管理的组织结构而闻名。能够将它们提升到层次结构中。 由于目的是三个内在动机的关键之一,所以这个想法很有说服力。

  Holacracy 是一项引人入胜的实验,值得一提。 但总而言之,早期采用者的经验教训表明它可以工作,但与传统结构相比,需要更多的投入和反直觉的更多过程。 在传统的公司结构中,领导者制定规则。 在Holacracy 中,制度就是规则。 想想君主制与民主制。

  在君主制中,您可以执行君主告诉您的操作。 在民主国家,要改变规则,就必须改变制度。 需要对此进行胜任和公正的管理。 在采用当前框架之前,Medium曾尝试过Holocracy,但放弃了它主要是因为增加的开销并没有扩大规模,并妨碍了他们的决策。

  Buffer在尝试使用具备各种技能的传统双轨梯子之前尝试了所有方法。 Buffer的显着不同之处在于其分散的团队和对公开薪酬的承诺。 将公开工资提高到极限是" iwantmyname",他们为整个公司维持单一工资。

  公开工资的更标准方法是使用技能矩阵来产生加权分数,该分数将员工分配到一个组中。 等级将有薪水。 视公司对公开工资的满意程度和透明度而定,员工的等级可能是公开的,但工资是隐藏的,工资的公开是但等级是隐藏的,或者薪金和等级都是公开的。

  常见话题

  · "职业阶梯"已死。 "职业道路"或"格子"万岁。 职业道路不应直奔管理层的想法是普遍存在的,并且没有争议。

  · 技能矩阵很常见。 尽管实施细节可能千差万别,但几乎所有先进的工程公司都按照某种矩阵评估绩效。 几乎总是包括软技能和业务敏锐度以及纯技术技能。

  · 成长框架与文化密不可分。 标题(或缺少标题),晋升标准和公司结构是公司文化和价值观的明显体现。

  · 成长框架与职称分开。 将外在头衔的关注与技能和成长分开是可能的。 要回答的最重要的问题是"我如何成长?"

  · 自治,精通和目标至关重要。 这三者共同创造了一个让人感到有价值,想要做出贡献并且能够做出贡献的工作场所。

  · 您的水平应该反映您的能力,而不是对其进行定义。 无论采用何种衡量标准,重要的是员工必须了解对他们的成长没有人为的限制。 他们的职位和薪水将公平地反映出他们的成长和所做的工作,反之亦然。 没有人会觉得他们被忽视或被低估了,因为他们的头衔更为初级。 相反,没有人会觉得他们可以忽略组织中的问题,因为这是别人的问题。

  典型的权衡

  · 是深层次结构还是平面层次结构? 这是一个滑动比例。 支持扁平(-ish)层次结构的人声称,它们可以提高自治性和参与度,并减少不必要的官僚机构和过程。 很少有人争辩说要保持深层次,但这是占主导地位的现有公司结构。 如果员工/团队没有能力自主做出决策(例如Google),那么删除所有层次结构可能会适得其反。

  · 角色或头衔?虽然存在多个相互竞争的组织结构,例如报酬和平坦的等级制度,但没有一个消除了需要完成的工作。 廉政运动是"无管理"运动的声誉。 那是不对的。 仍然需要管理,但管理是嵌入角色而不是头衔中的,任何有资格并可以履行职责的员工都可以履行职责。 真正的权衡是您是为要执行某种类型工作的人员分配头衔,还是该工作与可以在不同时间由不同员工戴上帽子的角色相关联。

  · 集中式或分散式决策-传统的公司结构以及像架构师师这样的职位都与自上而下的决策相关联,而决策通常与实际情况相距甚远。 替代方法允许授权或分发决策。 横行主义代表了分布式决策的极端。 代表团董事会声称为自组织提供了中间立场。

  · 头衔或无头衔?这场辩论与等级,结构和角色相互关联。 在传统结构中,辩论的焦点是拥有头衔或"等级"(例如,工程师I,工程师II)在建立层次结构的同时,不鼓励自治和自我组织。 或者,可能根本没有头衔,工作职责与角色相关联,就像在娱乐中一样。 支持无标题或统一标题的支持者声称,它们没有准确反映沿梯度发展的技能,并且可以人为限制。 支持职称的人谈论结构的必要性,在外部比较薪水和角色期望的困难,并帮助抵消了看起来像高级开发人员的非多元化劳动力中经验丰富的员工可能面临的偏见。

  · 早晚?Spotify和Patty McCord(来自Netflix)主张推迟为职业发展和薪资等级制定正式框架。 论据是,创建,维护和应用框架很耗时,并且会增加开销。 尽管公司规模较小且角色更加灵活,但它足以应付直觉和共识。 根据他们自己的承认,Spotify可能等待了太长时间(八年),这使旅程更加艰难并阻碍了采用。

  · 公开工资或不公开工资?不公开工资是行业默认设置,支持者担心薪资透明度可能会激起同事之间的嫉妒心,被剥夺背景,使受限制的预算更难聘用或使其他雇主更容易挖人 。 引述的另一个原因是,雇主很难解释担任同一职务的个人之间的薪资差异。 这表明没有客观的绩效评估方法。 但是,由于可以通过glassdoor等网站轻松获取平均薪水以及市场数据,因此这些原因越来越像借口。 另一方面,薪酬透明度可以帮助缩小女性和少数族裔的薪酬差距,并可以提高幸福感和士气。

  · 常规还是非常规?头衔是常规名称。 层次结构是常规的。 固定工资是常规工资。 商业组织和职业发展方面的许多想法目前都在争论中。 尝试一些新事物或走一条渐进的道路可能是一场赌博,并且使从条件适应传统方法的应聘者中聘用起来更加困难。 另一方面,进步只有在人们愿意为非常规赌博时才发生。 此外,它可以创造一个差异点,这样虽然您的人才库可能较小,但最终雇用的员工仍致力于事业,并根据其文化和工作方式故意选择了公司。

  创建职业框架的实用建议

  职业发展框架存在于多个权衡和不同维度关注点之间。 我敢肯定,比我自己更有想象力的人可以将它们整齐地分类,然后将它们分配给《哈利·波特》角色或《龙与地下城》对战图表。 显然,职业发展的下一个创新将是通过找出您的公司是"混沌邪恶","合法中立"还是"真善"来使选择变得容易。

  直到那天,希望实施或改善增长框架的任何人都面临两方面的挑战。 首先,要确定您想成为哪种类型的公司并做出相应的权衡。 其次,通过回答"我如何成长?"这个问题来帮助员工实现目标,掌握和自治。

  我们从哪里开始? 我的建议是从本文的研究中提炼出来的,并与其他技术领导人进行了交谈:

  · 弄清您的价值观是什么,文化就是您在做什么,而不是您在说什么。 您应该通过评估和奖励员工的方式来体现和促进您组织的价值观。 如果您要借用或修改其他人发布的框架,则需要知道什么对您很重要,以便进行相应的调整。 如果您要从头开始创建东西,则需要知道从哪里开始构建。 无论哪种方式都很重要。

  · 事先做出一些决定。 最初是不公开工资之后再公开工资,这可能是最难进行的权衡取舍,应该预先决定。 之后,可能是标题或无标题。 组织结构的其他方面更有可能是您成长的新兴属性。 知道您想引导的位置,但是尝试预先确定它们并不重要。

  · 确保经理定期与他们的报告进行一对一会谈。 错过加薪或晋升是非常不公平的,因为反馈只提供一年一次,而现在已经太迟了。 定期的赶超有助于解决此问题。 关于有效的一对一会议,有大量可用信息,这里不再赘述。 但是,追赶的目的是证明一个定期的,半正式的论坛来接收反馈。 这里也是讨论目标和动机的地方。 绩效评估中的任何内容都不应该让人感到惊讶。 以"自治","目的"和"掌握"为主题的讨论也可以很好地发挥作用。

  · 有一个客观的评估(而不是衡量!)性能的方法。 建立或借用能力矩阵。 它应该描述每个级别的任务和行为。 它可能不应该包括指标和度量。 将其公平地应用于同一角色中的所有级别。

  · 具有重新评估重新枚举的已定义方法。 只要知道并接受,实际的过程可能并不重要。 理想情况下,应该对绩效进行连续评估,而不是每年评估一次。 如果您每年仅向他们提供一次有关他们的行为和进步的反馈,那么您就不会期望抚养孩子。那么,为什么我们希望它为我们的员工服务呢?

  就是这样。 您不需要很多过程-对于年轻的创业公司,少即是多! 但是,如果您可以确保定期提供反馈并尽最大努力实现公平,那么在提供掌握,自治和目标方面还有很长的路要走。

posted @   linjingyg  阅读(127)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
点击右上角即可分享
微信分享提示