首页 / 行业
程序员的职业发展路径
2019-07-19 17:15:00

作为程序员,我们应该如何去规划好自己的职业道路?
作为程序员群体的一员,我发现身边很多同学都非常的踏实,虽然这是一个很好的素质,但我们除了踏实做事以外,也需要多抬头看看路。才能让自己在职业道路上走的更稳更长久。
身边很多同学都知道去追求升职加薪,但却很少去考虑一个完整的职业规划,很少去考虑自己的职业目标。对于以后自己是去做 技术管理?还是做 技术架构?又或者是干脆转行?很少去思考。
因此,今天我就来跟大家简单聊一聊程序员的职业发展路径。
一、先看看各技术层级的要求?
在聊程序员的发展之前,我们先看一下常见的互联网公司技术团队里,程序员这职业的等级是怎么划分的?
一般分为以下几个级别,再往上可能就是技术专家或者首席技术官了。
初级工程师
中级工程师
高级工程师
资深工程师/架构师
下面继续看一下每个级别的素质要求是什么?
初级工程师
初级工程师主要是指刚毕业的,职场上的技术新人。通常这类人会有一定的专业理论知识,所以也能够比较快的学习公司的常用框架、工具和开发技术。能够在上级/导师的指导下,理解相关的业务知识。
能够按照研发需求完成部分模块和功能的开发,能够在别人的指导下解决研发中遇到的问题。
中级工程师
中级工程师是大多数三到五年程序员所处的水平。中级工程师必须要能够独立承担开发任务,并且能够独立负责某个模块或小系统。
能够根据自己的历史经验和学习能力,独立解决日常工作中遇到的技术问题。
高级工程师
高级工程师,一般是混迹多年,且有一定技术积累的程序员,有一套自己的开发方法。对于高级工程师要求能快速的理解业务、够独立负责一个中大型系统,且在工作中需具备指导他人的能力,属于团队骨干,在团队中有一定的技术影响力。
资深工程师/架构师
程序员到了资深的级别之后,其实在职业上可以分为两个发展方向。
一个是继续往技术深度上钻研,在某个技术领域内有一定的深度和影响力,我们称为资深工程师。
还有另一个方向就是往技术的广度上发展,除自身技术线以外,对周边相关技术也有一定的研究和理解,能够站在更高的维度上去俯视项目里的技术结构,业务理解能力也很强,根据不同业务,设计出不同的技术方案,这一类我们称为架构师。
上面虽然从企业的用人视角来列举了不同技术层级应具备的要求,但还是不够具体,不太方便量化和评估,因此,我们可以根据上面的要求,总结出一套对程序员的评估方法,主要分为三个方面:
通用素质:
用来评估程序员的通用素质水平。比如 系统思维能力、沟通表达能力、经验开放意识、严谨性、组织能力、影响力等。
知识技能:
用来评估程序员的知识和技术水平。比如 编程语言、安全、框架应用、系统设计等能力。
业务能力:
这个主要用来评估程序员的业务理解能力、业务建模能力等。
二、有哪些基础技能是都必须具备的?
在知道了程序员各不同层级的能力模型后,我们再来看一下有哪些基础的技术能力是不同层级都应该具备的,是程序员技术水平的基石:
数据结构
数据结构是基础中的基础。有些人觉得数据结构的知识貌似在实际工作中用到很少,反而在面试中问的多,所以就认为这个东西不实用。殊不知数据结构是我们编码的根本。只不过我们平时用的框架工具多了,很多都被封装好了,大家直接调用即可,导致大家对这一块儿渐渐忽略了。但是只有真正理解了数据结构,我们才能写出有质量的代码。
常用的数据结构有:数组、链表、堆栈、队列、树、二叉树、图等。
常用算法
算法是每一个程序员都绕不开的话题。但算法跟数据结构一样也是编程的灵魂,是真正区别出不同程序员编程水平的地方,每个技术人都应该学好。
数据存储
存储是每个项目的必须环节。以数据库举例,有关系型的数据库,还有NoSQL数据库等,另外还有文件存储系统。这些在做项目中都可能遇到,所以需要熟练掌握其原理和用法。
编程规范
编程规范这个自然不必多说,也是最容易看出程序员水平的地方。虽然很多不规范的代码也能运行,但是作为一个有追求的程序员,理应按照一定的编程规范去管理好自己的代码。优秀的程序员始终要有个理念记在心中:代码的第一作用是给人读的,第二作用才是给机器使用。
开发平台
这里指的是程序员常用的编程语言、以及语言所在的生态和框架。以Java程序员举例,必须得深入了解Java的语言特性,以及Java这个语言平台的生态体系,同时熟练掌握Java的常用框架和主流方案,每一个语言都有这样的平台与生态。
安全
粗略可分为代码安全和运维安全。
代码安全指的是程序员在开发项目的时候,编写出来的代码应具备一定的安全性,例如 防止XSS跨站攻击、防止SQL注入等等。这些除了写代码的时候要注意,后期也可以通过单元测试、代码评审来发现风险。
运维安全是项目在生产环境下,部署的环境安全、资源隔离、运维操作规范、漏洞扫描等方面的安全工作。
三、如何打造属于自己的技术体系?
技术的成长是靠一步一步走出来的,不可能一口吃个胖子。既然上面聊了程序员在这条职业道路上应该具备的一些技能和素质。那这里就再补充一下如何去提高这些技能,如何去一步一步走出自己的技术体系。
这个部分也是学习了「 程序员进阶攻略 」后的深刻体会。这里我就借鉴《极客时间》中「 程序员进阶攻略 」专栏作者胡峰老师提出的“点-线-面”的成长原则,结合自己的思路跟大家聊一聊:
点
我们可以把学到的任何一个知识/技能都当做一个「 点 」。比如 我们刚接触计算机编程的时候学习了 数据结构、后来又学习了 Java基础,然后在工作中又学习了 框架Spring,然后根据项目需要又学习了 Linux、学习了 Hadoop、学习了 JavaScript,等等等等。
我们在初级阶段的时候,是在不断的学习各种知识技能,这些就像是天上的星星一样,一个一个的零散的知识点,它是不成体系的,我们需要用到什么就去学习什么。这些不成体系的知识点帮助我们完成了工作,但是它们又很容易被忘记,且一般都不够深入。
线
随着我们学到的「 点 」越来越多之后,就会发现里面有些「 点 」是有关联的,甚至是触类旁通的。那么这些「 点 」在我们的脑海中就可以慢慢的形成「 线 」被串起来。它是一个随着累积之后,自然而然的过程,当然也需要我们不断的去总结知识。
而有一部分知识点可能随着技术的变迁,没有合适的「 线 」去串联,也就慢慢的被我们所放弃。
「 线 」是由「 点 」汇聚而成。因此要想知识能够形成「 线 」,我们除了不断学习以外,还需要不断的找出知识技能的共性和规律。
面
「 面 」又是由「 线 」交织而成。这个时候我们对技能的认知就从一维上升到了二维。这个「 面 」就像一张技能地图一样,所有的知识技能都能在这张地图里面找到位置和关系。我们再学习新的知识的时候,也只不过是往这张地图里面添加一些锚点,每次添加,都会让这个知识更为牢固和深刻。这就是我们追求的每个人自己的技术体系图了。
最新内容
- Efuse是什么?聊聊芯片级的eFuse
- 英飞凌推出XENSIV胎压传感器,满足智能胎压监测系统的需
- FPGA学习笔记:逻辑单元的基本结构
- 创造多样信号的万能工具:函数/任意波形发生器
- 位移传感器结构类型及工作原理与应用
- 开关电源供应器的功能、应用场景以及重要性
- 重庆东微电子推出高性能抗射频干扰MEMS硅麦放大器芯片
- 拒绝一次性芯片,新技术:无线升级芯片
- 芯片迈向系统化时代:EDA软件的创新之路
- 智能安全帽功能-EIS智能防抖摄像头4G定位生命体征监测
- 卫星应用受关注,GNSS导航芯片/模块发展加速
- AI边缘智能分析设备:智慧食堂明厨亮灶的智能化应用
- 美光低功耗内存解决方案助力高通第二代骁龙XR2平台
- 浅谈芯片常用的解密器
- 电路板技术水平和质量水平,影响着机器人赛道的发展前景
- 直播回顾 | 宽禁带半导体材料及功率半导体器件测试
- 写flash芯片时为什么需要先擦除?
- DigiKey 凭借品牌更新荣获四项 MarCom 大奖
- 高精度3D视觉技术,助力工业机器人实现汽车零部件高效上
- 不只是芯片 看看传感器技术我们离世界顶级有多远
- 加特兰毫米波雷达SoC芯片赋能室内安防新应用
- 所有遥不可及,终因AI触手可及
- 一种基于聚合物的化学电阻式传感器使患者检测更容易
- MTK天玑9300重磅发布:全大核时代到来,330亿参数AI大模型
- 如何测量温度传感器的好坏?
- ACCEL光电芯片,性能超GPU千倍,新一代计算架构将更早来临
- 如何利用示波器快速测量幅频特性?有何注意事项?
- 射频连接器使用技巧与注意事项
- STC15W芯片A/D、D/A转换的简单使用
- 群芯微车规级认证的光电耦合器备受电池BMS和电驱电控
- 芯朋微:服务器配套系列芯片已通过客户验证 可应用于AI
- 新能源高压连接器高压互锁(HVIL)功能详解
- FPGA和AI芯片算哪一类?芯片的不同分类方式
- MPS全系列电机驱动产品,助力新能源汽车实现更好的智能
- 基于穿隧磁阻效应(TMR)的车规级电流传感器
- 豪威发布新款 4K 分辨率图像传感器,适用于安防摄像头
- 苹果发布M3系列新款MacBook Pro/iMac:业界首批PC 3nm芯
- 硅谷:设计师利用生成式 AI 辅助芯片设计
- 电容式触摸按键屏中应用的高性能触摸芯片
- DigiKey 推出《超越医疗科技》视频系列的第一季

手机 |
相关内容
奥比中光3D相机矩阵助力更强机器人
奥比中光3D相机矩阵助力更强机器人开发,助力,机器人开发,3D,导航,操作,定位,奥比中光3D相机矩阵是一项创新的技术,可以为ADF4360-8BC镭神智能首发激光雷达3D SLAM无人
镭神智能首发激光雷达3D SLAM无人叉车/AMR控制器引起热烈反响,激光雷达,控制器,3D,导航,传感器,实时,近日,中国智能科技公司镭神智能压敏电阻如何吸收多余电流进行保护
压敏电阻如何吸收多余电流进行保护,隔离,结构,器件,结构设计,状态,损坏,LM2904N压敏电阻是一种特殊的电阻器件,其电阻值在受到外部电智能路径识别模块电路设计
智能路径识别模块电路设计,电路图,CCD应用电路,智能路径识别模块电路设计 智能硬件,路径识别,图像传感器, 采用面阵CCD作为路扫地机器人里各类传感器的重要作用
扫地机器人里各类传感器的重要作用,传感器,位置,识别,操作,路径规划,检测,扫地机器人是一种能够自动清扫地面的AO3407A机器人设备,它DDR内存芯片的PCB设计
DDR内存芯片的PCB设计,芯片,内存,布线,优化,布线规则,噪声,DDR内存芯片的PCB设计是一项复杂而关键的任务,需要考虑信号完整性、电源基于MCU的室外移动机器人组合导航
基于MCU的室外移动机器人组合导航定位系统,组合,导航,移动机器人,算法,传感器,地图,随着机器人技术的发展,移动机器人在室外环境中的基于边界点优化和多步路径规划的机
基于边界点优化和多步路径规划的机器人自主探索策略,路径规划,优化,边界,路径,方法,救援,机器人自主探索是指机器人在未知环境中自