Reload Original PagePrint PageEmail Page

你不是软件工程师

你不是一个软件工程师,因为你既不在建造摩天大楼,也没在建造桥梁道路。

你只是在培育一个花园。

你是一名软件园丁。

当你会在花园中埋下一棵种子时,你会考虑将来每一片叶子会出现在什么位置,会张多大这样的细节吗?人们会期望你估算出一年后开出多少朵花来吗?如果你这样做了,会得到额外奖励吗?对于建造摩天大楼来说理所当然的事情,如果放到培育花园上则会显得滑稽可笑。

你或许会对花园在几周后的样子很有把握,并且你对一年后它会变成什么样也有粗略的估算,但是你不可能知道一年后这些植物会长出多少树枝,叶子,花茎或是花朵,如果你说你可以,那你也只是在猜测。

但如果你是在建造一个桥梁或是一个摩天大楼,并且你告诉我你可以在开工之前就准确无误的知道这个建筑物完工时会是什么样,这个时候,我会相信你。这就是工程师的工作方式,但是如果你告诉我你知道你的花园一年后会变成什么样,我只能认为你在扯淡,如果你甚至告诉我你想要通过多雇几个园丁来让植物生长的快一点,那我想你知道等待你的将是什么。

为什么失败的花园如此多,而成功的摩天大楼却比比皆是?因为除了一些个例,不管你是在欧洲还是新加坡,建造一个摩天大陆的技术都是差不多的,但是每个花园却因为环境的不同而差异巨大,即使是两个相邻的花园,它们的土壤也可能会有很大差异,这就是为什么最低竟标者也可能造出和最高竞标者质量相当的桥梁,但是你们公司的花园却不会开出Google花园里的花朵。

还记得当你们公司的一些人在使用敏捷园艺方法论遇到挫折时声称”这些马粪一点用都没有“吗?马粪对花园当然益处多多,只是它并不足以拯救你的花园而已,你的花园或许在施马粪之前就已经死掉了——很可能是由于你们组织的”恶劣天气“造成的,你有试过在沙漠中培育雨林吗?你不能只是将facebook,flickr或者twitter这样的种子埋下去,然后就指望他们可以顺利的开花结果,而完全不顾它们生长所需的气候以及园丁的能力。

同摩天大楼不同,你的花园会长出杂草,并且会一直持续,你停止除草不代表杂草就会停止生长,那些杂草最终将会控制整个花园,并且很快就会让你预先栽下的植物编程残枝败柳,同时你的花园周围的环境也是不断变化的,一个不能适应周围环境的花园最终将会变得越来越难以生存。

在大多数国家,工程师都需要一个执照然后才能建造桥梁,但是政府却很少会对园丁的质量进行控制,不幸的是,你的园丁的能力是决定你的花园能否开花结果的一个最重要的因素——所以你自己必须首先擅长去芜存菁,因为只有有经验的园丁才有可能发现其他那些真正好的园丁,一些刚刚开始管理园艺项目的人不可能了解他们需要寻找什么杨的园丁(当然他们自己不知道),所以如果你不是园丁,但又需要招聘一个好的园丁,那么你需要找个你信得过的有经验的园丁来帮你筛选那些候选者,而不是通过测试来判断他们对于课本上的那些园艺理论知识掌握到什么程度(这些知识对于你的花园的气候环境可能一点用处都没有)。

好了,现在我们可以抛开工程师的暗喻说亮话了,尽管或许这个比喻其实挺贴切,但这其实只是为了帮助那些不懂技术的人们更好的理解软件是如何开发出来的。

我是个软件园丁。

那么你应该也是。

—–
本文翻译自:“You are NOT a Software Engineer!”,作者:Chris Aitchison,照片:peilinghis,翻译:@yuanyiz

0 ::...


免责声明:
当前网页内容, 由 大妈 ZoomQuiet 使用工具: ScrapBook :: Firefox Extension 人工从互联网中收集并分享;
内容版权归原作者所有;
本人对内容的有效性/合法性不承担任何强制性责任.
若有不妥, 欢迎评注提醒:

或是邮件反馈可也:
askdama[AT]googlegroups.com


点击注册~> 获得 100$ 体验券: DigitalOcean Referral Badge

订阅 substack 体验古早写作:


关注公众号, 持续获得相关各种嗯哼:
zoomquiet


自怼圈/年度番新

DU22.4
关于 ~ DebugUself with DAMA ;-)
粤ICP备18025058号-1
公安备案号: 44049002000656 ...::