软件随想录(local.joelonsoftware.com/wiki)-2004年05月05日 从代码工到开发者 - Coder To Developer
来源:互联网 发布:拼多多和淘宝是一家吗 编辑:程序博客网 时间:2024/05/29 07:36
2004年05月05日 从代码工到开发者 - Coder To Developer
从代码工到开发者
From The Joel on Software Translation Project
从代码工到开发者(Mike Gunderloy's Coder to Developer)
- 作:周思博 (Joel Spolsky)
- 译:p3nk
- 校:Tian-Jian "Barabbas" Jiang 姜天戬
注:这是我为 Mike 那本令人肃然起敬的新书,Coder to Developer 所写的序。该书在 SYBEX 现已有售。
你知道什么事最能让我抓狂吗?
「所有的事吧?」你说。呃嗯,好吧,你们有些人实在是太了解我了。
说正格的,老兄,真正会让我抓狂的事大概就是:
几乎所有的软件研发人员根本不明白他们对软件研发的无知。
以我为例。
在我还是个青少年的时候,才刚读完 Peter Norton 那本著名的 IBM 电脑组语程序设计指南,我觉得我已经完全了解所谓软件研发了,真见鬼,我还准备要开间软件公司来卖文书处理软件咧,它一定能赚大钱的。我想像中的电脑公司每个小时都要有点心时间,而且有无限量免费供应的甜甜圈。在那些时日混杂著甜甜圈,我继续做著我的白日梦。
退伍以后,我进了大学拿了个资工学位。现在我可真是全能全知啦。我比全知还厉害,因为我学会了很多电脑科学技术喔,像线代啦、NP-完全性啦、还有那要命(而且很明显是毫无用处)的高等微积分,所以我猜他们大概没啥好教了,都只在挑剩菜而已。
错。我第一份工作就让我发现了一堆资工系根本不屑教你的东西。像团队运作,关于使用者介面设计真正有用的金玉良言,专业的源代码控制工具,错误追踪数据库,除错器和剖析。那些是生意人的事。资工系那些众望所归的机构根本不会教你,因为他们觉得这是「就业在用的」,不是学院派的;那些是高职生在技术学院学到的,可以让他们谋职而成为汽车技工,或冷气维修人员,或(捏著鼻子尖声说道)「软件研发人员」。
我稍微可以了解这种态度。毕竟许多有名望的大学机构以筹划你的未来为志,而非辅导你就业,尤其是任何领域的技术都变动太快,学完不到十年就会被淘汰。
而十年过去了,我继续学习多到难以致信的软件研发和制作出软件的方法。我为微软的 Excel 小组,Viacom 的网页团队,和 Juno 的 email 客服端工作过。结果,你猜怎么著?在每一个学习阶段,我都彻底相信我完全搞懂软件研发了。
「也许你只不过是个傲慢的混帐?」你问,或者用上比「混帐」更劲爆的词。拜托,这只不过是我的序罢了;如果你想自己写那该死的序的话,就把我的从书上撕掉,黏上你自己的吧!
软件研发一定有些超自然现象,某种神秘的特质,让每个人都觉得自己很了解它。我曾在达康型的公司工作过,那里充满了热情奔放的成年人,虽然都没有经验或是相关训练,却也都觉得他们知道要怎么管理开发团队或设计使用者介面。这真是太神奇了,没有人会觉得自己知道怎么切掉爆开的盲肠,或组装汽车引擎,除非他们真的学过,但因为某些神秘不可知的因素,却使一堆人自以为很懂软件研发。
总之,现在责任交付到你的肩上了。你即将学到如何自我研发软件。假如你够幸运的话,你会有跟顶尖的软件研发人员共事的经验,他们会传授你这些绝招。但大部分的人都没有这等福气,所以我非常高兴看到 Mike Gunderloy 他写了这本你现在拿在手上的书。经由生花的妙笔和趣味横生的指导,你可以学到从只会写程序蜕变至能够研发软件的过程中,最需要知道的知识。两个听起来差不多?不,完全不一样。其间的差异大概跟刚学会用蜡笔涂抹的六岁小娃,和写出销售百万的小说家一样大。要当一个软件研发人员表示你必需秉持一信念,打造一个团队,设定规格和研发程序,计划出正确的产品,然后制造它。不只是普通的软件产品唷:是高品质的软件,能让你的使用者高高兴兴又事半功倍。备有文件,网页,安装程序,范例文件。挪威版。支持 Bokmål 和 Nynorsk 两种挪威语。开胃菜。点心。二十七张细致的彩色图片,一堆圆圈和箭头,每张图背后都还有一段文字告诉你谁是谁。(Arlo Guthrie,对不起啦!译注)
总有一天,或许已经太迟了,你会从梦中醒来,说:「嗯,我可能真的不知道要怎么研发软件。」但在这一秒前,你都还以软件开发者自居,此刻,还不用绝望:在你想吃甜甜圈的每个小时永远保有我诚挚的祝福。
译注
因为 Arlo Guthrie 的说唱式蓝调代表作Alice's Restaurant 中有段歌词是:And I proceeded to tell him the story of the twenty seven eight-by-ten color glossy pictures with the circles and arrows and the paragraph on the back of each one, and he stopped me right there and said, "Kid, I want you to go and sit down on that bench that says Group W. NOW, kid!!"
- 软件随想录(local.joelonsoftware.com/wiki)-2004年05月05日 从代码工到开发者 - Coder To Developer
- 软件随想录(local.joelonsoftware.com/wiki)-2002年05月06日 五个世界 - Five Worlds
- 软件随想录(local.joelonsoftware.com/wiki)-2003年05月16日 纸上原型制作 - Paper Prototyping
- 软件随想录(local.joelonsoftware.com/wiki)-2006年05月16日 FogBugz 4½与主观幸福感
- 软件随想录(local.joelonsoftware.com/wiki)-2006年11月15日 从"你叫这敏捷?"部门谈起
- 软件随想录(local.joelonsoftware.com/wiki)-2002年12月11日 回归原点 - Back to Basics
- 软件随想录(local.joelonsoftware.com/wiki)-2006年01月25日 介绍卓越设计 - Introduction to Great Design
- 软件随想录(local.joelonsoftware.com/wiki)-2002年07月15日 测量 - Measurement
- 软件随想录(local.joelonsoftware.com/wiki)-2002年08月30日 平台 - Platforms
- 软件随想录(local.joelonsoftware.com/wiki)-2003年10月13日 异常处理 - Exceptions
- 软件随想录(local.joelonsoftware.com/wiki)-2003年12月01日 工匠技艺 - Craftsmanship
- 软件随想录(local.joelonsoftware.com/wiki)-2003年10月08日 每个软件开发者都绝对一定要会的Unicode及字符集必备知识(没有借口!)
- 软件随想录(local.joelonsoftware.com/wiki)-2000年05月08日 使用介面设计手册第八章 - User Interface Design for Programmers
- 软件随想录(local.joelonsoftware.com/wiki)-2000年05月09日 使用介面设计手册第九章 - User Interface Design for Programmers
- 软件随想录(local.joelonsoftware.com/wiki)-2000年05月12日 策略书之一: Ben and Jerry模式与Amazon模式 - Strategy Letter I
- 软件随想录(local.joelonsoftware.com/wiki)-2000年05月26日 读程序代码就像读犹太法典 - Reading Code is Like Reading the Tal
- 软件随想录(local.joelonsoftware.com/wiki)-2005年10月26日 Fog Creek 软件管理训练课程
- 软件随想录(local.joelonsoftware.com/wiki)-2005年11月22日 Fog Creek 软件管理训练课程书单
- 内容重定向符号:>和>> .
- LeetCode Container With Most Water
- bmp转ico
- memcache 相关
- 一份ORACLE DBA 面试/笔试 试题
- 软件随想录(local.joelonsoftware.com/wiki)-2004年05月05日 从代码工到开发者 - Coder To Developer
- 虚拟机下Ubuntu共享主机文件(Ubuntu、VMware、共享)
- Linux Top 命令解析 比较详细
- linux 编译指定库、头文件的路径问题
- FPGA设计—VHDL语言篇(1) 模块例化
- Android 自定义组合控件View
- Android之MVC模式
- 重定向输出遇到的缓冲问题 .
- ubuntu网络配置