原创 【博客大赛】如何知道自己是否是一名合格的软件工程师?

2015-4-10 16:00 1501 18 20 分类: 软件与OS

我这么说并不是玩笑:软件工程师的能力问题在这样一个广泛连通的世界里只会变得越来越紧迫。

就在不久前,一个四年制计算机科学与工程专业的毕业生还可以在专业软件工程机构找到一个入门级职位,然后与同事、经理一起工作并享有培训机会,当然最重要的是还可以掌握正规的开发方法和最佳实践。

而通常来说,这样的员工需要经过约一年的培训和实践后才能给团队带来效益。 而当今社会则充斥着大量零散的工作需要软件程序员来处理,因此,对软件程序员的巨大需求使得软件工程领域的这种事实上的学徒制方法变得越来越少见或者消失了,因为在日趋紧张的交付时间要求下,这种学徒制方法简直就是一种奢望。 最终人们会发现,所有的热情、编程马拉松和冲刺都无法弥补个人在专门技能方面的缺失与不足。而软件团队通常会掩盖个人在技能方面的不足,但这仅仅是因为其他成员帮助弥补了那些技能不足者的低生产率。

实际上,根据软件质量与度量领域专家、Pyxis Systems International公司总裁G.Gordon Schulmeyer先生所言,当前形势非常严峻,所有大型项目中都可能存在着一些Schulmeyer称之为“净负生产程序员(NNPP)”的人,而这些人所做的破坏要超过他们的产值。 在《净负生产程序员》(The Net Negative Producing Programmer)一文中,Schulmeyer写道:“负生产并不仅仅适用于极端案例。假设在一个十人团队中,三名成员的缺陷率都高到足以列入净负生产程序员的行列,那么,在技能常态分布的情况下,一个十人团队中没有一人是净负生产程序员的可能性为零。而如果你不幸分到一个缺陷率高的项目团队中(即每1000行可执行码中有30个~60个缺陷),那么你所在的团队中,有可能一半的成员都是净负生产程序员。 那么,如何才能知道自己是否是一名合格的软件工程师?如何才能让公司、经理和团队成员知道你不是一名净负生产程序员呢?

 

Jacob Beningod在他最近的一篇博客《硬件工程师该如何成为软件专家》里给出了很多建议,其中一条就是获得行业认证。这似乎是个好主意,所以我要好好琢磨一下为什么实际上很少看到有人这么做,为什么相当少的软件从业者拿到了行业认证。 如果说仅仅一小部分在职软件工程师曾经学过四年的软件工程课程,这话并无偏颇。事实上,在美国只有22个这样的课程设计。我们绝大多数软件工程师都是在接受正规的计算机科学教育后再接受在职训练,但计算机科学教育并不同于软件工程。

Construx Software公司首席顾问兼IEEE计算机学会认证委员会主席Steve Tockey说:“你不会派一位化学专业人员去解决化工问题,同样,为什么我们要让计算机科学家去解决软件工程问题呢?” Tockey所在的委员会负责如下IEEE认证项目(引自IEEE计算机学会):

● 初级软件工程师职业资格认证(CSDA)—针对应届软件工程师和初级软件从业人员。

● 软件工程师职业认证(CSDP)—针对希望证明其软件开发能力进一步拓展事业的中高级软件从业人员。 Tockey说:“这背后的问题是,雇员和雇主们都对必需的技能和知识缺乏了解。做出雇用决定的人常常不知道这些东西。所以要帮助他们弄清楚。” CSDA/CSDP项目代表的技能与知识体现在软件工程知识体系(SWEBOK)指南中,该指南包含了人们普遍认可的软件工程核心知识。ISO/IEC 24773于2008年发布了这一国际权威指南,从而使CSDA/CSDP被全球广泛承认。 实际上,IEEE计算机学会还特别针对印度和中国推出了SWEBOK认证项目(SCP)。按IEEE计算机学会的说法,印度有约130万名软件、计算机科学和计算机工程专业的学生,每年要毕业数十万相关专业的大学生,然而最近对超过5.5万名工科生的抽样调查表明,只有17%的学生符合任职条件。 SWEBOK Guide初版于2004年推出,现正在修订。但现在已有SWEBOK Guide V3讨论稿,据Tockey说,SWEBOK Guide V3很可能在今年年底稍做修改即公开发布。 Tockey说,从2004年的指南到V3版,最显著的变化包括:

● 增加了新进展,比如敏捷开发;

● 更强调安全;

● 与CSDA/CSDP知识同步。 V3中的另一变化是将2004年版中的大量核心参考文献裁减到了可控范围。事实上,即便你不想付出太多,怎么也得把SWEBOK Version 3 Consolidated Reference List吃透了。如果你想提升自己的技能,不妨就从这里开始。 正如Tockey所说,认证并不保证你能胜任什么,但它减少了你被淘汰的风险。有时候,知道这一点就够了。 

文章评论2条评论)

登录后参与讨论

用户377235 2016-2-14 17:49

看来“急功近利“是软件业的通病了!

zhujun74_602010376 2016-2-2 23:35

软件的范围实在过于宽泛,使面向领域的工程掌握编程技能也许是个方法。
相关推荐阅读
用户414249 2015-05-25 20:41
傅立叶变换、拉普拉斯变换、Z变换的联系是?为什么要进行这些变换
傅立叶变换、拉普拉斯变换、Z变换的联系?他们的本质和区别是什么?为什么要进行这些变换。研究的都是什么?从几方面讨论下。 这三种变换都非常重要!任何理工学科都不可避免需要这些变换。   ...
用户414249 2015-05-25 10:06
51单片机的P0口工作原理详细讲解
一、P0端口的结构及工作原理 P0端口8位中的一位结构图见下图: 由上图可见,P0端口由锁存器、输入缓冲器、切换开关、一个与非门、一个与门及场效应管驱动电路构成。再看图的右边,标号为P0...
用户414249 2015-05-25 10:06
资深工程师分享:接地方法
接地是电路设计中最基础的内容,但又是几乎没人说得清的,几乎每次的培训和交流都会有人问到“老师,有没有一种通用的接地方法可以参考啊?”如果想知道这个问题的答案,请继续耐着性子读下去。 我先给出一个斩...
用户414249 2015-03-29 15:59
【博客大赛】如果你没读过《狼图腾》,至少可以看看这50条书摘
1、没有捕捉不到的猎物,就看你有没有野心去捕;没有完成不了的事情,就看你有没有野心去做。   2、没有猎物我们就去寻找猎物,发现猎物我们就去追逐猎物。寻找、发现、追求、获得———这就是狼的...
用户414249 2015-03-29 15:59
【博客大赛】电子工程师必备的八大技能
作为一个电子工程师(electronic engineer)必备技能:抄板,焊板,画板,仿真,编程,调试,创意,坚持。八大技能,你几级了?我才一级,还要多打野,多补刀呀!虽然跟着师傅能混一些经验,...
我要评论
2
18
关闭 站长推荐上一条 /2 下一条