导读:本文是从《You are NOT a Software Engineer! 》这篇文章翻译而来,译文来自外刊IT评论《你不是软件工程师!》。文章把软件工程师比喻成花园园丁,若要想有更大的建树,应具备良好的专业知识,用心呵护每一步,要细心对待。方能有更大的成就。
内容如下:
你不是软件工程师。你不是在建摩天大楼。你不是在建公路桥梁。
你是在从事园艺,培育花草。
你是一个软件园丁。
你是否会在种下第一粒种子前就规划你的花园,细节精确到定位每个叶子应该长在哪里?人们是否会期望能精确的估算出这一年会开出多少花朵(或你的公司是否做出这样的承诺?)?你的奖金会跟此挂钩吗?这些事情对于规划一个摩天大楼来说完全合情合理的,可是当你在园艺这样的事情上谈论这些时,就显的有点荒谬了。
你有可能会对未来一周你的花园会变成什么样有个很好的设想。你甚至可能会对一年后你的花园会变成什么样子有个大概的估计。但你不可能知道今后一年里每个枝条,叶子,根茎和花朵会长在哪里,如果你非要说你知道,那你肯定是在乱猜。
如果你在建一座大桥,或一栋大楼,在动工之前,你告诉我,你精确的知道在建成之后会是个什么样子——我会相信你说的。如果你说你能——听起来有些疯狂——精确的知道这个工程要用多少时间“完工”——我还是会相信你说的。这就是工程师要干的事。但如果你在园艺这种事情上也对我这样说,我会认为这是屁话。如果你告诉我要多雇几个园丁来让花草长得更快些,我会鄙视你。
为什么会有这么多的花园培植失败,而却有这么多的摩天大楼建设成功?很多出乎你的意料,新建摩天大楼的技术不论是在欧洲还是在新加坡都很相似。培植花园却不是这样。每个花园都不同,因为花园所处的环境不同。即使一箭之地范围外的花园也会具有十分不同的土壤构成。这就是为什么即使最廉价的承包商也能建出跟最高报价的竞标者同样的大桥,但你的公司却不能培育出跟Google的花园具有同样品质的花园。
是否记得曾经公司里某人在实施敏捷(Agile)园艺方法没有获得成功时,他会到处说,真是狗屎,根本不好用。的确,狗屎能用来培育花草,但这还不足以用来挽救你的花园。你的花园极有可能在你采取这些措施前就已经死亡——成为你的公司气候变化的牺牲品。你是否是试图在荒漠上种植雨林?你不可能培育出跟Facebook,Flickr,Twitter一样的植物,你不可能指望着在不考虑你的公司气候条件和园丁的水平的情况下让这些奇花异草在你的花园里生根。
跟摩天大楼不一样,你的花园会长杂草。你的花园永远没有“完工”之日。并不是因为你不再需要在花园上进行投资,你的工程就完成了。如果你不坚持除杂草,你的花园最终会被杂草淹没,很快你会发现全部砍到重新种植比修剪更容易。花园周边的环境同样也在不停的变化,一个疏于管理的花园将变得越来越难以存活。
在大多数国家,工程师需要有许可证才能去建一座大桥。园丁没有这种政府操作的质量管理。不幸的是,园丁的技术水平是一个比其它因素更能对花园的好坏起影响作用的因素——所以,你最好要有能分辨鱼目和珠子的能力。而只有有经验的园丁才能在看到一个人时辨出他是不是个好园丁。一个没有管理过园艺工程的人根本不会知道需要找什么样的园丁(因为他不懂这些)。所以,如果你不是一个园丁,但却想招募到好的园丁,你应该让一个你信任的有经验的园丁去考察候选者。在教室里你是学不到园艺技术的,所以,要考察这些候选者以前曾经培育过的花园,而不能只依据他们知道多少在学校里学到的园艺理论(这些东西几乎完全不能用于你的花园所出的气候环境中)。
所有人都应该理解这里的这种技术上的比喻,而且它是如此的合适,但现在我只是想用它来帮助那些对软件的实现怀有不现实想法的非技术人员。
我是软件园丁。
你也是。
原文出自:You are NOT a Software Engineer!
分享到:
相关推荐
《魔法园丁小学数学AR互动智慧教学系统 2.1.430》是一款专为小学生设计的教育软件,旨在通过先进的增强现实(AR)技术,创新性地提升孩子们对数学学习的兴趣和效果。该软件将传统的数学知识与现代科技相结合,打造了...
园丁浏览器是一款专门为教师开发的专用软件。软件不用注册,最高权限账号:系统管理员 初始密码:000 功能特点简介:软件不用注册,最高权限账号:系统管理员 初始密码:000 1、《安全性》:个人通讯录,证件信息...
IFS分形园丁基础版1.0是一款专为探索IFS分形设计的软件工具,它允许用户根据IFS理论编辑并生成各种美丽的分形图像。 IFS理论的核心是通过一系列简单的函数迭代来构造复杂的自相似图形。这些函数通常包括平移、旋转...
1. 英语故事教育:这个故事《园丁和主人》是为小学生设计的英语学习资源,通过童话的形式来教授英语,使孩子们在享受故事的乐趣中学习语言。 2. 英语词汇与短语:故事中的词汇和表达方式适合小学水平,可以帮助学生...
【标题】:“学校园丁卡办理小程序” 这个项目是一个基于ASP.NET技术开发的B/S(浏览器/服务器)应用程序,主要用于简化学校内部办理电信集团套餐的工作流程。"园丁卡"通常指的是为教师或学校工作人员提供的特定...
【中班主题:春天主题小园丁】 这个教学活动旨在帮助中班的孩子们更好地理解和欣赏春季的美好,同时培养他们的环保意识和对自然科学的兴趣。通过"小园丁"的主题,孩子们可以亲自参与种植活动,增强对季节变化的认识...
MATLAB是一种广泛使用的数学计算软件,特别适合于数值分析和算法开发。在这个项目中,我们可以通过MATLAB代码来理解和应用PBOA,以解决各种工程和科学问题。 首先,PBOA的核心概念包括园丁鸟个体的位置和适应度值。...
省园丁奖先进集体单行材料.doc
1. 园丁机器人Tertill的诞生:Tertill机器人是一个专为家庭园艺设计的自动化工具,其主要功能是自动除草。它的出现预示着传统依靠人工除草的方式可能会逐渐被机器人取代。 2. 机器人技术在园艺领域的应用:Tertill...
园丁颂.doc
"OBLOG 辛勤的园丁"是一款网页模板,它为用户提供了一套完整的网站设计框架,使得非专业程序员也能快速构建美观且功能丰富的博客或个人网站。在这个压缩包中,包含了一系列与网页设计相关的文件,可能包括HTML、CSS...
这篇倡议书虽然主要关注的是对患病教师郑孔在的救助,但其中蕴含的教育主题和对教师...我们应该珍惜并发扬这种精神,让每一个“园丁”都能在健康的环境中播撒知识的种子,让教育的光芒持续照亮每一个孩子的人生之路。
园丁兼总统.docx
太阳能园丁机器人自动除草 太阳能园丁机器人是一种专门用于自动除草的智能机器人,它通过利用太阳能作为主要能源,能够自动在花园中进行除草作业。这类机器人是随着智能机器人技术的发展,特别是传感器技术、机器...
这篇述职报告展示了一位园丁(可能是学校的教务主任或副校长)在2021年度的主要工作内容和职责。报告涵盖了教学管理、学生关怀、活动组织、设施维护等多个方面,充分体现了教育工作者的辛勤付出。 首先,园丁在学期...
【园丁述职报告】主要涵盖了教育管理、教学活动组织、后勤保障、个人素养提升以及团队协作等多个方面,展示了教育工作者的全面职责和敬业精神。以下是对这些内容的详细阐述: 一、教育、教学工作 报告中提到的教育...
【园丁述职报告】主要涵盖了学校管理、教育教学、活动组织、设施维护以及个人工作态度等多个方面的内容。以下是对这些知识点的详细阐述: 1. **学期初期工作安排**:园丁在学期初负责组织班级招生、分班,设定课程...
【园丁小区居民对电子商务物流服务满意度的调查报告】 该报告深入探讨了电子商务物流服务在园丁小区居民中的使用情况和满意度。随着电子商务的快速发展,快递行业已成为日常生活不可或缺的一部分,但同时也面临着...
园丁北区投标技术标书.doc
这篇园丁述职报告展示了在教育管理中的多项工作内容和职责,涵盖了教学组织、行政事务、学生关怀、设施维护以及个人专业发展等多个方面。以下是对这些知识点的详细说明: 1. **学期初工作布置**:包括一年级招生、...