正文

说说关于计算机软件这种工作

(2019-06-13 02:58:39) 下一个

我的计算机毕业能干什么的文章引来不少质疑,我觉得有各方面原因。

首先,我说计算机软件从业人员是码农码工,有人不满意,认为是对软件人员的侮辱,因为软件工作是创造性的活动。这个比较有意思。软件人员比工人农民的工作高级很多吗?

有人说我的看法陈旧落伍。这个要从两个方面看。一个是我读书的时候学的就是这个,当然不是最新的大学教育内容。 另一个是,现在的很多行业也还是用这些东西。不说通讯,即使是银行工作,使用的多数也还是C, C++, JAVA的代码。用的FRAMEWORK也还是五年,十年前的架构。而做芯片的,也还是VHDL, 所以陈旧落后,对于湾区的新锐公司也许是陈旧落后了,对于一般工业界软件和硬件开发,并没有陈旧落后多少。

作为一个从事软件工作多年的资深软件工程师,我对软件工作没有任何鄙视的理由。但是,对于本科,硕士级别的软件人员,真正工作里是没有多少独创性的创造劳动的。软件开发人员基本上等同于战场上的士兵。能用几种兵器,能用的多好,也不过就是士兵而已。做软件工作年头多了,也就成了老兵。而士兵在前线很重要的一点,是不要稀里糊涂就阵亡了。所以有位同学说的EQ非常重要,快速学习能力非常重要。这个我非常赞同. 有位同事自恃有才,拿到一个新项目后对人家运行了十几年的LEGACY代码嗤之以鼻,告诉人家他可以给人家重新写一个出来。结果很难和同事合作,不久就走人了。

计算机软件设计这种工作入行的门槛很低,所以竞争会越来越激烈。如果不是真的有软件开发的才能,不是有热情做编程,进入这个行业不是一个很好的选择。

这个行业的好处是工作方式灵活。想在家里工作也可以,使劲干一个周末休息一周也可以,上班遛网聊天也可以,收入还算不错,这是这个行业的优势。

这个行业的劣势就是从业人员需要一个很好的平台,有人雇你,你才能去当这个雇佣兵。而雇佣军里很多班长排长是老印。你打仗再勇敢,老板也不一定知道,没有哄好班长排长,那就很难在部队里混了。所以EQ就非常重要。很多人都抱怨印度人代码烂,也侧面反映了华人不善于搞办公室政治。码工的代码烂不烂,老板基本上是不知道的,只有同事知道。所以,即使华人代码写的再漂亮,没有老板知道也没有用。当然也可以自己单干,这就是我要说的下一个问题。

在软件行业里,会几种语言真不重要,会什么高级算法也不重要。有很多人说算法如何重要,但是真的工作里会使用上任何高级算法的,不过百分之一以下的人,或者是博士级别的研发。拥有广泛的知识面比精通语言,算法更重要。懂一点硬件,懂一点其他学科,比如通讯,生物,化学,电子,对于自己能单干就非常重要了。如果只是编程能力强,精通高级算法,真的失业以后,高级算法也不能当饭吃。而且多数公司青睐刚毕业的大学生。有一定经验,又有广泛的知识,能够换岗进入其他行业,就很重要了。

作为一个挨踢行业的老兵,转战多个领域,幸存于几个行业的变迁,一个经验就是,艺不压身,多学一点别的方面的知识,能极大提高在战场上的幸存几率。

[ 打印 ]
阅读 ()评论 (1)
评论
ily 回复 悄悄话 文章说的都是事实。

“真的工作里会使用上任何高级算法的,不过百分之一以下的人”!!

登录后才可评论.