阅读《怎样花两年时间去面试一个人》有感
书
很多时候,是否好好看完一本好书,对一个人的提升往往能达到质的区别。
就算不好好看完一本好书,马马虎虎看完,只要书是真的好书,也肯定会有很大的提高。
好书和坏书的差别,从本质上,就是学习效率和大方向的差别。
一本好书可以为你带来真正扎实的基础和开阔的视野,人们常常用“内功”来形容扎实的基础,认为学好了内功以后学什么都快,其实一点没错,好的“内功”书不仅讲清楚深刻的原理,而且指明技术的本质,刻画领域的地图。好的书抓住不变量,让人能够触类旁通。好的书不仅介绍知识,而且阐释原则,介绍那些万变不离其宗的东西。读烂书浪费时间,但读好书却节省时间。
身在学校的学生们视野受限,很难找到一本好书
以下介绍好书的几个特征
刻画领域的地图,使人明确大方向。
不仅介绍知识,而且阐释原则,注重本质(万变不离其宗的东西)与不变量(使用已久仍未过时的东西参考刘未鹏以前博客)
GitHub
书籍只能管基础知识这一块,一些更难以量化衡量的实战“能力”又怎么办呢?
在象牙塔里面做的项目,或大作业,真的能起到练的作用吗?
学生会知道自己最终要交差的不是雇主,而是老师,于是就以老师能够评判的标准来默认要求自己了,老师能够评判编码素养?代码风格?文档?设计?协作?甚至连著名的Joel 12条的第一条“是否用源代码管理系统”都没法通过。所以大多数时候,大作业能起到的作用近乎0。
一切代码review, check-in, test, build, document, 甚至讨论,计划,brianstorming,流程,一切的一切,都是项目历史的一部分,都可以像棋局那样复盘。有经验的面试者只要稍稍扫两眼一个人的GitHub历史,挑出几个check-in历史看一看,便完全能够迅速判断这个人是否满足他的要求。不再需要费劲心机地去想题目,去观察,去揣测,去花费大量的时间的同时还只能采样到几个极为有限的点。
不像象牙塔里面大作业,这里有源代码管理系统,自动化build,有check-in,有review,有分工,有合作,最重要的是——这是一个集市,一个超出象牙塔的集市,牛人相互吸引,你可以在互联网上找到和自己拥有共同兴趣的一帮人,真正做起一点事情,而不是交差,不需要受限于几十个人的一个小班级。Here Comes Everybody。
甚至已经有人为GitHub写了根据GitHub上的历史自动生成简历的工具。
书单,加上项目,已经基本上覆盖了所需的全部技能。