renmin  
常常被别人以为是高手
 

不写代码,祸兮?适应市场,福兮!

 

1111,我代表微软在武汉思远教育参加了微软潜力发展计划(武汉地区)的启动仪式,并作了题为“Visual Studio 2005典型开发场景”的演讲。演讲主要介绍了微软最新的整合开发工具的新特性,演示了使用Visual Studio2005 作为开发工具是如何增强用户体验,以及是如何解放程序员的劳动力的。为了突出快速应用程序开发(RAD)的概念,我在演示了如何在不编写一行代码的前提下开发Windows程序,Web程序以及Smart Client程序。听众对于Visual Studio 2005的新特性非常感兴趣,同时也对现在开发工作变得越来越简单表示兴奋。

类似的演讲我也在其它城市进行过,听众反应也比较类似。对于能够不编写代码就能进行软件开发,第一反应都很兴奋,在平静下来后马上意识到一个问题:如果开发软件不编写代码,那程序员干什么?程序员会不会失业?

要回答这个问题我们从程序员的职业角度,和软件开发的行业角度两方面入手。

程序员是什么?在英语中程序员是ProgrammerProgrammer有两个含义,一个是“节目编排者;订计划者”,另一个是自动化专业用语,“【自动化】程序设计员;程序设计器”。可见程序员的全称应该是程序设计员。

对软件开发,大家已经形成了基本的共识,软件开发大致可以分为:需求(Requirement),设计(Design),编码(Coding),测试(Test)四个阶段。每个阶段分别由分析员(Analyst),设计师(Designer),程序员(Coder),和测试人员(Tester)进行。

由此我们可以看到我们常说的程序员其实有两个含义,一个是Programmer,一个是Coder。然而,ProgrammerCoder

 

写代码并不是程序员的专职工作。程序员应该做的是更富有创造性的工作。程序员应该是艺术家,而不是匠人。不编写代码或少编写代码可以让程序员更好的工作,将精力投入到更有价值的工作上,而不是使程序员失业。

对于软件开发来说,在软件工程理论中,编码工作应该只占30%的工作量。我个人认为可以将一个项目中编码工作量所占的比例作为衡量这个项目软件工程实施情况的一个参考标准。其概念类似于经济领域中的恩格尔系数。

 

应该说目前软件行业正在孕育着一场革命,也许.Net2.0Windows Vista就是导火索。软件就是程序,开发就是写代码这种旧的观念正在发生变化。面向对象也不再是唯一的标准,面向服务(SOA),面向方面,设计模式,对象关系影射,关联查询语言(LINQ)等等新名词,新概念,新标准也层出不穷。

每当有变化产生的时候,必然伴随着优胜劣汰。如何能够在这场变化中独立鳌头,保持生存,是我们面临的问题。其实不论技术如何变化我们要做得都是一样的,这就是:满足市场需求。所以无论是微软提出的增强用户体验,还是IBM提出的随需而变都是同样的道理。增强用户体验和快速开发本身就是一对矛盾。所以我们需要更强大的工具帮助我们完成简单、重复、繁琐的工作,让我们能够有更多的时间和精力分析用户的需求。因此程序员也要将注意力从学习编程转移到学习社会,学习市场,学习用户所在的行业。其实如果真的不写代码,程序员要面临的挑战更大,但是机遇也更多了。

毕竟软件就是服务,适应市场才是我们的目标,让我们一起迎接变化,迎接挑战,迎接机遇。

 

posted on 2005-12-26 11:54    阅读(676)  评论(1编辑  收藏  举报