随笔 - 59, 文章 - 4, 评论 - 184, 引用 - 7
数据加载中……

随想

软件开发的世界里充满了不理解,客户不理解软件是怎样开发的、经理不理解开发人员、开发人员不理解指挥者。

问题在于软件开发惊人的困难,造成很少有开发人员能够说出软件自始至终是怎样开发的,并能够对这个过程中会遇到的不同选择所隐含的结果表现出适度的理解。

在软件开发人员还很年轻的时候(十几岁或二十出头),他们通常集中精力学习和使用技术,称自己为perl程序员、Linux专家、EJB开发人员、.NET开发人员等。对他们来说技术是最重要的事情。因为技术在不断的变化,年轻的程序员倾向于大致学习一个技术,在一到两个项目中使用,然后重新开始学习新技术或者是学习以前使用过的技术的最新发展。这里的问题是,他们一遍又一遍的重复的学习的不过是同样的低层次基本技能的不同风味。

幸运的是,很多开发人员在经过了几轮技术学习之后逐渐意识到:一旦用COBOLJavaC#等语言为事务控制编写过代码,就会开始认识到基本的、本质的东西是不变的。不同环境下的数据库访问、用户界面设计等领域也是同样的情况。不久以后,开发人员逐渐认识到无论具体的技术怎样,很多基础性的东西是保持不变的,这些基础性的东西有的在学校里讲过,有的没有。
这种认识经常发生在开发人员接近三十岁或刚过三十岁的时候,通常是人们开始稳定下来,结婚、买房的时候。这是比较幸运的情况,因为上面提到的这些新的个人需求意味着他们不可能再投入大量的时间去学习新的技术,他们需要用这些时间和家庭成员在一起。突然的,高层次的角色如项目负责人、项目经理、(非敏捷的)建模人员等对他们变得非常有吸引力,因为这些角色不需要持续花费大量的时间和精力去学习新技术。于是,等到开发人员开始真正学到技艺的时候,他们已经处于离开开发人员角色的转变过程中了。所幸的是,新的“小年轻”不断的跟上来,这个过程在不断的循环重复。最终的结果是:大部分最活跃的正在开发软件的人通常不是最称职的做这件事的人,而他们自己甚至还不知道。

posted on 2006-07-24 11:31 fisher 阅读(2236) 评论(6)  编辑  收藏 所属分类: Other

评论

# re: 随想  回复  更多评论   

写的不错,看来是深有体会的。
我是看到你翻译的“MINA Tutorial 中文版”之后找到这里的。
从“落魄的程序员”到“fisher”进步很大啊。
2006-08-31 10:03 | hizw

# re: 随想  回复  更多评论   

我觉得角色的转换是无法避免的,问题是我们如何延长这个转换的时间点
2006-09-12 22:43 | 漠河

# re: 随想  回复  更多评论   

我是看到你翻译的“MINA Tutorial 中文版”之后找到这里的。
, 能和你一起交流MINA吗?加我的QQ:30903953.
2006-10-22 22:47 | QQ:30903953

# re: 随想  回复  更多评论   

角色转换既然是无法避免的,延长转换的时间又有什么意义呢?难道是为了压缩自己对未来的思考时间吗?
我倒认为,如果具备相应的条件,应尽早让自己适应这种转变,单纯的开发活动不会带来任何实际的意义,而设计思想的理解对未来的工作才有实际意义。但是未来的工作可能需要对管理和人更多的关注,临时抱佛脚恐怕是很难的吧
2006-10-30 22:32 | fisher

# re: 随想  回复  更多评论   

@QQ:30903953
sorry,我不跟踪MINA已经很久了,由于工作的原因,目前具体开发技术上的事情关心比较少,恐怕也帮不到你什么
2006-10-30 22:34 | fisher

# re: 随想[未登录]  回复  更多评论   

写得很有感触~~~~~
2007-08-14 08:35 | shawn

只有注册用户登录后才能发表评论。


网站导航: