硅谷故事:什么人才算是做软件的? 本来想总结一下自己多年的做软件教软件的体会,写一篇做软件的四个层次。但仔细一想,什么人才算是做软件的?还真不好定义。现在信息时代,你说谁不懂计算机不懂软件谁跟你急。 我刚从物理转入IT,是一家做EDA芯片设计辅助软件的 startup.估计我的物理背景起了帮助。虽然我不懂芯片设计,但应该总比学幼儿教育的容易入门。做软件老美很有创造力,但需要有物理电子等背景的软件行业,在我还在的时候,还是老中的一统天下。 虽然我原来在学校修过一些CS课程,自己也写过自己用的计算机程序,但进去之后,才了解到什么是软件产品的概念。那时候,很多公司都有自己的软件开发员,比如AMAT,Intel,光学医疗设备公司,更不用说HP等电子设备公司了。 但我们公司的工程师都不大看得起在那些公司做软件的人,常说。他们不算做软件的。有一次,公司想拉一位高级技术人员入伙,,他有属于自己的EDA软件可以带进来,那个软件已经用得很好。他也展示给我们看。开会的时候,我们公司的人追问他,你这个软件拿来后在我们公司的帮助下要多久能做成产品,他含糊其词不肯给一个肯定的回答。我才知道,把一个主要功能已经实现的 prototype 软件做成可以卖的产品,一般还要5-10倍的时间,这还是在原来架构设计没有问题的情况下。而没有做过产品的人没有这种体会。 但是,我后来到AMAT做自动控制软件,我们的软件当然只是自己用和跟设备走。但我们的设备一般都要派人跟去维护的。觉得也不能说这样的软件就好做, 软件不但要同时控制多个程序,还要控制多个在协作运行的机器。后来做电商通信等等软件也是,各领域都有自己的特点。软件企业里面又有不同的分工。 IT,已经跟物理一样,成了一个大领域,其中还与其他领域结合,比如传统电讯. 电子生物图象等等. 甚至现在大热的围棋和其他游戏. 每人都只精通自己做的那部分,说什么人才算是做软件的?还真不好说。不过,软件开发,还是有自己的共性,所以,还是想从不同一般软件工程课程的角度把4个层次写出来和大家讨论,这篇,就算个引子。 |