我注意到有三种精神指引着软件开发人员的灵魂——伟大的艺术家精神,可信赖的员工精神和自私的实用主义精神。
伟大的艺术家精神如果你听到一种声音说“你不能这样画”,然后,你继续这样画,这种反对的声音就会被压倒。——文森特·梵高。
第一个精神是能推动我们团队程序员接受新挑战的伟大艺术家精神,能够创新方法,寻求自我实现。这种精神给我们创造最新解决方案的力量与渴望,使我们通过学 习和实践不断进步。最好的软件背后都蕴藏这种伟大的艺术精神,它会使开发人员跳出思维框架,为了写出完美的编码而两耳不闻窗外事。
但对于传统的公司,这种精 神既是有力的支柱同时也存在危险——因为无法预见也无法保证开发人员不会因此而忽略客户的需求。在这种精神的指引下,程序员会拒绝平庸,但却有足够好的解决 方案,他会用自己的方法达到超越所需的效果。这样的开发人员无法容忍拙劣的代码,对于一些重要的代码,即使在演示前一晚,在测试员回家休息之后,他们也会进 行重构……
可信赖的员工精神没有人是一座孤岛,自成一体,每个人都是大陆的一小块。——约翰邓恩
第二个精神是可信赖的员工,他能在第一时间为团队,公司以及客户的利益着想。在这种精神的指引下,开发人员会完全的将自己投入到为项目的成功以及获得更大的 利益上。可信赖的员工精神会抑制创造性,但另一方面,他们绝不会放任不被认可而可能导致失败的代码的存在。 这样的程序员在最后期限会熬夜完成工作或修复令人尴尬的代码。
他会在测试员测试之后再行测试,在管理员安装后再行验证安装。这种无私的精神会使开发人员专注、负责并遵守公司的各项纪律,但有时也会引起压力,不安,或浪费才能的感觉。这种精神的危害在于如果一家公司不关心开发人员的辛劳工作以及牺牲精神,那么 这种精神会很快消失。
自私的实用主义精神生活就是你在忙于做计划时发生的事情。——约翰·列侬
这种自私实用主义精神与个人利益、金融福祉、工作保障以及事业发展密切相关。这种精神促使开发人员接受负面信息,更多的关注薪水以及管理者的认可程度问题。 随着年龄的增长,家事和私事日益取代了编写完美编码的梦想,日常生活问题日益取代了致力于工作、忠诚于工作之信仰,自私实用主义精神也随之变得越发强烈。
有时,开发人员在这种精神的影响下,开始更关注与对个人发展有利的工作,为了更好的工作保障而编辑混乱的代码,为了长期合作而增加代码的复杂性,或者甚至只 专注于自己的项目和业务,或者干脆就在网上浪费时间。这种精神是人们想要实现个人目标的本能愿望,确保自己的未来,并且生活愉快。这种精神的危害在于,开 发员可能获得适得其反的结果,不关心工作质量以及公司和项目的长期利益。
每一种精神都有它积极的影响:伟大的艺术家精神可以提供给你具有创造性的力量,可靠的员工会促使你严守纪律并专注结果,自私实用主义精神可以满足你的个人 利益。但他们也有其消极的影响:过分的艺术精神可能会错过一些真正的需求,可靠的员工可能会导致失败或者惧怕改变。自私实用主义会淡化公司和客户的最大利 益。
这些精神颠覆了许多经验匮乏的开发人员的想法,并防止其在脑中形成和平思想。这场精神战斗一般以什么结果收场呢?我看到许多开发人员最后都由一种精神统治了其 灵魂。不幸的是通常都是自私实用主义者精神,他们都不再奋斗,其他开发人员根据具体情况也徘徊在这样的精神中:一些公司欢迎有创造性的伟大艺术家,一些则排斥自私的实用主义者。
这些精神的存在只是我的主观观察以及结论,但是可以帮助我们解释一些软件团队生活中的有趣现象。因此,亲爱的读者朋友,我有几个问题留给您。
你同意这些精神的存在吗?你能控制并使之达到平衡吗?是不是我还遗漏了一些指引软件开发人员的重要精神吗?欢迎在评论中分享你的观点。