原文地址:苦逼的程序员怎么发展
1:就像软件工程中说的,整个软件开发真正编码阶段只是其中一个很小的阶段,最起作用的是前面的需求分析,系统架构设计。就算在真正的编码阶段里,真正的敲代码时间业不是占很大比例。一个优秀的程序员真正敲代码时间占他整个开发的很少一部分时间。
2:BFS进程调度器的发明者不还是一个医生嘛,其实他还不是科班出身的,据说他真正在做BFS调度器时,对C语言还不熟悉,甚至还不知道C语言。天哪,linux是用什么写的啊,不会C语言,他怎么读懂linux的。
3:蔡K讲过要用图说话。就是说当我们表达自己思路时,可以用图的形式说出,这样更直观些。我在想如果整本linux内核书,如果用一种更通俗易懂的方式,比如全部用生动有趣的图表示,或者用生活中更通俗易懂的规律去注释它,比如能将美女,野兽,炒股等有趣的东西和linux内核中的东西结合起来讲那不更好吗,这样外行也能看懂内核书籍了。
4:真正伟大的书籍像这本《计算机程序构造和解释》这类书,它讲的是程序设计,但通篇书里没有讲任何计算机语言,语言是次要的,关键是:语言背后的思维模式,抽象思维方面的东西咋样。计算机学科很多东西就是外面真实世界的反映。所以我们还要回到外面真实世界里,避免陷入单一的技术思维怪圈。
5:单一的学技术太累了,单一的技术思维也伤身体了。就像如果老是沉醉于C语言技术细节,老是沉醉于算法细节,其实比较累的。真正养生,健康的方式是去把应用到实际生活中去。OK,我们不谈技术,我给你讲的其实不是技术,是生活中普遍存在的比较有用,比较有趣的东西。如果我能把枯燥的linux内核和如何追美女,打扮时尚联系起来,那学习也就不累了。就像你读一个庞大的代码包,边读,你还得边用生动有趣的图表去注释它,如果不注释,那么不好意思,再过一个月,你将忘得差不多了,然后还得重新再看那累人的代码。
6:以前读技术书籍,做笔记的就是在书上画画直线条,圈圈重点字段。现在感觉如果做好读书笔记的话,是很有帮助的,但是得会做读书笔记。比如读那本ULK 内核大部头书,如果旁边有一大堆白纸,我现在肯定要画各种各样的图表,肯定要避免用太技术,太专业的东西去注释内核书上的东西,要用很通俗易懂的东西去说明这些枯燥的东西。那么我的ULK读书笔记估计也能大畅销了。
7:还要多参与集体讨论。用集体讨论的方式解决技术问题也是比较养生的。就像华为,趋势的群面时给出一个大众话题,大家讨论下,其实也是能考察你的工作能力的。
这七个片段联想其实告诉了我们不要被技术表面的博大深奥所误解,所迷惑。这些都是来源于实践生活的。一个医生都能发明进程调度器,都比我们科班的强大