当前位置: 首页 > news >正文

公司对不同职级能力抽象要求的具体化

要先把当前级别要求的能力提升到精通,然后尝试做下一级别的事情。

但可能不确定高一级的能力要求究竟怎样,不同Title,如“工程师”“高级工程师”和“资深工程师”等。但这样 Title 对我们理解不同级别的能力要求,完全无用。“高级工程师”到底“高级”在哪?

1 公司统一的能力描述:抽象

为指导员工晋升,公司会对各级能力要求给出描述。但因细分的领域太多,公司只能进行抽象描述。如:

  • P7要求,“具备系统思考能力,能全面掌握某技术领域”
  • P8要求,“具备前瞻判断的能力,能够规划技术领域的发展方向”

从实际效果看,这样的描述无效,还是不懂在说啥。我们经常困惑:

  • 什么是系统思考能力?P7才要求系统思考,可我P6时参与项目开发,就要考虑需求合理性、索引设计高性能、接口兼容性和易用性、上线的灰度方案这么多事情,这些难道不是系统思考?
  • 什么是前瞻判断能力?P6要预测需求变化,P7要规划团队技术发展,这些也是前瞻判断呀,为何P8强调前瞻判断?

晋升疑惑千千万,能力要求占一半。

2 领域定制的能力解读:比较具体

因为公司的抽象描述很难指导实际工作,有些领域会独立定制自己的职级能力解读,一般由P8或P9级以工作组的方式讨论得出。

如“Java业务开发”领域,P6、P7能力解读参考:

跟公司的描述相比,具体很多。按此思路,完整把各级要求能力列出,不但可作为晋升标准,也可作为学习参考。

这种做法对员工有利,标准越明确,越容易“照本宣科”去做。但公司角度,这成本太高(有几十上百个专业领域要制定详细标准,每年都要更新)、限制创新(大家就只管对照公司标准来做事,其它一概不管)等问题,所以没有公司这么做。

3 COMD能力模型

为彻底解决要求不明确,更好理解不同职级能力差异,整理一套兼容性强、易理解的能力模型:面向复杂度的多维度能力模型(Complexity-Oriented & Multi-Dimension Capability Model),COMD能力模型

核心指导思想是,通过事情的复杂度来判断能力的高低,级别越高,所做的事复杂度越高。

只是单纯用复杂度判断能力高低,那它本质和其他方法没啥不同,看不懂的地方还是看不懂,不同的人理解还是不同。所以,为清晰描述不同能力层级的差异,COMD能力模型还进一步明确复杂度,包括规模复杂度、时间复杂度、环境复杂度和创新复杂度。

3.1 规模复杂度

规模越大,节点越多,节点间的关系越复杂,而且节点间的关系复杂度是指数增长的。

就可对一些常见工作维度的规模复杂度进行比较:

以上对比前提是,除了规模,其他条件差不多。200行代码和2000行代码对比,前提是代码复杂度差不多。因为200行核心代码的复杂度,显然比2000行拷贝粘贴的代码高。

3.2 时间复杂度

时间跨度越长,复杂度越高。原因在于万事万物都处于不断发展变化当中,时间跨度越长,变化的因素和可能方向越多,越难判断准确。

三大维度的时间复杂度的对比:

3.3 环境复杂度

和环境不确定性有关的复杂度。

我们很多的判断、决策和行为都依赖于对环境的认知和反应。总的来说,环境不确定性越高,复杂度越高。

环境的不确定性具体分为环境的稳定性、环境的透明性和环境的可预见性3个方面:

  • 环境的稳定性,指环境变化的速度快慢。
  • 环境的透明性,指是否能够明确地获取环境相关的信息。
  • 环境的可预见性,指是否会发生完全无法预料的黑天鹅事件。

环境的稳定性、透明性和可预见性越低,它的不确定性就越高,复杂度也越高。

宏观分析技术、管理和业务三个维度所面临的环境不确定性:

对互联网行业业务,环境稳定性、透明性和可预见性都较低,所以环境复杂度最高。这也是在互联网大厂,大部分P9/P10都需要把很多时间和精力投入到业务上的主要原因。

3.4 创新复杂度

常见创新包括理论创新、思想(或方法)创新和技巧创新。

理论创新复杂度>思想创新复杂度>技巧创新复杂度。

高可用技术领域

  • FLP原理、CAP定理是理论创新。它们奠定分布式高可用设计的基础和边界,无论是缓存系统、存储系统、批处理系统、流式处理系统还是采用微服务架构的业务系统等,都不能跳出这两个理论的约束和限制
  • 批处理和流处理属于思想创新。对于大数据技术来说,一开始Google提出的批处理思路开启了大数据时代,而后来Storm开启了流处理这个新的技术领域
  • 实现Exactly Once特性属于技巧创新。开源框架Flink使用Chandy-Lamport 算法,实现了流处理Exactly Once的特性,能够实现消息精确投递,避免重复消息导致业务出错

创新复杂度越高,影响的范围往往也越大。理论创新会奠定整个行业的基础,而思想创新可能开辟一个新技术领域。

创新并不意味着一定要全球首创,只要相比团队当前现状来说有改进就行了;创新也不局限于技术领域,管理和业务一样可以创新。所以,下面这些事情都可以算是创新:

  1. 开发Memcache
  2. 有Memcache后,开发Redis
  3. 引入设计模式,优化代码
  4. 使用微服务拆分系统
  5. 优化项目流程
  6. 提出新业务模式

各领域的部分典型创新案例:

除了刚才说的这4种通用的复杂度之外,在每个领域内部,也会有一些工作的复杂度本身就要比另一些工作高。

比方说在软件开发领域,我们一般认为各项工作的复杂度排序是这样的:

从0到1创造系统>架构重构>项目方案设计>编码实现从0到1创造系统 > 架构重构 > 项目方案设计 > 编码实现01创造系统>架构重构>项目方案设计>编码实现

不过这些认知是领域经验总结形成的共识,并不能通用。所以在使用COMD模型的时候,你还是需要结合领域经验综合判断。

4 COMD与抽象描述的对比

公司写的那些抽象描述跟COMD能力模型的具体拆解比起来,只是脱离实际的文字游戏。

4.1 系统思考

某大厂,“系统思考”的确写在P7级能力描述,但它不是P7才有的能力特征。P6以上都要求“系统思考”,只是思考范围不同,即规模复杂度不同。

以B2C电商业务开发为例,在某些大厂,不同级别“系统思考”范围:

  • P6,系统思考范围是某个需求,考虑需求合理性、设计可扩展性和上线后的稳定性
  • P7,范围是单个系统,考虑单个系统的架构设计、架构重构和技术选型
  • P8,范围是某领域,考虑领域的发展趋势、架构演进、团队组织结构
  • P9,系统思考的范围是多个关联的业务域组成的业务线,考虑业务发展趋势、架构演进、团队组织结构

4.2 前瞻判断

某些大厂,“前瞻判断”虽写在P8描述,但P6以上都有前瞻性要求,只是前瞻范围、时间跨度和面临的环境不同,分别对应规模复杂度、时间复杂度和环境复杂度。

B2C电商为例,某些大厂P6~P9前瞻性要求:

若你还苦逼钻研“为何P7才提出系统思考”、“P8要求的前瞻判断有啥深意”,就会掉入文字陷阱,白费脑细胞。从坑里走出,要灵活应用COMD能力模型。

5 应用COMD

当你想要了解某个级别的能力要求,不要再对那些抽象和模糊的词语,不着边际猜测和想象。

静下心,坐下来填“能力矩阵”表格,把每项要求完整且具体列出。如下摘录P6部分要求,可参考:

若表格有些内容填不出来,说明你对这级别理解不到位。

在这基础上,可请教你的主管、HR和同事等人,完善、细化表格。详细填完表格,就对级别很清楚了,后续针对性提升能力。

6 总结

  1. 公司会对各个级别的能力要求给出一个抽象的描述,比如“系统思考”和“前瞻判断”等,但实际指导意义不大。
  2. 有些领域可能会独立定制相关技术方向的能力解读。虽然这种解读比公司的抽象描述稍微具体一些,但因为投入成本太大和限制创新等原因,很难大范围推广。
  3. 我总结的COMD能力模型,把能力分成技术、管理和业务三个维度,并通过规模、时间、环境和创新四个复杂度来判断能力的高低。
  4. 如果你想了解某个级别的能力要求,为晋升做准备,可以把这个级别的能力模型表格列出来,然后针对表格内容做针对性的提升。

FAQ

“为什么说P6是独当一面,难道P7、P8和P9没有独当一面的要求吗?”

独当一面的“面积”不一样,P6的面积是15寸笔记本屏幕大小,P7的面积是32寸液晶显示器大小,P8的面积是65寸高清显示器大小,P9的面积是公司门口的大号液晶显示屏。

单维度内:把基本的事情做对,把难的事情做对
多维度内:把基本的事情做对,把难的事情做对
多维度间:把基本的事情做顺,把难的事情做顺
新维度时:把基本的事情理清,把难的事情理清

为清晰地描述不同能力层级的差异,COMD 能力模型还进一步地明确了复杂度,具体包括规模复杂度、时间复杂度、环境复杂度和创新复杂度 4 种类型。怎么想到按这几个维度来拆分的。很多时候对一件事情的理解无法深入就是不知道该怎么继续往下拆分,老师的能力模型一下子把模糊的评级能力要求拆解的特别清晰。特别想提升这方面的能力,可通过哪些方式锻炼?

如何衡量和考察技术人员的能力,对于一个复杂模糊问题,一下子看不到答案,可尝试拆分,按逻辑维度、流程维度、分类维度,COMD模型的3个维度其实就是分类拆分的,4个复杂度就是按逻辑来拆分。

如何提升这种能力,可能跟我看书多有关,例如人文社科心理学经济学管理学等,看多会潜移默化,无意学习一些方法。

中途转的JAVA,目前作为一个小组长,技术不行,管理上也在摸索,这种情况下,是偏向技术还是偏向管理比较好?P9以前都是专业为核心,管理是附加分。

直面自己和直属领导的差距!除了直面,更要学习别人的长处和厉害的地方。

相关文章:

公司对不同职级能力抽象要求的具体化

要先把当前级别要求的能力提升到精通,然后尝试做下一级别的事情。 但可能不确定高一级的能力要求究竟怎样,不同Title,如“工程师”“高级工程师”和“资深工程师”等。但这样 Title 对我们理解不同级别的能力要求,完全无用。“高…...

Java之MinIO存储桶和对象API使用

环境搭建 创建一个 maven项目&#xff0c;引入依赖&#xff1a; <!-- minio依赖--><dependency><groupId>io.minio</groupId><artifactId>minio</artifactId><version>8.3.3</version></dependency><!-- 官方 minio…...

如何用java实现同时进行多个请求,可以将它们并行执行,从而减少总共的请求时间。

1.使用线程池 通过使用Java提供的线程池&#xff0c;可以将多个请求分配到不同的线程中并行执行。可以通过创建固定数量的线程池&#xff0c;然后将请求分配给线程池来实现。线程池会自动管理线程的数量和复用&#xff0c;从而减少了线程创建和销毁的开销&#xff0c;提高了程序…...

高端装备的AC主轴头结构

加工机器人的AC主轴头和位置相关动力学特性1. 位置依赖动态特性及其复杂性2. AC主轴头2.1 常见主轴头摆角结构2.2 摆动机构3. 加装AC主轴头的作用和局限性4. 切削机器人的减速器类型5. 其他并联结构形式参考文献资料1. 位置依赖动态特性及其复杂性 However, FRF measurements …...

【Proteus仿真】【51单片机】粮仓温湿度控制系统设计

文章目录一、功能简介二、软件设计三、实验现象联系作者一、功能简介 本项目使用Proteus8仿真51单片机控制器&#xff0c;使用声光报警模块、LCD1602显示模块、DHT11温湿度模块、继电器模块、加热加湿除湿风扇等。 主要功能&#xff1a; 系统运行后&#xff0c;LCD1602显示传…...

【LINUX】环境变量以及main函数的参数

文章目录前言环境变量常见环境变量&#xff1a;设置环境变量&#xff1a;和环境变量相关的命令&#xff1a;环境变量的组织方式&#xff1a;获取环境变量环境变量可以被子进程继承环境变量总结main函数的参数前言 大家好久不见&#xff0c;今天分享的内容是环境变量和main函数…...

使用Pyparsing为嵌入式开发定义自己的脚本语言

Python在嵌入式开发中也很流行生成实用脚本。Pyparsing还允许你轻松地定义在Python上下文中运行的定制脚本语言。Python实现的系统旨在能够独立执行用户传递的一系列命令。你希望系统以脚本的形式接收命令。用户应该能够定义条件。这种对通信中逻辑元素的最初简单的声音要求&am…...

C win32基础学习(二)

上一篇我们已经介绍了关于窗口程序的一些基本知识。从本篇开始我们将正式进入C win32的学习中去。 正文 窗口创建过程 定义WinMain函数 定义窗口处理函数(自定义&#xff0c;处理消息) 注册窗口类&#xff08;向操作系统写入一些数据&#xff09; 创建窗口&#xff08;内存…...

理论五:控制反转、依赖反转、依赖注入,这三者有何区别和联系?

关于SOLID原则,我们已经学过单一职责、开闭、里式替换、接口隔离这四个原则。今天,我们再来学习最后一个原则:依赖反转原则。在前面几节课中,我们讲到,单一职责原则和开闭原则的原理比较简单,但是,想要在实践中用好却比较难。而今天我们要讲到的依赖反转原则正好相反。这个原则…...

读书笔记//《数据分析之道》

出版时间&#xff1a;2022年 作者曾在互联网大厂做数据分析。从举例可以洞见作者的工作经历。 点评&#xff1a;作者在数据分析领域非常资深&#xff0c;尝试在书中提供一个数据分析工作框架参考。书本内容有点感觉是ppt的集合&#xff0c;辅以案例说明。不过&#xff0c;干货还…...

1个串口用1根线实现多机半双工通信+开机控制电路

功能需求&#xff1a; 主机使用一个串口&#xff0c;与两个从机进行双向通信&#xff0c;主机向从机发送数据&#xff0c;从机能够返回数据&#xff0c;由于结构限制&#xff0c;主机与从机之间只有3根线&#xff08;电源、地、数据线&#xff09;&#xff0c;并且从机上没有设…...

KUKA机器人外部自动运行模式的相关信号配置

KUKA机器人外部自动运行模式的相关信号配置 通过例如PLC这样的控制器来进行外部自动运行控制时,运行接口向机器人控制系统发出机器人进程的相关信号(例如运行许可、故障确认、程序启动等),机器人向上级控制系统发送有关运行状态和故障状态的信息。 必需的配置:  配置CEL…...

【RabbitMQ笔记02】消息队列RabbitMQ七种模式之最简单的模式

这篇文章&#xff0c;主要介绍RabbitMQ消息队列中七种模式里面最简单的使用模式。 目录 一、消息队列的使用 1.1、消息队列七种模式 1.2、最简单的模式使用 &#xff08;1&#xff09;引入依赖 &#xff08;2&#xff09;编写生产者 &#xff08;3&#xff09;编写消费者…...

Spring MVC 源码- RequestToViewNameTranslator 组件

RequestToViewNameTranslator 组件RequestToViewNameTranslator 组件&#xff0c;视图名称转换器&#xff0c;用于解析出请求的默认视图名。就是说当 ModelAndView 对象不为 null&#xff0c;但是它的 View 对象为 null&#xff0c;则需要通过 RequestToViewNameTranslator 组件…...

Linux--TCP编程--0216 17

观前提示&#xff1a;本篇博文的一些接口需要前几篇博文实现的 线程池的实现Liunx--线程池的实现--0208 09_Gosolo&#xff01;的博客-CSDN博客 线程池的单例模式Linux--线程安全的单例模式--自旋锁--0211_Gosolo&#xff01;的博客-CSDN博客 1.TCP编程需要用的接口 创建 sock…...

关于设计模式的记录

############### 先弄清楚类模型的关系 ############### 万物的抽象关系 ############### 1.组合 composition实菱形 实线 无填充箭头整体与部分的关系同生共死代码体现&#xff1a;成员变量如&#xff1a;生命体与器官&#xff0c;http请求&#xff08;请求行&#xff0c;请求…...

Lambda-常见的函数式接口

如果需要使用Lambda接口&#xff0c;就必须要有一个函数式接口 函数式接口是有且仅有一个抽象方法的接口, 对应的注解是FunctionalInterface Java中内置的常见函数式接口如下: 1.Runnable/ Callable /*** The <code>Runnable</code> interface should be implem…...

P1196 [NOI2002] 银河英雄传说 带权并查集

[NOI2002] 银河英雄传说 题目背景 公元 580158015801 年&#xff0c;地球居民迁至金牛座 α\alphaα 第二行星&#xff0c;在那里发表银河联邦创立宣言&#xff0c;同年改元为宇宙历元年&#xff0c;并开始向银河系深处拓展。 宇宙历 799799799 年&#xff0c;银河系的两大军…...

【项目实战】快来入门Groovy的基础语法吧

一、Groovy是什么? 1.1 与Java语言的关系 下一代的Java 语言,增强Java平台的唯一的脚本语言跟java一样,它也运行在 JVM 中。支持Java平台,无缝的集成了Java 的类和库;Groovy是一种运行在JVM上的动态语言,跑在JVM中的另一种语言编译后的.groovy也是以class的形式出现的。1…...

Mybatis中的动态SQL

Mybatis中的动态SQL 当存在多条件查询的SQL时&#xff0c;当用户某个条件的属性没有写时&#xff0c;就会存在问题&#xff0c;在test中则不能很好的运行 所以Mybatis提出了动态SQL。 即判断用户是否输入了某个属性 动态SQL中的一些问题 方法一 这个里的and是为了确保if条…...

VUE常用API

1.$set数据变了&#xff0c;视图没变 this.$set(targe&#xff0c;key&#xff0c;value)2.$nextTick:返回参数[函数]。是一个异步的&#xff0c;功能获得更新后DOM$nextTick(callback){return Promise.resolve().then(()>{callback();}) }3.$refs获取dom4.$el获取当前组件根…...

25 openEuler管理网络-使用nmcli命令配置ip

文章目录25 openEuler管理网络-使用nmcli命令配置ip25.1 nmcli介绍25.2 设备管理25.2.1 连接到设备25.2.2 断开设备连接25.3 设置网络连接25.3.1 配置动态IP连接25.3.1.1 配置IP25.3.1.2 激活连接并检查状态25.3.2 配置静态IP连接25.3.2.1 配置IP25.3.2.2 激活连接并检查状态25…...

如何安装和使用A-ops工具?

一、pip配置 1.配置信任域 ​ pip3 config set global.trusted-host mirrors.tools.huawei.com2.配置pip源的url地址pip3 config set global.index-url http://mirrors.tools.huawei.com/pypi/simple 二、npm安装及配置 npm -v检测系统有无安装npm,如果没有的话需要配置ope…...

MySql数据库环境部署

MySql基础与Sql数据库概述基础环境的建立MYSQL数据库的连接方法MySql的默认数据库数据库端口号数据库概述 数据库&#xff08;DataBase&#xff0c;DB)∶存储在磁带、磁盘、光盘或其他外存介质上、按定结构组织在一起的相关数据的集合。数据库管理系统〈DataBase Management S…...

极品笔记,阿里P7爆款《K8s+Jenkins》技术笔记,职场必备

前些日子从阿里的朋友那里取得这两份K8sJenkins的爆款技术笔记&#xff1a;《K8S(kubernetes)学习指南》《Jenkins持续集成从入门到精通》&#xff0c;非常高质量的干货&#xff0c;我立马收藏&#xff01; 而今天咱们文章的主角就是这非常之干货的技术笔记&#xff1a;K8SJenk…...

数据结构:各种排序方法的综合比较

排序方法的选用应视具体场合而定。一般情况下考虑的原则有:(1)待排序的记录个数 n;(2)记录本身的大小;(3)关键字的分布情况:(4)对排序稳定性的要求等。 1.时间性能 (1) 按平均的时间性能来分,有三类排序方法: 时间复杂度为 O(nlogn)的方法有:快速排序、堆排序和归并排序,其中…...

【设计模式】 策略模式介绍及C代码实现

【设计模式】 策略模式介绍及C代码实现 背景 在软件构建过程中&#xff0c;某些对象使用的算法可能多种多样&#xff0c;经常改变&#xff0c;如果将这些算法都编码到对象中&#xff0c;将会使对象变得异常复杂&#xff0c;而且有时候支持不使用的算法也是一个性能负担。 如何…...

【数据库】第二章 关系数据库

第二章 关系数据库 2.1关系数据结构及形式化定义 关系 域&#xff08;domain) :域是一组具有相同数据类型的值的集合&#xff0c;可以取值的个数叫基数 笛卡尔积 &#xff1a;一个记录叫做一个元组&#xff08;tuple),元组中每一个属性值&#xff0c;叫一个分量 基数&…...

oracle和mysql的分页

oracle的分页&#xff1a;rownum 注意:&#xff1a; 对 ROWNUM 只能使用 < 或 <, 用 、 >、 > 都不能返回任何数据。 rownum是对结果集的编序排列&#xff0c;始终是从1开始&#xff0c;所以rownum直接使用时不允许使用>、> 所以当查询中间部分的信息时&…...

深拷贝与浅拷贝的理解

浅拷贝的理解浅拷贝的话只会拷贝基本数据类型&#xff0c;例如像string、Number等这些&#xff0c;类似&#xff1a;Object、Array 这类的话拷贝的就是对象的一个指针(通俗来讲就是拷贝一个引用地址&#xff0c;指向的是一个内存同一份数据)&#xff0c;也就是说当拷贝的对象数…...