任何一个senior的工程师都经历过junior的过程,所谓经验,都是内化的直觉,所谓原则,都是外化的经验。本文原文发布在Medium上,汇集了关于软件工程的经验和原则:开发过程、API设计和职业发展。正是读及文章最后一个原则促使我整理了本文,写给自己的同时,也相信本文可以重新定义学校课程中的软件工程,重新定义其他迫急解惑的心智模型。
开发过程
API设计
职业发展
Eating Your Own Dog Food
“dogfooding”的概念源于20世纪80年代演员Lorne Greene把自己代言的狗粮喂给了自己狗。因此,人们使用自己正在生产的产品的想法被称为“吃自己的狗粮”,随着苹果、微软等公司的推动,软件行业采用这个短语来表示公司使用自己的产品。
支持“dogfooding”的理由是表明公司对自己的产品有信心,并且内部的广泛使用会更早发现bug。还有一个理由是让开发产品的人更熟悉产品,并在内部建立反馈机制。
反对“dogfooding”的理由是吃自己的狗粮无法理解和欣赏其他公司工具的优点。批评者也说,一些自豪地吹捧吃自己狗粮的公司同时表现出令人惊讶的傲慢程度和相应程度的无知。
总的来说,开源社区似乎实践了一种较弱的“dogfooding”形式。你对狗粮有什么看法?你们公司吃自己的狗粮吗?你觉得它有益吗?