2016/03/01 第506期

好的程序员与差的程序员之间的区别

每个程序员都有写垃圾代码的时刻(比如赶进度的时候),但程序员的好坏就体现在如何处理自己写过的垃圾代码上,是完全不知道那是垃圾代码、还是视而不见、还是回过头重构干净?

文章标题是Javascript,其实适用于所有程序员。

我学到的最宝贵的商业经验

这是 Flipboard 的创始人/CEO写的文章。回忆自己在互联网泡沫破灭后在自己的上一家公司做艰难决策时学到的经验:从一、两条大家都同意的 first principles 开始推导出结论。

All Software is Legacy

作者对自己维护的 perl 的 CGI module 有感而发,颇有哲理。我们现在写的每一行新代码最终都将成为 legacy;正如所有软件都有 bug,所有软件都是 legacy。

『The important thing is that we learn from that and we make sure the future legacy is easy to understand. Write clean interfaces, good tests, descriptive commit messages. Another important thing is to understand the lineage; In CGI.pm’s case the module was in part responsible for Perl’s huge popularity early on, and even propelled Perl forwards. When the limitations of CGI.pm’s implementation were hit alternative code was written in response, again and again, leading to where we are today.』

几年前很多网站的 url 里经常看到 /cgi-bin/ 的字样,那十有八九是用 perl 的 CGI.pm 搭的网站:)

Stack Overflow 是如何面试工程师的

由于 Stack Overflow 里 2/3 的工程师都是远程办公,所以面试主要也是远程的,用 Google Hangouts + 共享文档写代码,注重交流的过程而非quiz。做招聘决定时,只有 yes 与 no,maybe 等于 no。

对于公司来讲,面试真的很难。连这么有经验的Google都觉得难。文中引用了Google管人事的 VP 的话:"We looked at tens of thousands of interviews, and everyone who had done the interviews and what they scored the candidate, and how that person ultimately performed in their job. We found zero relationship. It’s a complete random mess..."

不健康的 Hackathon

Hackathon 是很多公司用来招聘大学生、品牌宣传、利用免费劳动力的重要手段。但Hackthon不健康:鼓励不睡觉、提供垃圾食品、拥挤不通风、评判时偏爱口才好的而非动手能力强的。