考虑一千次,不如去做一次;犹豫一万次,不如实践一次;华丽的跌倒,胜过无谓的彷徨,将来的你,一定会感谢现在奋斗的你。
一、要有欲望成为高薪工程师
无欲则刚,如果内心就不大想成为一个高级工程师,那么肯定不愿付出更多的努力,肯定不会主动的加班,也不会在不加班的时候脑袋里还在想着问题和项目上的事,而加班或者正常上班时敷衍的时间比例很高。从低一级迈向高一级时,若不愿意付出比同级人更多的努力,又谈何升级呢?在任何领域,努力一定是成功的必要条件。
二、有效的做到10000小时定律
一万小时定律是作家格拉德威尔在《异类》一书中指出的定律。“人们眼中的天才之所以卓越非凡,并非天资超人一等,而是付出了持续不断的努力。1万小时的锤炼是任何人从平凡变成世界级大师的必要条件”。要成为某个领域的专家,需要10000小时,按比例计算就是:如果每天工作八个小时,一周工作五天,那么成为一个领域的专家至少需要五年。这就是一万小时定律。
显然,并不是任何人在一个领域工作五年就能成为大师的。有效的做到这一万小时的关键是,这一次的努力请最大程度的复用上一次努力的结果!例如当下许多互联网从业者一年就跳槽一次,先不谈是不是应该跳槽(如果只是想通过跳槽涨薪,而不是原公司没有新的位置带给自己职业发展,那就有问题了),首先你能感觉到跳槽之后是在最大程度的复用上一家公司里自己的努力吗?如果一切是在从头开始,包括新的开发工具、新的技术栈、新的业务场景、新的产业链、新的合作关系、新的同事圈子等,那么很显然十万小时也不够成为专家的。
或者从另一个角度,有些人经常换工具、框架、编程语言,如果你能够在学新技术时,始终感觉到与自己熟悉的技术一一对应,基于此能够轻易的举一反三,那么这就是在高效的复用上一次的努力。反之,或者你上一个技术还学得不到家,换了新技术后很难敏感的发现共通性,这就很糟糕。
三、懂得做减法
人一生时间有限,而生活中却有无尽的琐事,学会减少做不必要的事情是很重要的。事务性的工作总是非常多的,同时也会接到很多需求功能以及测试提交的bug,还有兴趣爱好呢?!很多想看的演唱会、连续剧、电影等着你,还有许多朋友聚会应酬要参加,还有朋友圈要刷刷,微博大V们的文章要读读,股票要炒炒,理财要学学,游戏要玩玩,所以,忙忙碌碌里职业技能没有得到一点增长。
或者你效率奇高,但你要做的事太多了,效率不等于效能,效能是指完成的事情*事情的意义。事情要做到100%完成,而且必须是重要的事。既然你想成为高阶工程师,那么请把不重要的事从你一天的计划中移除吧。就像上图中吴军老师所说的,每升级到下一级,你的收入都将呈现10倍上涨的趋势,这收益远远大于你去做自己并不擅长的炒股所获取的收益(长期来看)。而所谓的应酬、各类资讯、个人爱好,并不是只要清楚的认识到自己想要什么就能够正确的做减法,这需要你的认知升级。
而在leader分配下来的任务里,也需要你准确的判断出优先级,一定要先把最重要的事百分百的完成。这需要你与leader间密切沟通,因为技术管理者所掌握的信息量远大于你,而且信息在时刻变化着,他那里的信息及时度也超过你,唯有从你的上级那里才能快速的了解到工作的优先级。这也需要与产品经理、上下游部门间密切沟通,这样你才能准确的了解到你的工作对别人的意义,这也有助于你判断优先级。
总之,做减法是一门学问。
四、抓住关键节点
当我们手头有许多小功能,或者与许多团队有交互时,往往经常被开会、被沟通,事情也又杂又多。此时,务必把手头上的事在分好优先级的基础上,确认每件工作的几个关键节点:完成时间点,中期交付或者需要他人交付产品、文档给你的时间点,需要协调其他人启动的时间点等等。抓住了这些时间点,往往一头乱麻的事就自然理清了。当我们的时间非常碎片化时,一定要尽力抽出大块整块的时间,这能让我们有时间思考,而且减少了任务切换的成本,而这依赖于很好的抓住关键节点。
五、常识的重要性
一个有志向的农民和一个航空航天专业的毕业生都在做飞机,其最大的不同在于常识。对于不同的程序员来说,常识并不相同。我有一些同事本不是计算机专业,有些还是先做了几年其他行业再转过来做前端程序员。这样,如算法复杂度、网络模型等计算机科学体系里的基础知识对于他们就不再是常识,而常识通常是将事情做到50%程度的关键。常识的缺失会导致与同级程序员相比做事情事倍功半,这从长期来看一定会让你早早的触及职业天花板,而补足常识的缺失相较起来还是比较容易的(毕竟这本不是什么尖端知识),但许多人长年不愿在此下功夫。
六、有后劲儿
有些人工作年限越久,竞争力越强,职业上升空间很大,反例其实更多,而这种有无 “后劲” 在我看来其实关键在于有没有科学的职场做事方法。比如习惯做乙方的外包程序员,转到甲方开始做产品时,还是习惯于把产品当成别人家的孩子,缺乏一种主人翁的精神,而在任何公司做任何产品,如果没有一种把自己的产品当孩子的感觉,就很容易向其他人表现出喜欢推诿、不肯担责任的特点,而缺乏主动精神往往导致项目前期准备工作不足,后期疲于奔命。没有主人翁精神,往往对整个研发链条自己这块以外的部分不愿意了解,这样没有办法管理好你的上游和下游,最终导致自己的工作困难重重,难出成绩。
对自己的产品有主人翁精神,会让自己保有一种使命感,进而相对更敬业、更有激情,而这对团队是有正向激励作用的。而且,有这种精神后,往往会想办法把工作流程标准化,把知识分享给团队同事以提升团队的作战能力,进而让产品更优秀。自己的工作有一点提升,与同时带动其他同事有一点提升,这是有量级差别的。当有晋升机会时,主管们自然更偏爱把机会给这样的同事。
七、如何提升
关于这个问题,身边的很多朋友都有问过我,心理学上有这样一个词,叫“花盆效应”。
指的是人如果在舒适的“花盆”中待久了,就会不思进取、安于现状。当你对现状心满意足,日复一日地去做着同样的事情,不再将时间花在提升自己,那么你的成长见识,将永远停留在原来的那块区域里。 曾看到这样一句话:一个人老去的标志,绝不是老成稳重、沉默寡言,而是不肯再尝试,不肯再容许自己置身不熟悉的境地。当你停止了学习、固步自封,将自己囚禁在得过且过的牢笼中,那么你已经朝平庸迈进了一大步。
结尾
虽然技术水平不是决定薪水的唯一因素,但如果技术牛到一定程度,高薪 offer 也是探囊取物。说一个我听说过得事迹:传说网络安全大神道哥在面试阿里的时候,面试官提出这样一个问题:你怎么证明自己的技术水平?然后道哥接过电脑,当着面试官的面关掉了阿里的内网。如果技术水平牛到这种境界,没有理由会不成为 Topcoder 啊。最后祝大家梦想成真!!