软件开发和机械制造的核心差别

我个人的经历略有一点特别,本身学的专业并不是软件,但在当年软件热的背景下,加入了这个行业。

由于很多同学仍在原来的行业,时不时的沟通让我反思软件开发究竟和机械制造这类行业有啥区别。

 

老实讲,对于毕业生而言,10年前做软件收入要比做机械制造有明显优势,但10年后的今天这种优势就不明显了。

这也是触发我考虑这种问题的一个原因。

 

软件行业与机械制造比一个很不同的特质:知识更迭频度较快。

 

在考虑如何使自己升值时,这一特质有关键影响。

 

技术更迭较快说的是这样一种现象:今天有价值的,明天可能会贬值为0。

 

这点与机械制造差别很大,比如:学做涡轮机。在做涡轮机这样的行业里,今天学的热力学三定律和五十年前的热力学三定律并无差别。

但软件行业不行,你所依赖的某一平台或语言很容易产生更迭。10几年前大家只有Win32 API好用,但一个人如果只停留在Win32 API里,是不太能适应今天的软件开发的。像Delphi这类曾经非常显赫的开发环境,今天更是几乎没什么声音了。

 

这也许源自于这样一种现实,很多传统行业的技能直接依赖于某种自然规律如:热力学、流体力学、材料力学等等。这些东西自身只会深化,但很少会有颠覆性变化。但软件开发所需的东西(API等)往往依赖于某一个公司或组织,比如微软,苹果等,进而是一种人造系统。一旦社会基本需求发生变化,这些公司或组织就必需不断的抛弃并更新自己的系统,比如:GDI -->GDI+ -->WPF。

 

可以打一个比方来使这种差异更形象一点:

 

好比说两个不同的人,一个在传统行业一个在软件行业,两个人都很勤奋,不停的往自己脚下垫东西,努力使自己达到更高的位置。传统行业中的人比较自然的会越垫越高,而软件行业中的人则会垫到一定时候,突然间某几块砖就会消失了。

 

这倒并不意味着软件行业中并非没有具有较长生命价值的东西,但这些东西往往集中在一些特定的领域里,牵涉的从业人员比较少因此不太具有代表性。最典型的东西就是通用数据结构和算法,今天的排序算法在10年后必然同样具有价值,但专门从事算法优化改良的毕竟是少数。具美国人统计的数据干这类勾当的人占比还不到5%,而95%的人要和更迭较快的技术打交道。

 

这一基本特质的影响非常深远,比如你可能很努力的跑,但一不小心就落后了,既不是因为你跑不快,也不是因为你不努力。

简单来讲,在机械制造里随着时间,一个人的稀缺性往往是逐步递增的,那当然他收入也是逐步递增的,只要这个行业还在。

而软件开发不是,一旦被重置,那么白头发的就可能还不如刚毕业的。

 

在规划自己职业路径学习方法时,不考虑这个恐怕不行,会很容易被后浪拍在沙滩上,再实在点讲这也影响收入。

 

--------------------------------------------------------------

 

理想流 + 软件 = 《完美软件开发:方法与逻辑》
理想流 + 人生 = ??
理想流 + 管理 = ??
理想流 = 以概念和逻辑推演本质,追求真理。

posted on 2012-09-26 02:08  理想流  阅读(3847)  评论(32编辑  收藏  举报