从编程小白到百万年薪技术VP,他经历了这9个阶段

2019 年 12 月 08 日

从编程小白到百万年薪技术VP,他经历了这9个阶段

很多人都问,技术人员如何成长,每个阶段又是怎样的,如何才能走出当前的迷茫,实现自我的突破。所以我结合我自己 10 多年的从业经验,总结了技术人员成长的 9 个段位,希望对大家的职业生涯,有所帮助。


1.


刚接触编程的时候,会觉得这是个很神奇东西,平淡的英文字母,再加上标点符号,竟然可以有这么大魔力。会觉得编程是很有自豪感的事情,因为在我们看来,它就是在创造,用这些跳动的字符,创造我们想要的效果。


我当时第一次看到编程的时候,就是这种感觉,我也不知道它是什么,如何做到的,但是就是感觉这很神奇,是一种不懂但是觉得很酷的感觉,然后就会着迷,开始想学。


2.


开始学编程的选择,是没有选择的,因为什么都不懂,可能最先从哪里看到的,就模仿学什么,然后就走上了编程之路。


我最先接触的语言是 Pascal 语言,当时我不知道它是什么,只知道它叫这个名字。这门语言是在高中的时候,计算机书本上的,我学了一些,与其说是学,还不如是记,因为我没有练过,没有运行过。


3.


走上了编程之路后,学习的方式主要看语法,这个是为了入门,但是并不太知道为什么会这样,但是能用,能模仿,这时候算是入门了。


入门后,会迫不及待的,使用实验各种效果,而且这些结果可能都不是自己写出来的,因为入门了,环境可以搭建,会运行,就会从很多地方拷贝一些代码,运行试试,然后感受成功后的自豪感。


我真正做出来东西的语言是 VB,可以通过拖动生成界面,然后再填充需要的逻辑代码,就可以实现一些功能,比如 MP3 后缀名处理,HTML 转 TXT,那时候主要的目的,还是满足自己的需要,可以做一些酷的东西,并不是真的把它当成一门用于工作的技能系统的学习它,但是即使这样,已经够我在同学面前自豪了。


4.


真正的在走向工作之前,这时候的学习,就开始系统性,毕竟要决定靠这个谋生了。这时候我们会看一些实战类的书籍,比如如何做网站,通过什么框架,用到哪些数据库、服务器等等,这时候基本上已经走向正路了。


但是这个时候,我们只是会用阶段,大部分人还不知道为什么,比如 Spring 框架,我们知道这么配置可以用,可以 IoC 反转,但是不知道怎么实现的,原理是什么。


这个时候最大的特点就是,给分配的工作都能做,不太会的,也可以通过 Google、百度解决,大不了拷贝别人的一份,改改即可。


不管怎么样,现在已经初步具备框架系统体系了,可以谋生了。


5.


随着工作时间的加长,经验的增加,你会渐渐的发展,很多常用的知识,自己只会用,但是并不懂,比如内存的分配,类的加载顺序,IoC 的原理等等。


这时候大概是工作 2 年左右,如果快的话,可能会在工作第一年就意识到。这时候你会刻意的去买了一些讲解基础类的书籍,比如以前从来没有认真读完的《Thinking In Java》又开始重读了,并且读的很仔细,还会配合例子测试一下,俨然像一个刚入门的,但是你知道你很清楚你缺少的是什么,想从中学到什么。


然后你可能还会尝试买一些比较深入的书籍,比如讲解原理的,高级特性分析等等,这时候你会逐步的在你现在的这门语言开始深入,要跨过不光会用,还要懂为什么的阶段,这个阶段是孤独的,因为大部分都是语言特性、原理的学习。


跨过去,就是鱼跃龙门,过不去,就是一个重复的螺丝钉。


6.


恭喜你能来到这个阶段,你不光会用,还知道原理。这个时候可能你已经工作 3 年以上了,这时候你开始独立负责一些项目,设计都是你来做。这时候对你的考验不光是编程语言本身了,你还会考虑如何让你的项目具备更好的扩展性,如何提高性能,如何和数据库、服务器、缓存等配合,设计出更好的系统。


这时候你可能开始看设计模式,也会研究数据库的优化,可能还会对 Nginx 研究,以便更好的使用。


这时候的主要特征,就是抽象能力、复用能力、组件化、模块化的提升,同时可以和编程周边(数据库、服务器等)进行更好的协调和搭配,以完成自己的项目设计。


这就是成为高级工程师之路。


7.


现在你来了第 7 段,这一段是资深工程师,是第 6 段的加强,并不会有质的突破。


在这个阶段,你会对抽象、架构的理解更深。开始积累更多的模块,形成一个 SDK 或者一个微服务,你开始深入研究安全,并发,监控。如果你是服务端,你可能会考虑服务双活甚至多活,考虑网关等等。


并且你可能已经开始跨多个端了解业务和架构设计,比如服务端和前端的分离,服务端和终端的协作,开始逐步的从全局(不限于自己的技术栈)思考问题、设计系统。


这个阶段,就是第 6 段的继续深入,积累,扩展,然后积累到可以突破到架构师。


8.


现在你终于突破到架构师了,你的眼界不再局限在你的技术栈,其他的语言你可能不懂,但是你知道如何使用他们,甚至你自己开始学习另外一门语言。


你设计的系统,不会只考虑自己的技术栈,你可能会选择更合适的技术栈来实现。


你会跨语言、技术栈思考问题,并且可以提出好的方案,比如负责的一个项目,横跨服务端、Android、iOS 和前端,你会通盘考虑,兼顾各个技术栈,协调大家完成这个项目。


你不光可能完成分配的任务,还能对现有的系统提出更多有建设性的建议,进行优化,改进,甚至提前积累我们业务需要的技术、平台、知识,为我们未来的使用和扩展做准备。


你还会熟悉业务,可能比其他更多的人对业务更熟悉,因为只有这样,才能设计出更适合业务的架构。


你会借助技术负责人的能力,帮你推动协调事情,让你的想法更好的开展和实现。


你的考虑角度,永远都是整个技术部门,而不是再局限在某个项目,某个组,某个技术栈。


那么恭喜你,现在你是一个合格的架构师了。


9.


现在,到了第 9 段,现在可能你已经做了 10 年了,你发现,所有的一切技术,都是实现业务的工具。业务才是根本,技术是为业务服务的,如果买个系统就能达到目的,那么是不需要自己开发的。


这时候,你具备了再一次横向扩展的能力,可以横向到产品、市场、运营、设计、测试、运维等,这时候,你就不是一个单单的技术人了。


如果有一个称呼的话,可以是技术总监、技术 VP 等等。


10.


以上 9 段,是我结合自己 10 多年的从业经验,总结的技术人员成长的 9 段位,其中第 5 段是比较重要的,也是一个槛,第 6,7 段是一个积累的阶段,也是培养抽象、架构能力的阶段,这两个阶段,决定了你是否可以到第 8 段的架构师,所以第 8 段也是一个槛。


有些人,可能 5 年多就可以到第 8 段,但是可能需要 10 年才能到第 9 段,这是一个非常困难的过程,需要长期的积累,思想的蜕变,才能成长到第 9 段。


从第 6 段开始,你就不能只顾自己了,要更多的考虑协调、协作、体系、多角度。只有做的事情是让整个团队受益的,才能逐渐的突破第 7 段,进入第 8 段的架构师。


每一步,都踩实,多思考、多学习,在每个段位,都做一些超出这个段位的事情,很自然的就进入了下一个段位。


本文转载自公众号程序视界(ID:programmer_sight


)。


原文链接:


https://mp.weixin.qq.com/s/c0ttxp22um8JQO-37O3EVA


2019 年 12 月 08 日 23:16126

评论

发布
暂无评论
发现更多内容

Java统一异常处理(配置文件集中化定义)

xcbeyond

Java 架构 后端 统一异常

AI+云,数字金融掘金客户微细分

人称T客

[python基础]2 python数据类型上篇

我是程序员小贱

异常处理的那些事儿

松花皮蛋me

Java 设计模式

ARTS 07 - 使用 supervisor 配置 ngrok 内网穿透为守护进程

jerry.mei

算法 练习 ARTS 打卡计划 ARTS活动 内网穿透

如何选择:Bootstrap Or Layui

引花眠

bootstrap layui

SICP,我的函数式编程启蒙书

Kurtis Moxley

读书 函数式编程

准时下班的秘密:集成 GitLab && JIRA 实现自动化工作流

Phoenix

团队协作 研发效能

二叉树-四种遍历方式的 Java 实现

多选参数

二叉树 遍历

python操作word文件

wjchenge

Python word

SpringBoot系列(八):SpringBoot 中的事务处理

xcbeyond

Java 微服务 事务 springboot

如何有效提高技能?我推荐《刻意练习》

老胡爱分享

个人成长 练习

了解JS压缩图片,这一篇就够了

华为云开发者社区

Java html5 vue.js 前端 npm

SpringBoot系列(七):SpringBoot 中使用Redis缓存

xcbeyond

Java redis 微服务 springboot

Nginx之反向代理

xcbeyond

nginx 反向代理 代理

Docker 禁止美国“实体清单”主体使用,Docker 开源项目应不受影响

程序员生活志

Docker 互联网热点

KPI考核存在的问题

石云升

读书笔记 考核 KPI 数字化管理

python必备知识总结

我是程序员小贱

全面剖析PHP-FPM+Nginx通信原理

书旅

nginx 正向代理与反向代理 PHP-FPM

架构到底是什么?

flyer0126

架构

最受 IT 公司欢迎的 30 款开源软件

程序员生活志

开源 开源代码

spark学习之IDEA配置spark并wordcount提交集群

我是程序员小贱

IT人为什么难以拿高薪?

看山

成长 随笔杂谈 薪资 心灵鸡汤

蓝绿部署、金丝雀发布(灰度发布)、AB测试

看山

微服务 持续集成

ARTS Week12

时之虫

ARTS 打卡计划 arts

年轻的樵夫哟,你掉的是这个免费 8 核 4G 公网服务器,还是这个随时可用的 Docker 实验平台?

newbe36524

Docker 微服务 微服务架构 .net core ASP.NET Core

面经手册 · 第5篇《看图说话,讲解2-3平衡树「红黑树的前身」》

小傅哥

Java 数据结构 小傅哥 红黑树 2-3树

区块链usdt支付系统开发,虚拟币跑分系统开发

WX13823153201

区块链

[python基础]3 python数据类型下篇(不得不看的字典,列表大总结)

我是程序员小贱

ARTS打卡 第12周

引花眠

微服务 ARTS 打卡计划

HTTP方式文件分片断点下载

xcbeyond

Java 断点续传 下载 Range

从编程小白到百万年薪技术VP,他经历了这9个阶段-InfoQ