2015/08/06 第299期

历史上最糟糕的软件bug集锦

愤怒的小鸟里如果有bug让App闪退,没什么大不了的;但医疗、航天、军工、汽车里的软件如果有bug,那是会杀人的。所以传统行业里的软件开发像盖大教堂一样,要计划严密、以慢求稳,对工程质量要求极高;互联网行业的软件开发像集市一样,乱糟糟的,人来人往,一切都很快,质量参差不齐 -- 早上听podcast,提到 The Cathedral and the Bazaar 这本书,推荐。

Ben and Jerry's vs. Amazon

这是两种公司模式:Ben and Jerry's模式(慢速但稳健地发展、盈利、竞争对手多)与 Amazon模式(高速发展、巨额融资、但还一直不赚钱、新型市场没啥竞争对手)。

Ben and Jerry's是很有名的冰激凌连锁店,城里的startup一搞活动很多都叫他们送冰淇淋过来。

这一系列文章写于2000年,15年前了。现在读来,依然正确无比。

早上11点以前不开会、不查邮件

工作中有太多 distraction 了。怎么有效地降低工程师、设计师等人的工作效率?让他们每封邮件及时回复、让他们每个小时开一次会(哪怕是5分钟、10分钟的会),让他们没法有连贯的几小时专注自己的工作。

如何高效地工作:proactive work first, reactive work second。你自己主动想做的事情集中经历做完;再来回应别人的请求(回复别人发来的邮件、参加别人给你schedule的会议)。

文中最后建议的:早上11点以前不开会、不查邮件的,我觉得挺好的,打算来尝试一下。

住在Google园区里长达13个月

你能在你的公司里完成这样的生存挑战吗?吃喝拉撒住,都在公司里?在办公室睡觉是不是变得跟“在车库里创业”一样酷了?好吧,Elon Musk、Aaron Levie、David Filo都喜欢睡办公室。

为 Monolithic Repositories 辩护

公司里要对代码进行版本控制。有三种哲学:1. 所有项目都放在同一个 repo 里,所谓的 Monolithic Repo;2. 一个项目,一个 repo;3. 1和2的混合体。

github上同一个组织里的开源项目大多是一个项目、一个 repo。而很多公司内部不公开的代码是Monolithic repo,几十个GB大的repo很常见(比如Facebook的repo去年是54GB、google也是Monolithic repo)。

那么Monolithic repo有什么好处?对开发效率的提高有帮助吗?