许多程序员自称码农,因为每天事情总也做不完,而这些工作也没有给自己带来职业上的提升,总在原地打转,自己的工作似乎随时可被新人替换,可有可无。
于是,年轻些的考虑着转管理或者转行,年纪大些的则被所谓的 40 岁危机困扰焦虑着。另一方面,有些程序员工作高效,能力出众,每当机会来临时总能获得职位上升,收入迅速的提高,个人价值的提升又从精神上给自己带来满足感,常常斗志昂扬,而这样能解决复杂问题的程序员才叫工程师。
本文中笔者将根据自己 10 多年从业经历谈谈如何从码农升级到工程师。
事实上,互联网行业的项目需求从来不是静态的,项目是动态的、永远在不停迭代,所以即使你能力再好效率再高,也不可能让你处在空档期,所以,相比其他行业程序员们总是很容易处于忙忙碌碌的状态中。
另一方面,项目里哪怕没有新功能了程序员自身也有很大的欲望去优化、重构代码,还是忙忙碌碌。但是,到底客户的问题、行业的痛点有没有真正解决?项目给公司带来多少收益?我手头的工作对公司下一步的发展有何意义?
这些通常不在程序员们的思考范围:这与我何干?我是专业写代码的,这些应该由老板、产品经理、运营、销售、其他业务部门去考虑,我只需要精益求精把代码写好写稳定就可以了,我预留了许多扩展接口,到时公司需要的话去扩展模块就行了,我何必要知道与我工作无关的事?这个想法其实是让许多程序员始终停留在码农阶段,与那些卓越的工程师同等辛苦,但待遇层次总是相差甚远的罪魁祸首。
吴军老师在《见识》一书中把工程师定义为 5 个等级,相邻的等级间会有 10 倍的差距,而第五级工程师以下其实就是码农。
实际上,能够到达第五级,就已经从码农提升为工程师了。
比如,现在有一个任务需要实现一个功能子系统,一个第五级工程师能够与产品经理深入挖掘需求及其到底是否解决了问题,能够用算法建模解决现实中的问题,能够独立跨部门沟通获取所需的资源及协调其他工程师的帮助,能够正确的使用各种开源组件保质保量不重复造轮子,能够解决开发过程中出现的各种坑,按时交付出高质量的产品,这才是一个合格的第五级工程师了。
码农离第五级工程师到底有多远呢?大家可以观察下身周,码农往往沟通技巧欠缺,不愿深入理解需求的意义,不愿深入研究某个技术或者框架的意义,或者只是深入研究某些语法糖却不考虑维护代价,喜欢造轮子,只要接手别人的工作先不愿精读代码而是想着按自己最熟悉的方式重构,做到一半时各种困难下开始退缩求助,于是交付时不断的延期再延期……
成为一个合格的第五级工程师,需要哪些条件呢?
1、要有欲望成为高阶工程师!
无欲则刚,如果内心就不大想成为一个高级工程师,那么肯定不愿付出更多的努力,肯定不会主动的加班,也不会在不加班的时候脑袋里还在想着问题和项目上的事,而加班或者正常上班时敷衍的时间比例很高。从低一级迈向高一级时,若不愿意付出比同级人更多的努力,又谈何升级呢?在任何领域,努力一定是成功的必要条件。
2、懂得做减法的学问。
事务性的工作总是非常多的,同时也会接到很多需求功能以及测试提交的 bug,还有兴趣爱好呢!很多想看的演唱会、连续剧、电影等着你,还有许多朋友聚会应酬要参加,还有朋友圈要刷刷,微博大 V 们的文章要读读,股票要炒炒,理财要学学,游戏要玩玩,所以,忙忙碌碌里职业技能没有得到一点增长。
或者你效率奇高,但你要做的事太多了,效率不等于效能,效能是指完成的事情 * 事情的意义。事情要做到 100% 完成,而且必须是重要的事。
既然你想成为高阶工程师,那么请把不重要的事从你一天的计划中移除吧。就像上图中吴军老师所说的,每升级到下一级,你的收入都将呈现 10 倍上涨的趋势,这收益远远大于你去做自己并不擅长的炒股所获取的收益(长期来看)。
而所谓的应酬、各类资讯、个人爱好,并不是只要清楚的认识到自己想要什么就能够正确的做减法,这需要你的认知升级。
而在 leader 分配下来的任务里,也需要你准确的判断出优先级,一定要先把最重要的事百分百的完成。这需要你与 leader 间密切沟通,因为技术管理者所掌握的信息量远大于你,而且信息在时刻变化着,他那里的信息及时度也超过你,唯有从你的上级那里才能快速的了解到工作的优先级。
这也需要与产品经理、上下游部门间密切沟通,这样你才能准确的了解到你的工作对别人的意义,这也有助于你判断优先级。
总之,做减法是一门学问。
3、有效地做到 10000 小时定律。
一万小时定律是作家格拉德威尔在《异类》一书中指出的定律。
“人们眼中的天才之所以卓越非凡,并非天资超人一等,而是付出了持续不断的努力。1 万小时的锤炼是任何人从平凡变成世界级大师的必要条件。”
他将此称为“一万小时定律”。要成为某个领域的专家,需要 10000 小时,按比例计算就是:如果每天工作八个小时,一周工作五天,那么成为一个领域的专家至少需要五年。这就是一万小时定律。
显然,并不是任何人在一个领域工作五年就能成为大师的。有效的做到这一万小时的关键是,这一次的努力请最大程度的复用上一次努力的结果!
例如当下许多互联网从业者一年就跳槽一次,先不谈是不是应该跳槽(如果只是想通过跳槽涨薪,而不是原公司没有新的位置带给自己职业发展,那就有问题了),首先你能感觉到跳槽之后是在最大程度的复用上一家公司里自己的努力吗?
如果一切是在从头开始,包括新的开发工具、新的技术栈、新的业务场景、新的产业链、新的合作关系、新的同事圈子等,那么很显然十万小时也不够成为专家的。
或者从另一个角度,有些人经常换工具、框架、编程语言,如果你能够在学新技术时,始终感觉到与自己熟悉的技术一一对应,基于此能够轻易的举一反三,那么这就是在高效的复用上一次的努力。反之,或者你上一个技术还学得不到家,换了新技术后很难敏感的发现共通性,这就很糟糕。
4、抓住关键节点。
当我们手头有许多小功能,或者与许多团队有交互时,往往经常被开会、被沟通,事情也又杂又多。此时,务必把手头上的事在分好优先级的基础上,确认每件工作的几个关键节点:完成时间点,中期交付或者需要他人交付产品、文档给你的时间点,需要协调其他人启动的时间点等等。
抓住了这些时间点,往往一头乱麻的事就自然理清了。当我们的时间非常碎片化时,一定要尽力抽出大块整块的时间,这能让我们有时间思考,而且减少了任务切换的成本,而这依赖于很好的抓住关键节点。
5、常识的重要性。
一个有志向的农民和一个航空航天专业的毕业生都在做飞机,其最大的不同在于常识。对于不同的程序员来说,常识并不相同。我有一些同事本不是计算机专业,有些还是先做了几年其他行业再转过来做前端程序员。
这样,如算法复杂度、网络模型等计算机科学体系里的基础知识对于他们就不再是常识,而常识通常是将事情做到 50% 程度的关键。常识的缺失会导致与同级程序员相比做事情事倍功半,这从长期来看一定会让你早早的触及职业天花板,而补足常识的缺失相较起来还是比较容易的(毕竟这本不是什么尖端知识),但许多人长年不愿在此下功夫。
6、有后劲儿。
有些人工作年限越久,竞争力越强,职业上升空间很大,反例其实更多,而这种有无“后劲”在我看来其实关键在于有没有科学的职场做事方法。
比如习惯做乙方的外包程序员,转到甲方开始做产品时,还是习惯于把产品当成别人家的孩子,缺乏一种主人翁的精神,而在任何公司做任何产品,如果没有一种把自己的产品当孩子的感觉,就很容易向其他人表现出喜欢推诿、不肯担责任的特点,而缺乏主动精神往往导致项目前期准备工作不足,后期疲于奔命。
没有主人翁精神,往往对整个研发链条自己这块以外的部分不愿意了解,这样没有办法管理好你的上游和下游,最终导致自己的工作困难重重,难出成绩。
对自己的产品有主人翁精神,会让自己保有一种使命感,进而相对更敬业、更有激情,而这对团队是有正向激励作用的。
而且,有这种精神后,往往会想办法把工作流程标准化,把知识分享给团队同事以提升团队的作战能力,进而让产品更优秀。自己的工作有一点提升,与同时带动其他同事有一点提升,这是有量级差别的。当有晋升机会时,主管们自然更偏爱把机会给这样的同事。
http://36kr.com/p/5131752.html
相关推荐
这一过程可大致分为三个阶段:从码农到Team Leader,从Team Leader到CTO,以及从CTO到CEO。每一个阶段都伴随着技术、管理及领导力的提升,以及对业务和市场的深刻理解。 首先,从码农到Team Leader,这是一个从技术...
以下是这期杂志可能包含的一些核心知识点: 1. **技术趋势**:杂志可能会对当前的IT行业发展进行分析,如云计算、大数据、人工智能、区块链等领域的最新动态和未来趋势。这些内容有助于程序员了解行业发展方向,...
阅文集团-徐海峰-个人成长:从码农到架构师
码农的草帽底下,是一颗充满创造力的自由不羁的头脑。 他们遵从最佳实践而痛恨陈规教条,他们欣赏天才而不迷信权威,他们喜欢思考而不轻易苟同。他们是技术人,却追求人文理想;他们敢于呐喊,说出自己的观点和...
该文件包含了图灵社区出版的《码农》第一期到第四期的杂志。上面介绍了各种算法,访谈和IT行业的方方面面,致力于IT行业的可以看看。 码农的草帽底下,是一颗充满创造力的自由不羁的头脑。 他们遵从最佳实践而...
第一期的发布标志着这个平台为程序员提供了丰富的学习资源和交流空间。 在《码农》杂志第一期中,我们可以期待涵盖多个IT领域的精彩内容。首先,作为入门部分,可能会有对编程基础知识的回顾,帮助新手程序员巩固...
图灵写给程序员的免费电子杂志《码农》,第三期,欢迎下载
《码农》杂志是一本专注于IT技术和职业发展的出版物,其1-3期包含了丰富的信息,旨在帮助IT从业者提升技能,了解行业动态,以及解决实际工作中遇到的问题。每一期都可能涵盖多个主题,包括编程语言、软件开发、数据...
本文标题为“码农 第6期_603c8.pdf”,主题聚焦于计算机网络安全,并特别对网络中的无线网络攻击、Android与iOS平台的安全问题进行了深入探讨。此外,文章还涉及了恶意软件对抗、网络钓鱼等互联网安全常识。 1. ...
- **开发工具转移**:文中提到一位码农从Eclipse转移到IntelliJ IDEA的经历。这对于开发者来说具有一定的参考价值,特别是关于如何选择最适合自己的开发工具。 - **考虑因素**:选择开发工具时,应该考虑的因素包括...
图灵写给程序员的免费电子杂志《码农》,第二期,欢迎下载
综上所述,“十年码农内功2023.7.2”这份资料可能是一个全面且深入的程序员成长指南,涵盖了从基础到高级的多个层面,旨在帮助程序员不断提升自己的专业能力和综合素养。通过阅读这份PDF,读者有望系统地学习和巩固...
码农那种周刊知识整理.zip,码农周刊整理
对于码农来说,这可能涉及到编程语言(如Java、Python、C++)、数据结构(如数组、链表、树、图)、算法(排序、查找、动态规划)、操作系统原理(进程、线程、内存管理)、计算机网络(TCP/IP协议、HTTP协议)等。...
【简洁自适应个人码农主页源码】是一个专为个人码农设计的静态网页源代码,旨在提供一个简单、响应式且高效的展示平台。这款源码的特点在于其纯HTML结构,这意味着它不依赖JavaScript或其他复杂的客户端脚本语言,...
码农翻身,自己的xmind类型的读书笔记,大家如果需要可以自行下载。当前文件对应我博客中的读书笔记内容
图灵写给程序员的免费电子杂志《码农》,第七期,欢迎下载
搞懂了这几点,你就学会了Web编程 Spring本质系列(1) -- 依赖注入 Spring本质系列(2) -- AOP 三层架构和MVC那点事儿 Java帝国之拨云见日识回调 小张的Duck Typing JDBC的诞生 JDBC后传 一个不安分的JDBC驱动...