我意识到深藏在软件开发者灵魂深处的3种角色-伟大 的艺术家,可以依赖的工作者,还有自私的实用主义者。
伟大 的艺术家
如果有一个声音对你说,“你不能画画。”那么你应当竭尽所能地去画,让那个声音消失。---梵高
第一种角色是伟大的艺术家,他让程序员勇于面对有挑战的工作,尝试新的方法和寻求自我实现。这种角色给予我们力量和欲望去创造艺术性的结果,并通过学习和实践不断进步。伟大的艺术就在最好的软件之中,它让开发者跳出思维局限,最求简洁的代码,忽略与问题不相关的事物。这是一个充满力量的角色,但在平日的事物中同样充满着危险--并不存在任何可预测性的东西或是保证,程序员会记得客户所真正需要的。被这种角色所驱使的的开发者将会拒绝平凡的,但看上去不错的解决方案,他们会按照自己的方式去做,并且远超过工作所需。开发者对丑陋的代码没有任何忍耐性,在发布demo之前,他们会花上整晚在代码重构上。。。。在测试员回家睡觉之后。
可以依赖的工作者
没有任何一个人是完全独立的,每一个人都是整体的一个组成部分。-约翰邓恩
第二种角色是可以依赖的工作者。他把团队,公司,客户的利益放在首位。开发者因为被这样的精神所驱使,他们将致力于完成成功的项目和伟大的产品。
压抑创造力和自由地编码在管理上是不被推崇的,并且可能会失败。开发者会到很晚才完成开发。并修复那些莫名其妙的软件错误,他会在测试者确认管理员安装好软件后再去测试。这样无私的精神使得开发者被关注,能够肩负责任,并能遵守公司的纪律,但有时候也会产生压力,不安更重要的是浪费了开发者的天分。
危险之处是如果公司没有关心开发者的努力工作和他们的牺牲,他们的激情将会迅速消失。
自私的实用主义者
生活就是当你在计划别的事的时候,现在的事发生了,
--约翰.列侬
自私的实用主义者更注重个人的兴趣,薪资福利,工作的安全,还有职业的成长。这种角色会驱使开发者接受胡说八道(注:原文为accept shit),并且非常关注自己的薪资,和管理者的认可,这样的人会随着成家立业和个人问题取代了开发伟大的软件和每天从自身剔除对工作的奉献和忠诚。
被这样的精神影响的开发者时常会对自身的成长更有利的素质,也会编写一些混乱的代码以获得更好的工作保密性,为了更长的合约增加事情的难度,或是工作于自己的项目和事业,或是毫无目的地在网上浪费时间。
这样的精神被一种自然的欲望所充满,这使他更想要去实现个人的目标,,使自己的未来更加保密和安全,并且拥有工作之外的生活。这种精神的危险之处在于他会使开发者把事情变得事倍功半,并且不去关心项目质量和公司长远的成功。
每一种角色都会有积极的影响:伟大的艺术家给人以激情和力量,可靠地工作者鼓励人们遵守纪律并注重结果,自私的实用主义者则更让人接触懂啊自己的兴趣。但是他们也各有不好的影响:伟大的艺术家总是是做得比较过分,并且会忽视真正的需求,可以依赖的工作者会引起灾难,并且会害怕改变,自私的实用主义者会淡化公司的概念而只注重最有趣的事。
三种角色撕毁了很多可怜的开发者的灵魂,并且打破了他们心中的宁静,这些角色互相斗争的最终结果通常是什么呢?我所见到的开发者通常到最后只剩下了一种角色(不幸的是这个角色通常是自私的实用主义者),之后也不会有什么挣扎和改变。其他的开发者可能会根据环境徘徊在几种角色之中:一些公司会激发开发者的伟大的艺术家角色,一些公司则会抵制自私的实用主义者。
以上的这些都是通过我主观地观察和理论所得到的,但是它可以用来解释很多软件开发团队在开发过程中所产生的一些现象。亲爱的读者,我有一些问题留给你。
你同意三种角色共存的说法么?你能很好的平衡他们么?我是否忽视了在软件开发者灵魂中的其他角色或是力量呢?
分享到:
相关推荐
C__2005_.NET_开发者手册C__2005_.NET_开发者手册C__2005_.NET_开发者手册C__2005_.NET_开发者手册C__2005_.NET_开发者手册
drm driver 的中文翻译,算是比较好的资料了。可以参考英文版一起阅读。
GISDeveloper_2 GIS开发者 GISDeveloper_2 GIS开发者
ESP8266__SDK__开发者手册中文版__CN_v1.5.pdf
微信Web开发者工具,可用于微信小程序,微信公众号的开发
prototype_js 1_4版开发者手册(强烈推荐).mht
用于控制的LabVIEW体系结构_NI CompactRIO 开发者指南(1)flv,为了适应复杂机器控制应用的要求,NI针对CompactRIO和NI触摸屏式计算机推出了CompactRIO开发者指南,该指南为CompactRIO的编程提供了推荐架构以及开发...
app开发者企业官网响应式模板_app 棕色 开发者 企业 响应式 bootstrap 手机 单页 棕色 科技 展示
Android中文翻译组_开发者指南和API合集
计算机行业专题报告_:Synopsys开发者大会举行,关注EDA行业新机遇.pdf
GWT开发者手册_v2GWT开发者手册_v2GWT开发者手册_v2GWT开发者手册_v2
创建网络用户界面_NI CompactRIO 开发者指南(4)flv,添加可将数据和命令传递至嵌入式CompactRIO系统的网络用户界面(如:NI触摸屏式计算机),以便用户在机器端的操作员界面进行操作。本节内容:基本触摸屏架构 针对...
通过LabVIEW FPGA定制硬件_NI CompactRIO 开发者指南(3)flv,将CompactRIO上的板载FPGA用于多类应用,如:传感器级别的信号调理、在线滤波、高速波形数据采集、严格任务互锁和逻辑嵌入。本节内容:NI LabVIEW FPGA模块...
一、简介二、接入准备软件需求:Unity5.6 以上版本调试阶段可以使用公用 Appkey,正式上线的时候请修改为正式的 Appkey,公用 Appkey:4e
2016年中国软件开发者白皮书
中国软件开发者白皮书.pdf
《软件开发者路线图:从学徒到高手》完整版,以前下载过6.3M那种,只有1、2章,此为完整版,旨在分享好东西
solaris手册白皮书
2015年中国软件开发者白皮书
2016中国软件开发者白皮书.pdf