其实大神级的程序员除开那几个凭借一己之力颠覆世界技术的大神外,我们主要讨论的其实还是“码农”与程序员的区别。
程序员分为三个阶段:
在IT技术膨胀的时代,编码工作就如同印刷匠一般,门槛越来越低。大批新军不断涌进,却发现如果你把薪资换成时薪,可能还不如其他行业来的高。
不少人认为会编码就是程序员了,实则不然。
程序员在英文里对应有三个单词:Coder、Programmer和Software Engineer,就十分生动形象的描述了程序员的三个阶段。
Coder(告诉我怎么实现):只要求能够熟练使用编程环境,精通几门编程语言、开发框架和开发库,擅长写代码就可以了。这个阶段的程序员能够按照既定的设计完成编码。
Programmer(我知道怎么实现):要求在coder的基础之上,精通设计模式、算法实现和编码技巧,并具备熟练应用的能力,这个阶段的成员能都独立编码解决现实问题。
Software Engineer:(我知道为什么这样实现):要求在掌握业务知识的前提下,理解为什么实现,在综合考虑架构实现,权衡开发成本之后,为解决业务问题提出最优方案,并能与业务人员顺畅沟通,让业务人员理解方案。编码工作达到这个阶段,才能称得上真正的程序员,才真正实现了从工作到职业的转变。
而很多时候差距就是在第一阶段就已经产生。
在你入门编程之后:
A:成为coder卡卡西(baidu+google+ctrl+c+ctrl+v)凭着和谁都能五五开的天赋属性,在职场开始叱咤风云。搞项目、带新人、创业、拉投资,在有限的时间里赚更多的钱。一驱动自己去学习就头脑发晕,最近太累。
B:进到一个不错的大厂,入门就是千万上亿的用户级别的项目,即使自己只是一个小螺帽。但是大量数据用户的体验,也让我受益匪浅,开始认识到自己的不足。对技术保持着终生学习的态度。
沉淀的过程是孤独的,但也是成长速度最快。而仅凭着初学的三板斧不停的coder,到头来只能对未来的路感到困惑。
一两年后,A还在不间断的寻找新的工作机会,薪资也是不尽人意,明明我有十八般武艺,却没有人懂,接手的项目也是各种问题。老技术横行,新技术自己又不会。
而B呢?
经过几年的技术沉淀,从小白成为了我们口中的大神程序员。
在自己不断成长的过程也不断分享经验给新生,积攒着不错的业界名声。
多年的大厂经历,技术在业绩的传播名气,优秀的创业团队找上门,技术入股。
最重要的是一直以来也保持的终生学习的理念。
写在末尾:
1.不要迷恋满足于当前良好薪资待遇。可能明年就不会属于你。
2.不要说遇到好项目是自己运气好,因为好项目也是人写出来的。
3.不要知其然而不知其所以然,不然你永远只是一个“卡卡西”
4.不要觉得自己很忙。比你更忙的人有很多,这不是懒惰的理由。
5.养成学习的习惯,每天即使是半小时/一小时,每天点点,一年后也是会有很大的进步。
6.不要拒绝交流,对于技术、职业规划迷茫的,没有前辈的指导的话,可以多加交流群去交流。