码农与大神也许只是一步之遥

码农与大神也许只是一步之遥_第1张图片

屈指数算,我从大二开始接触编程,到现在已经第五个年头。这五年里摸爬滚打,绕了不少弯路。计算机世界似乎是一个无边的宇宙,这五年道阻且长,我试图探寻编程世界的边界。经历了五年代码的洗礼,我似乎依稀能看见编程世界的轮廓。下面是我这五年的感悟,反鸡汤文,胆小者慎入。

习得一项本领总会经历三个阶段:入门、缓步提升、超越。

第一阶段:入门。

所谓万事开头难,任何一项本领在入门时总要花费一翻精力,编程也是如此。每个程序员都由C语言开启编程世界的大门。C中的指针、内存管理让刚接触编程的我们晕头转向。但如果弄清楚了这些基本概念,也许在黑白界面中完成我们人生第一个学生成绩管理系统并非难事。入门阶段也许会伴随着艰难困苦与不知方向,但只要坚定信念,反复咀嚼基础知识,入门并非难事。

第二阶段:缓慢提升

当我们熟悉了一门语言、了解了一些计算机基础知识、并成功实现了一个看似简陋但充满成就感的软件,接下来我们将会进入一段漫长无际的缓慢提升阶段。这个阶段我们开始涉足一些项目,用先前积累的基础知识可以合作完成一个项目,这个过程也会伴随各种考验,但实现每个功能后的成就感会使我们信心百倍。然而,受到成就感驱使,我们在这个过程中往往会一味地追求成就感而疏忽探寻问题的本质,成就感会取代我们对技术本身的思考。遇到问题时我们更擅于使用拿来主义,在网上一通搜索,忽然发现某个论坛中的某中方法可行,便转而继续下一个问题。若你也有这样的体会,恭喜你正式成为码农。
成为码农也许是每个程序员必经的阶段。成为码农并不可怕,可怕的是你是否意识到自己正处于码农的阶段。在这一阶段也许已经积累了一些项目经验,对编程语言也有所了解。也许你已经在中等规模的公司获得一份薪资不错的工作,并且凭目前的经验足以混口不错的饭吃,但若想进入顶级互联网公司仍有较大的差距。也许你会发现,当遇到问题时你能通过搜索引擎快速地找到解决方案,但仔细想来你具备的是信息搜索能力,并非高超的编程水平。国内的程序员论坛潜伏着太多这样的拿来主义者。他们只希望获得解决当前问题方法,并不会究其问题的本质。你若体会到这一点,并意识到拿来主义巨大的危害,那你即将踏入第三阶段;你若安于现状、不作改变,那终将成为码农无法自拔。

第三阶段:看透一切

正如道教的思想:一生二,二生三,三生万物。万事万物虽形态各异,但究其本源都是“一”。编程也是如此,计算机技术发展至今新技术层出不穷,每隔17秒就会有一种新的框架诞生。很多人苦于编程技术发展太快,学习更不上新技术的迭代。但大家不曾发现,当今计算机技术的发展都是表层技术的发展,计算机根基数十年未变。HTTP协议、TCP协议、UDP协议、面向对象编程思想……再往底层,如今的所有计算机仍然基于这个1903年出生的犹太人冯诺伊曼提出的计算机架构。若要成为高手,必须要看透事物的本质,若要成为计算机大神,必须要学透计算机基础学科。那些框架都是浮云,随着新技术的出现必将成为过眼云烟,而真正经得起时间洗礼的是那些几十年未变的计算机基础。当了解了这一点,你就会忽然明白,为什么大学计算机专业要学四年基础知识?为什么BAT招聘都会考大量变态的基础知识?那些在高校制定教学计算的老教授们、那些BAT的大神们早就参透了这一点。高手总是以不变应万变。
所以励志成为大神的你,不要再抱怨学校的课程多么地没用,不要再抱怨校招的笔试题多么地变态,从现在起重视基础、恶补基础吧。

最后的干货

最后分享给大家编程过程中的一些干货。
学习编程是一场马拉松,你永远别想一口吃成一个胖子。快餐式的IT培训机构最多把你培养成码农,若要更上一层楼一定要多多思考、拒绝拿来主义。
在参与项目过程中都会受到deadline的压力,也许你没有太多的时间探究每个问题的根源。我建议大家养成记录的习惯,把开发过程中遇到的每个问题都记录下来,在周末或项目空窗期把问题探究清楚。
你要知道,任何问题都有原因,不要把重启一下电脑就解决的问题归咎于你所使用的框架的bug,即便真的是框架的bug,那你也需要看源码找到bug的根源。
保持一颗探寻问题本源的心,编程世界在你面前终将一丝不挂。

码农与大神也许只是一步之遥_第2张图片

你可能感兴趣的:(心路历程)