博客空间最近的一个话题 极大地引发了我的兴趣。“5:01 开发人员”这个词曾被用来嘲讽一到下午 5:01 便立即停止工作,赶着回家的开发人员。当时,许多开发人员都对这个词大为光火,并宣称其每日工作时间有多长,为自己辩护。有人提议使用“才思枯竭的开发人员”等词,而有些人则反对给开发人员取任何绰号。
对我而言,“5:01 开发人员”这个绰号与工作时间或记录的工时毫无关联。它指缺乏激情。不管起不起绰号,我认为要在软件领域,或在任何领域出人头地,都需要极大的热情/激情/关注/投入/热忱/兴奋。不管您的工作是摇动曲柄还是设计一种将震惊全世界的新曲柄,如果想要成功(不管与同辈相比与否),激情都能助您一臂之力。
我不擅长木工。认真地说,我有点笨手笨脚。使用动力锯时我很有可能会伤到自己。更重要的是,我对木工没有丝毫兴趣。我喜欢欣赏他人的劳动,并在某种程度上能体会到他们付出的努力,但如果被迫以做木工为生,一到下午 5:01 我肯定会溜之大吉。这种兴趣的缺乏导致了逆反的工匠,他只会把两块木板胡乱拼凑起来,心中祈祷椅子不要散架。对精湛技艺的追求就如对工作的激情一样重要。从语义学角度来讲,“工作”与“职业”之间有很大差别。手艺人从做学徒开始,向师傅学艺,慢慢成为熟练工。由软件专家——即有激情、才干和管理意识的开发人员——构建的软件,您可以立即分辨出来。软件管理者对他人的事情承担个人责任;对于软件而言,这意味着从安装到运行的用户体验。
我在博客上发表了对这个话题的个人想法,正如博客上的常见情况一样,精彩内容并不在我的文章里,而在他人的评论中。Max Pool 一语中的:
当问及他们以何谋生时,有人回答“我是一名软件开发人员”,并骄傲地将个人与职业相交织。这一简单的回答从很大程度上反映了个人常有的激情。
Paul Brazelton 的想法面面俱到:
我是一位父亲、赛跑者、桨手、环境保护论者和一个普通人,同时我还是一名程序员。我终生都是一名学生,喜欢学习各种东西,不仅仅是编程语言。我喜欢技术,但世界上有那么多东西值得喜欢,可恨人生苦短。
诚然,激情、技能和管理意识是任何软件工程师(测试人员或管理者)的众多职业道德中的一部分。有时候,人们会将激情的缺乏归咎于工作年份、工作类型或工具的质量。毫无疑问,工具的好坏会影响工作。我对现在的软件感到非常兴奋,因为它们使得工作越来越简单,效率越来越高。
我想,作为一名开发人员,让我对事物永远保持新鲜感的原因就是拥有众多选择。新生事物不断涌现,更先进的技术、新奇的想法层出不穷,甚至不断有新人探索经典技术。在接下来几个月内,我将潜心研究 IronRuby 以及由 CLR 促成的大量新动态语言。我将看看运行在 ASP.NET 上的 Model-View-Controller (MVC) Web 框架和能够不可思议地自动创建整个管理网站的代码生成工具。我要为 Xbox® 和 Media Center 分别创建游戏和插件。如果我的老式 Ceiva 数码相框惹我不高兴,我甚至打算把它拆开看个究竟。当然,这些事情只会在正常工作之外处理。这会让我成为一名更好的开发人员或只会更着迷其他事物吗?或许两者兼而有之。
这种激情(或着迷)能学会吗?应该学吗?我不知道我是一名软件专家还是一个电脑玩家。我只知道我仍在找其他乐子,但仍为自己的工作感到自豪,我每天都能学到新东西。如果对自己的职业没有激情,为什么要选择它呢?我无法想象一个人每天走到办公室,开始工作,但却提不起对任何东西感兴趣的情形。根本问题是您在乎自己的职业吗?您可以不在乎自己的工作,但至少要在乎自己的职业。James Curran 感同身受:
作为一名 5:01 编码员,我必须为自己辩护,我对自己的职业充满热忱,只是对例行公事不感兴趣罢了。(在坐火车回家的途中,我一般会在便携式计算机上处理开源项目。)
毕竟,您要找到自己的激情,并思考如何保持激情。