热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

工程师,你为啥升不上去?

本文不属于成功学的范畴,也不是要让大家整齐划一放弃自己的风格和特点。成功的方法有很多种,找到自己喜欢并且适合自己的才是最重要的。研发是一条艰苦的道路,需要的不是急功近利好高骛远眼高手低,而
本文不属于成功学的范畴,也不是要让大家整齐划一放弃自己的风格和特点。成功的方法有很多种,找到自己喜欢并且适合自己的才是最重要的。研发是一条艰苦的道路,需要的不是急功近利好高骛远眼高手低,而要脚踏实地长期积累不断总结。希望本文能够为大家提供一些自我定位和发展的思路。

今年上半年,因为需求的扩展,TalkingData研发团队基本上扩张了一半,目前团队依然在不断增长中,以应对我们以开发者服务平台、数据服务平台和数据商业化平台为支撑的数据生态环境的高速发展。我们会发现,即使脑袋瓜同样聪明,有人发展很快,但是有人在一个级别上始终停滞不前。我也经常被问到研发人员如何规划自己的职业,其中最常见的问题就是如何往上提升自己。

要解释这个问题,首先需要了解一下各个公司的研发职位设定。我参考了这篇文章“ 惊呆了!原来腾讯、阿里、百度的内部晋升渠道是这样的”,也结合自己的经验和TalkingData正在规范的研发人员级别体系,同时也向不同公司的HR以及猎头的朋友做了一些求证,简单对比几个典型公司的研发体系如下(如有疏漏,还请指正):

对于此表,有几点注意:

1. 京东、优酷的级别和腾讯的类似,美团的级别和阿里类似,TalkingData的级别体系和Oracle类似。

2. 相邻级别之间没有十分清晰的边界,存在一定重叠。

3. 中级、高级工程师是公司研发团队的中坚力量,占据最大的比例(一般50%以上)。

从此表可以看出,不同公司虽然有不同的薪资级别体系,但是在职位设定上,概念差别不大,都经过了从初级、中级、高级到资深的发展过程,并且每个阶段都有侧重的要求。职位的晋升一般都需要专门的机构来评定。比如,360在T5以下(包括T5)是部门自己决定,超过T5就需要公司级别的技术委员会(由跨部门的高级技术人员组成)来面试评定。阿里也有专门的晋升委员会来负责这件事情。

这里是较为详细的描述:

【初级工程师】

初级工程师之前,是打基础的时候,研发人员的升职仅依靠个人的成长即可达成,包括经验的增长、编程能力的提升、甚至工作年头的积累,都可能把级别涨上去。

【中级工程师】

到了中级工程师,就需要重点观察独立工作的能力,是否代码bug率足够低?是否还需要资深工程师的监督和提醒?是否能够综合的考虑架构设计上的各个方面,比如安全性、可扩展性、可管理性、可重用性、可测试性等等?这时候的关键是,要让同事对你的工作产生信任,放心把事情交给你独立完成。这其实也不算是十分困难的事情,因为绝大部分工程师只要态度端正有具备责任感,有一定学习能力,加上细心,都能做到。我曾经见到过一些“无bug”工程师,他们的交付基本上很难发现bug,测试一次完成,这样的工程师是公司的宝贝!也见到过一些粗心大意,不是这里有问题就是那里有问题,让人始终不放心的所谓“高级工程师”,这些人如果长期不成长,就需要降级处理。

【高级工程师】

从高级工程师开始,研发往往就会遇到瓶颈。瓶颈主要来自于,从高级工程师开始,就要求研发人员至少在公司(或是事业部)范围具备一定的影响力,不仅个人能力要强,你还要能够帮助团队强大起来,不仅能在你的小团队范围有影响力,还需要建立跨团队的影响力。

影响力这个词在无数培训和书籍都有提到,啥叫影响力?

我觉得通俗的说,就是当别人遇到hadoop的问题的时候,就会想起来“打个电话找老阎”;当大家就一个架构问题争论不休的时候,都会说“还是听听YC的意见吧”;当大家不知道从客户角度到底怎么看这个功能的时候,会“咨询一下Ash吧”。——这就是影响力,当你在某个领域经验足够丰富,判断足够准确,并且经过一定时间的验证,在大家心智中形成权威印象的时候,你就具有影响力了。影响力是看得见的,你的话是否有人听就能明显感受到。正如之前提到的,我反对“全栈工程师”,因为全栈工程师会导致研发人员在每一项技术上都没法钻的足够深。当深度不足的时候,你能解决的别人也能解决,别人解决不了的问你也没用,这时候影响力很难建立。只有技术做的更深一下,经验积累更多一些,才能解决他人的难题,积累信誉,提升影响力。所以什么都浅尝辄止,对于研发人员能力提升和级别增长,具有负效果。

正所谓“千军易得,一将难求“。当工程师在某项技术上积累足够多的时候,他如果能利用自己的优势提升周围研发同事的工作效率和能力,这对公司来说是价值最大的,所以研发体系会偏向于有能力也有意愿增强自己影响力的工程师。这就要求研发人员具有一定沟通能力和技术领导能力,要走出自己的舒适地带,让自己的能力在其他团队也可见并可用。沟通力和领导力都属于软技能,软技能恰恰是研发人员的传统弱势领域,所以这时候大家改变起来就会感觉比较痛苦。这种现象在所有公司都是相似的,比如腾讯T3升T4很难,阿里是P6升P7困难,百度是T6升T7很难,微软升职到Senior也是非常困难的。

但是也不是说必须强迫每个研发人员都是能说会道口若悬河,因为个性是很难在短时间内强行扭转和改变,过程可能很长。对于在这方面比较薄弱的工程师来说,确实会在晋升上比较吃亏,上升速度可能放缓。这也是合理的,因为你不沟通的话,其他人怎么可能对你的技术水平和专业程度有更深的了解。之前在微软,听说美国那边有一位研发同事,在微软工作了很长时间,对于各种版本的windows和office的代码都非常熟悉。但这个人比较内向,不喜欢跟人打交道,每天都呆在自己放满了电脑显示器和主机的办公室,周围同事有什么难以解决的技术问题,都去找他帮忙分析和定位。但是这个牛人一直就保持senior级别,他也没啥追求,无所谓,反正我不喜欢的事情我就不去做,级别不涨就算了。每个公司都可能有这样的人,他们未必像人们想象中的那么“上进”,他们喜欢呆在自己觉得舒服的一个尺度里面,做到自己能力范围内的就够了,对升职兴趣不大。公司实际上也允许这样的人存在。

【高级工程师+】

高级工程师以上,依然是在技术的深度上继续耕耘,提升在某个分支技术领域的影响力,工程师不仅需要在公司内部有可见度,还需要你代表公司在行业内发出声音,比如参加一些行业的技术社区活动、发表一些技术论文或博文等,这时候就迈入资深工程师的范畴。并且随着经验积累和影响力日益加深,工程师会具备更加宽广的视野,能够触类旁通,甚至横跨多个技术方向建立行业影响,成为行业的领军人物——这时候已经很难用具体指标或职位来衡量工程师的能力和价值了。

【建议】

所以对于研发人员来说,职业上没有什么捷径可走,只不过在选对了行业和方向,或者面临大的压力的时候,可以加速成长的过程。

相对正常的做法是:

1. 对于刚入行的初级工程师,选择一个喜欢的行业(比如大数据行业,别在乎暂时的得失,包括薪资),尽快培养编程和工程能力,尽量独立思考解决问题,打好基础。

2. 当升职为中级工程师的时候,能独立工作是必须具备的能力,同时要选择一个技术方向深挖,不要什么都做到最后什么都做不好,要开始注意一些软技能(比如沟通能力)的培养,也可以带带新人,逐步扩大自己在所属团队的影响力。至于哪个技术方向,我觉得最好是能够结合自己的兴趣来选择,不要选一个看起来时髦但是自己毫无感觉的方向,这在长远来看得不偿失。比如在大数据领域,有数据采集、清洗、脱敏、存储、计算、挖掘、交易等众多分支,有无数的开源框架可供选择,在每一个分支做好都需要长期的经验积累,也都可以体现巨大的价值。

3. 随着能力和经验的提升,影响力扩大到公司或者事业部范围的时候,也许就具备条件升职到高级工程师甚至资深工程师,需要对行业(不仅仅是技术)有一些自己的见解和看法,最好是能够走出公司去参与一些技术社区的交流。TalkingData经过4年的沉淀和积累,已经培养了一批大数据技术领域的专家,目前有很多一线工程师已经积极参与到各种技术社区的活动中,不少已经成为中国数据库技术大会(DTCC)、InfoQ全球架构师峰会(ArchSummit)、Top 100 Summit、Spark Meetup等顶级技术盛会的特约演讲嘉宾或明星讲师。

4. 当在某项技术方向上具备行业的影响力的时候,可能要开始考虑拓展自己的技术广度,把影响力扩散到相关联的更多技术分支领域,能够对公司管理者的业务决策提供及时可靠的技术支持。这时候一定需要走出去,多看多听,对于行业的技术发展很深的见解,甚至可以在某种程度上影响行业的技术发展路线,而不只是跟随。从这时候开始,能做到什么程度就看自己的努力和运气了(对,你没看错,运气很重要!)。

最后也要提到的就是,职位并非越高越好,升职也未必是越快越好,一定要和能力相匹配。研发体系会对职位有要求和压力,这一般是通过绩效评估来体现。工程师按照同样的表现和产出,在上一个级别的绩效可能是“优秀”,但是在下一个级别却可能变成“差”,压力会突然变得非常大。不要过分看中职位,“那真的都是虚名,就像浮云一样”。见过不少所谓的“资深架构师”甚至“首席架构师”,不过是找个小的创业公司呆了几个月自封罢了,能力本身没有什么提升。更加需要关注的始终是如何提升自己的能力,不管是硬技能还是软技能,能力上去了职位最终一定会匹配上来。如果职位长期滞后于能力,代表公司体系有问题,你也不需要在这个环境里继续浪费时间。



更多内容,请关注我的知乎专栏:【峰言峰语



推荐阅读
  • 基于,docker,快速,部署,多,需求,spark ... [详细]
  • 这是原文链接:sendingformdata许多情况下,我们使用表单发送数据到服务器。服务器处理数据并返回响应给用户。这看起来很简单,但是 ... [详细]
  • 本文介绍了在Win10上安装WinPythonHadoop的详细步骤,包括安装Python环境、安装JDK8、安装pyspark、安装Hadoop和Spark、设置环境变量、下载winutils.exe等。同时提醒注意Hadoop版本与pyspark版本的一致性,并建议重启电脑以确保安装成功。 ... [详细]
  • 微软小娜企业版发布新版本,提供构建自定义技能的套件
    微软将向企业级市场发布微软小娜企业版的新版本,该版本提供了构建自定义技能的套件,使企业员工可以更方便地使用数字助理。目前该套件仍处于内测期间,只有部分企业可以获得,其他有兴趣的企业需要继续等待。新版本的套件可以帮助员工构建各种自定义技能,如检查休假余额、创建服务凭证等。微软通过让多个开发人员编辑和管理机器人通道注册配置来改善开发者的体验,团队可以自行访问和更改技能注册,满足企业实际需求。微软小娜企业版已经在各个行业得到采用,能够帮助员工专注于优先事项,将非优先处理的任务交给微软小娜处理。 ... [详细]
  • CentOS 7部署KVM虚拟化环境之一架构介绍
    本文介绍了CentOS 7部署KVM虚拟化环境的架构,详细解释了虚拟化技术的概念和原理,包括全虚拟化和半虚拟化。同时介绍了虚拟机的概念和虚拟化软件的作用。 ... [详细]
  • GAMETECH腾讯云游戏行业技术沙龙成都站圆满落幕
    11月13日,由腾讯云主办、游戏茶馆协办的2020年首场GAME-TECH腾讯云游戏行业技术沙龙在成都圆满落幕。本次沙龙邀请了腾讯云游戏行业解决方案总监宋永周、腾讯云游戏行业高级解决方案架构师曾梓恩、腾讯云游戏行业高级产品架构师郑晓曦、腾讯云游戏行业高级解决方案架构师温球良和天美L1(王者荣耀)服务器技术副总监杨光,为参会同行们带来了干货满满的技术建议。本文介绍了腾讯云游戏云的优势和为不同游戏研运场景提供的服务。腾讯云在中国游戏云服务市场领跑,成为众多游戏开发者的合作伙伴。 ... [详细]
  • GPT-3发布,动动手指就能自动生成代码的神器来了!
    近日,OpenAI发布了最新的NLP模型GPT-3,该模型在GitHub趋势榜上名列前茅。GPT-3使用的数据集容量达到45TB,参数个数高达1750亿,训练好的模型需要700G的硬盘空间来存储。一位开发者根据GPT-3模型上线了一个名为debuid的网站,用户只需用英语描述需求,前端代码就能自动生成。这个神奇的功能让许多程序员感到惊讶。去年,OpenAI在与世界冠军OG战队的表演赛中展示了他们的强化学习模型,在限定条件下以2:0完胜人类冠军。 ... [详细]
  • 恶意软件分析的最佳编程语言及其应用
    本文介绍了学习恶意软件分析和逆向工程领域时最适合的编程语言,并重点讨论了Python的优点。Python是一种解释型、多用途的语言,具有可读性高、可快速开发、易于学习的特点。作者分享了在本地恶意软件分析中使用Python的经验,包括快速复制恶意软件组件以更好地理解其工作。此外,作者还提到了Python的跨平台优势,使得在不同操作系统上运行代码变得更加方便。 ... [详细]
  • 什么是大数据lambda架构
    一、什么是Lambda架构Lambda架构由Storm的作者[NathanMarz]提出,根据维基百科的定义,Lambda架构的设计是为了在处理大规模数 ... [详细]
  • Yarn已过时!Kubeflow实现机器学习调度平台才是未来
    来源:AI前线本文约6700字,建议阅读10分钟。本文分析了建设分布式训练平台的过程中的痛点所在,为你介绍Kubeflow与其核心组件及其 ... [详细]
  • HadoopYARN集群是一个通用的资源管理平台,可为各类计算框架提供资源的管理和调度。其核心是通过一个全局的资源管理器来实现分离资源管理与作业调度监控。Hadoop ... [详细]
  • Hadoop源码解析1Hadoop工程包架构解析
    1 Hadoop中各工程包依赖简述   Google的核心竞争技术是它的计算平台。Google的大牛们用了下面5篇文章,介绍了它们的计算设施。   GoogleCluster:ht ... [详细]
  • CentOS 7配置SSH远程访问及控制
    nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd ... [详细]
  • MR程序的几种提交运行模式本地模型运行1在windows的eclipse里面直接运行main方法,就会将job提交给本地执行器localjobrunner执行-- ... [详细]
  • 《Spark核心技术与高级应用》——1.2节Spark的重要扩展
    本节书摘来自华章社区《Spark核心技术与高级应用》一书中的第1章,第1.2节Spark的重要扩展,作者于俊向海代其锋马海平,更多章节内容可以访问云栖社区“华章社区”公众号查看1. ... [详细]
author-avatar
好学的程序员
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有