程序员成长速度如何超越 80% 的同龄人?

时间:2021-7-4 作者:qvyue

李笑来常说:“7 年就是一辈子。”

寓意人自身的“操作系统”可用 7 年时间完成一次“升级”,形成翻天覆地般的变化。

但对于众多初级软件工程师来说,7 年太长,往往 3 年就是一个坎儿。

打开 BOSS 直聘、猎聘等众多求职软件,你会发现 1-3 年经验的程序员是一个特殊的群体。乍一看,他们起薪尚可,能力要求也以基础为主,挑战并不严峻,甚至有点悠闲。

但进入 3-5 年、5-10 年经验程序员的招聘帖子,压力会骤然增大:与岗位职责相关的动词由“参与”变作“承载”,由“提升”变成“保证”;在能力要求上,“熟练掌握”则统统变成了“深刻理解”。

许多年轻程序员的危机,都来自于 3 年左右经验时的一次跳槽 —— 基础知识轻松搞定,深入提问则啥也不懂。3 年时间,做了很多业务逻辑实现,性能问题却从未关注过,归根结底,还是成长速度太慢,迷失在“温水煮青蛙”般的研发日常中。

程序员成长速度如何超越 80% 的同龄人?

技术人生的最大危机不是 35 岁,而是你的个人成长速度,首次低于群体平均速度之时。

那么对于 1 – 3 年经验的程序员来说,如何保持最快的成长速度,找到最短的成长路径,超越 80% 的同龄人?

程序员面试的正确姿势

面试官考察的三类素质往往最为重要,将直接决定面试者是否能进入这家企业。

知识与技能考察

这类问题往往在笔试试卷上进行考察,开放式命题,也有部分来自面试,比如说现场写代码。

知识和技能实际上是有明显区别的,看过许多编程类书籍并不意味这能写出优秀的代码。很多面试官也会现场要求面试者写出尽可能多的测试用例,以考察面试者是否具备全面思考的能力。

快速学习与解决问题的能力

该类型能力,是在上一级能力考察之上的递进:会写代码,不代表你善于解决问题。

面对一个复杂的问题,有没有思路?能否找到正确的解法?这样的能力有时比单纯编写代码更为关键,他将直接决定工程师能创造多少业务价值,彰显出多大的个人能力。

技术进步的速度非常之快,技术人必须拥有快速学习能力,才能保证跟上技术进步的速度。

心态

所谓心态,其实可以理解为事业心、进取心,尤其在厮杀惨烈的互联网行业,如果进取心不足,就有跟不上业务发展的可能。

梅花创投创始合伙人吴世春曾提出了一个形容所谓“小镇青年”的概念:PSD:P(Poor 贫穷)、S(Smart 聪明)、D(Desire 欲望),并称:“我投的很多创业者都是小镇青年。”

如今在职场上,很多面试官也开始青睐“小镇青年们”,他们有野心、有欲望,敢于用聪明才智挑战种种不可能的任务,因而成为这个时代的中坚力量。

面试方法

面试方法的解析,首先提到大厂惯用的 LeetCode ,这让人再熟悉不过了,也就是所谓的“刷题”。

刷题,对于面试官能力的要求并不高,对于候选人的能力要求,则要稍微高一些。

另一种面试方法叫做“STAR 面试法”, “STAR”分别代表了:SITUATION(背景)、TASK(任务)、ACTION(行动)和 RESULT(结果)四个英文单词的首字母组合,目标是对面试者作出全面客观的评价。这种方法对面试官的考验更大。

常见面试问题 1 :学历重要吗?

其实几乎所有对学历的筛选,都是为了提高面试效率,“我们不唯学历至上。但好学历对于求职者来说有时是个好的敲门砖,特别当面试官面前有太多的简历需要筛选的时候。因为好学历证明你在学生阶段是优秀的,这个优秀也有高概率延伸到工作中。”

常见面试问题 2 :程序员 35 岁会有危机吗?

35 岁带来的最大问题是“上有老,下有小”,花在工作和学习上的时间便没有那么多了。35 岁是否是危机?还是要看自己的努力。

比如说,你是否曾担任项目的主要负责人?是否有主导过复杂架构设计?你的绩效考核怎么样?这些客观成绩都可以写在简历里,最好做到让面试官一目了然。

很多简历的问题不在于工作内容太少,而在于没有亮点,无法抓住面试官的眼球。

常见面试问题 3 : 你有什么问题想问我?

在面试的最后环节,面试官常常会问:“你有什么问题想问我吗?”

一般的面试者会说:“前面面试时都问过了,没问题了。”

但实际上,最后一位面试官往往 Level 比较高,也想听听你关于面试的感想,也有可能是给你最后的展示机会。如果你此时能抓住机会,提出几个恰当的问题,再展示一下自己,或许就会给面试官留下一个良好的印象。

从程序员到 CTO,必须了解的 3 件事

他的职业生涯完美印证了当前主流招聘市场对程序员成长阶段的划分:

在 1-3 年经验阶段,他成为了一名项目经理,脱离了基础的程序员阶段;在 3-5 年经验阶段,他成为了一名技术经理,正是介入技术管理工作;在 5-10 年经验阶段,他完成了个人职场的飞跃,先后成为架构师和 CTO ,让人十分羡慕。

在技术生涯的第一个阶段,关键在于选择一家相对更有前景的互联网初创公司,这样能让自己的能力得到最大程度的锻炼,不一定非要进入一家大厂,谋求光鲜的 Title 或背景。

比如,在他的职业生涯早期,业内还并未出现阿里云这样的标杆型云计算企业,客户往往对云平台的数据安全抱有较大质疑。因此,他不得不带领团队围绕云平台进行了大量的定制化开发,这样的经历也成为了他在架构领域的启蒙,引领他走上了架构师的道路。

对于所有具备 1-3 年研发经验的工程师,他总结了如下经验要点,希望能对大家有所启发:

向公司最牛的程序员学习;

不会就学,不懂就问,多干实事,少说废话;

踏实专注,脏活累活,绝不挑活;

无聊时不要打游戏,多看书,多写代码;

多做笔记,多总结经验,多与同事交流技术;

尝试做项目经理

如果在公司内才写了两年代码,就被老板要求做项目经理,请问,你愿意吗?

十个人中可能会有八个人都不愿意,因为这打断了一名工程师技术水平的高速成长,而且会引起团队中老资历技术人的反感,不出意外的,他也是那八个人之一。

但作为 1-3 年经验的初级工程师,我们刚刚提到,其核心之一就是“绝不挑活”,既然老板如此决定,就要去试试看。

作为 SaaS 行业的项目经理,对客户需求往往难以拒绝,一切要以签单为导向。让他印象比较深刻的是,有一次,客户提出了一个非常好的需求,确实对服务有很大的提升,但涉及改动较大,且要求一星期内完成。他答应下来,然后找到团队内最资深的工程师讨论项目计划,这名工程师直接说道:

 “我搞不定,要不你来?”

然后起身就下班了。这件事给他留下了深刻的印象,也直接牵扯出技术转管理的第一道拦路虎:如何带领技术高手。

有人可能会说,我把自己变成一个技术高手不就行了吗?他说:“成为自己心目中的技术高手需要多少年?5 年,10 年,还是 15 年?那么等到你成为了心目中的技术高手,在职场中还剩余多少价值,身体还扛不扛得住 996?”

所以,想做管理者,就一定要突破这种管理瓶颈。对于他个人来说,这件事让他开始逐渐调整自己的管理姿态,尽量避免用高高在上的口吻指使下属,并主动争取相应的奖励;如果项目失败了,管理者则要注意:千万不要甩锅。

而做管理者,最重要的目标就是:建立自己的影响力。一旦影响力建成,职业生涯就会脱离平稳且无惊喜的发展过程,开始进入高速增长阶段。

对于初入职场的项目经理,他也总结了如下经验:

学会项目管理方法,控制项目风险;

抓住一切机会,锻炼自己的沟通与协调机会;

让大家有目标的“动起来”,而不是“看你忙”;

尊重每一位团队成员,给他们足够的荣誉和面子;

该自己担责的时候,一定不要甩锅;

转型架构师

太过迅速的职场提升,让他觉得技术动手能力正在减弱,“脚跟不落地”,没有安全感。于是他婉拒了老板的挽留和价值不菲的上海户口,毅然裸辞,降薪成为了一名架构师。

从做架构师的第一天起,他就开始撰写技术博客。一些项目即便非常简单,他也会通过博客记录自己的成长,利用好其他的空闲时间,他还实现了一个开源 Java Web 框架。

博客 + 开源框架,最终形成了一个完整的生态体系,极大地增强了个人影响力,并将他带入了阿里巴巴。在阿里巴巴,他又写了一本书,进一步加强了自己的技术影响力。

在他看来,架构师就是“定义规范”并“指导落地”的人,很多人会忽视“指导落地”的工作,这是不对的;另外,他认为,不懂业务的技术专家,不是好架构师。很多人认为业务是产品经理、售前工程师需要关注的问题,错,架构师恰恰一定是一名业务专家。

架构师必须具备五个纬度的能力,包括:全局观、学习与分享、谦虚谨慎、追求完美、坚持与专注。

对于所有立志成为架构师的人,他也提出了一些建议:

领导力:架构师必须具备的能力;

用户思维:所有的程序员都是自己的用户;

善于表达:能将复杂问题清晰地讲出来;

服务意识:服务好业务、产品、技术;

最好的方案永远只有一个;

学习做 CTO

从阿里巴巴离开后,他再度选择了创业,他提到做 CTO ,尤其是空降 CTO,首先要获得团队的信任。方法之一便是随团队一起冲锋陷阵,带着大家一起实现自己的想法,与大家一起加班,而不是坐在办公室内指挥大家干活。

第二点则更为重要,即:快速做出成绩,获得老板的信任。老板会优先考虑公司利益,而不是个人利益,所以 CTO 要学会理解老板、信任老板,快速取得成绩。

第三点,让技术发挥价值,让技术支撑业务。要多与业务方沟通,保持信息的透明,让业务方理解技术侧的工作价值,无论是管理层会议还是私下中,都可以保持沟通。当然了,体现技术价值的时候,也要照顾其他协作部门的感受,首先表扬需求的价值,其后再提技术配合的价值。

对于所有想成为 CTO 的同学,他给出了几点建议,方便大家探讨交流:

更高更广的技术视野,让技术价值最大化;

保持对技术情怀的追求,更要懂得从实际出发;

做好三件事:规划技术战略,提升研发效率,培养技术文化;

用影响力来吸引人才,让团队觉得没跟错人;

和 CEO 之间持续建立信任,管理他的期望;

最后,他为所有励志成为 CTO 的程序员提供了三点建议:

IT 是一条不归路,你选择了走这条路,就是选择了持续学习;

做 IT 技术绝不只是把程序写好,你还需要锻炼软技能;

未来是属于技术人的创业时代,成为 CTO ,只是开始;

他给予许多技术人启示:技术人的成长并非只有一条羊肠小路,相反,努力且善于思考、勤于学习的人,总能收获自己的酬劳,这或许也是技术人保持成长速度的终极答案。

声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:qvyue@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。