关于程序员如何自我修炼的若干思考

       这几天不想理毕业设计,不想乱糟糟地就开始生产力低下的技术死宅,又不想淹死在自己零碎的念头中,尝试了GitHub,玩了玩vi,整理了一遍所有的书,在对之前一些凌乱的想法重复思考的基础上,逐渐明确了一些问题。

       经过反思,我认为对于一个程序员来说,真正需要长期加以学习的一定是基础知识,是“内功”,而当下的技术学习则要以能在最短的时间内转化为生产力为原则。前者是一个技术人员得以安身立命,习有所得的前提和必要条件,后者是一个社会人得以实现自身价值,有所贡献的途径。正如同段誉学会北冥神功后,吸取内力不够,什么绝世武功都是白搭,即便心有余而力不足,难有大成。获得各大高手的内力灌注后,在不知不觉中就拿下了六脉神剑,道理是一样的。

       紧接着需要考虑的问题就是,到底什么是程序员的“内功”,这个问题网上很多牛人都给出了解答,但是经过自己思考和总结的东西,才是自己脑子里的。所谓的“内功”,一定是本质的,稳定的,或者是思想层面的东西。说的有点抽象,具体一点来说,就是我们身处的这个行业的基石,这个基石可以是硬件的,可以是系统架构上的,可以是一些卓越的思维方法,也可以是理论学科。再具体一点,就是诸如计算机体系结构,操作系统原理,计算机网络基本原理,程序设计基本原理,数学和电子学。当今所有的技术,包括如日中天的云计算和大数据、Web、分布式协同处理、并行计算、人工智能,往底层原理上追溯下去,一定逃不开这几门学科,串起来这些基础最重要和最根本的能力,是分析和解决问题的能力。很多搞技术的,懂很多当下流行的技术,但是不一定懂技术背后的原理和思想,此为下者,只是熟练技术工人;相反如果内功深厚,那么学习一门新技术就是很容易的事了,此为上者,成为传说中的大师。

       相信很多有经验的程序员都有相似的体会,往往一门技术学到后来,制约你进一步提高的,仍然是那些“内功”的缺乏:思想深度和高度不够、数学和算法的基础不扎实、逻辑思维能力较弱。因为技术始终是人发明出来的,想要学,总是能学得会的,横亘在你和那些大神之间的鸿沟,正是内功的差距。这个行业的牛人前辈是很多的,往远了数有计算机的先驱者图灵、Dijkstra、Knuth、贝尔实验室的一帮大神,往近了数有芬兰小伙Linus Torvalds、非死不可狂人Mark Zuckerberg……现在的简便而强大开发环境和高度封装的语言惯坏了新新程序员们,让我们感受不到早期还需要自己写开发语言、写编译器、写Makefile的时代,于是很多计算机底层的细节越来越被遗忘,当我们不得不下到“下水道”中寻找Bug时,才意识到如果懂系统运行的原理那该有多好。

       内功修炼同时也是保持自己始终具有核心竞争力的基础,这些积累不能立刻给你回报,但是它们教会了你如何在较为本质的层面上看待问题,往往较为本质的层面也是更为抽象的高级层面,这就脱离了“一叶障目不见泰山”的局部性怪圈。

       总结了内功修炼的极端重要性,接下来也要讨论一下应该如何对待技术,技术当然也是很重要的。

       一门编程语言,像C++、Python;一种开发平台,像iOS、Android;一种具体的解决问题的框架,像OpenGL、Boost库、Hadoop,这些都可以归纳到一门技术的范畴之下。面对众多、繁杂的技术领域,应该怎样去学习和应用呢。选择技术领域的一个最重要的前提就是:以用为纲。比如你想做Android开发,那么必然要去学Java、Android框架、乃至Linux;你想搞桌面图形研发,那OpenGL估计是绕不开的。我们称这些技术为领域知识,要掌握它们,要搞清楚这么几个问题:一是这门技术能干什么;二是它的主要框架是什么;三是它的典型(主要)用法是怎么样的;四是与这门技术相关的背景,如需要什么环境配置,通常这一点上出的问题也是最让人头疼的。

       但是,当专注到某一个技术上很长时间时,技术就已经成为了事业,可能是工作的内容,可能是你自己选择的业余方向。若要事业能站得住脚,那么花上一两个月时间通透该技术的方方面面就是必须的了,并且能够利用这门技术做出属于自己的东西来,这就是“专家”和“领域大牛”了。总之记住,任何一种技术都是人发明的,只要不是太不靠谱的方向,坚持学,总有出头的那一天。

       再来谈一谈修炼“内功”和学习技术的时间分配问题。首先要明白,内功修炼是个极为漫长而需要积累的过程,所以重点不在于速度快而在于学一点、懂一点。而技术的更新换代速度太快,需要紧凑地去吸取,并作出自己对这门技术的判断。总结起来,我的观点是,规划出一个时间段,用连续的整块的时间去快速吸取一门技术,意识到每天的时间安排,用适当的小块时间以一个主题的形式去修炼内功、并用之后的不适合看书的时间去反刍,留到潜意识中。两者都需要做好计划、笔记和回顾,没有计划,容易失去控制和导致半途而废;没有笔记,看到的东西不会成为自己思考总结过的东西;没有回顾,前面的都是白搭,时间全都浪费了。

       最后要说的一点,身处这个行业里,埋头钻研和修炼是重要的,但抬头关注行业动态也是重要的,毕竟,可能一夜之间,世界就不一样了。谄笑

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值