软件技术人员的职业生涯规划

软件设计师可以向着两个方向转型:

其中一个是系统架构师,这应该是负责整个系统上面的框架的设计,关注点是系统的非功能性需求(如性能、质量、架框升级等)即技术需求;

另一个方向则是系统分析员,这则更多的关注在系统的功能性需求。

前段时间看到一篇文章是关于软件技术人员发展的问题文章中的一个观点就是软件技术人员的技术经验无法进行升级,让我有很大的感慨,于是就产生了写出一些个人对软件技术人员升级的一些想法:

软件是一个抽象的产品,软件价值的评估标准不同的公司有不同的标准,但是按照马克思的价值论,商品的价值是凝结在商品自身的无差别的人类的脑力和体力劳动.软件的价值就应该是凝结在软件上面的软件人员的脑力劳动和体力劳动.这就带出了一个问题,软件人员的价值的问题.

实际上软件人员有很多不同的层次,有项目管理人员,系统分析人员,系统架构师,软件设计师,软件工程师,软件编码人员也就是常说的代码工人等,这里面最容易混淆的是软件设计师,软件工程师和软件编码人员,相当多的企业是把三者当作一个岗位来实行了,统称为软件开发人员,

于是就造成了三者价格的差别不大,这也是目前中国软件业发展最大的弊端.无差别的劳动收益会最大的打击人员的积极性,这是无须讨论的事实,但是在软件行业上软件设计师,软件工程师和软件编码人员三者却是混淆的使用,于是所谓的软件开发人员做着一部份软件设计师的工作,做着一部份软件工程师的工作又做着一部份软件编码人员的工作.可能拿着软件工程师的工资,也可能拿着软件编码人员的工资(当然也有可能拿着软件设计师的工资,但是这种可能性很低,因为工作价值决定了劳动价格).这样就无法从性质上确定出人员的价值,

而人员价值的不确定性必然影响人员的工作质量和工作激情,也就必然影响了软件的质量.这就是中国软件质量无法保证的根源.而从另一个层次上说,三者混淆带来的更大问题是人员无法得到提升,一个进入软件行业的编码人员在经过若干年的工作后,依然感觉不到自已的提升,因为他只感觉到他就是开发人员.没有本质上的区别,就产生了所谓的30岁问题,于是纷纷的进行转行.这样就使得整个软件的水平一直都是青黄不接.也是中国软件业无法得到整体升级的关键.

问题的解决方案就是当然区别出三者的不同,制定出不同的岗位和待遇要求.那么现在的问题就是如何区分三者呢,

三者之所以会混淆很大程度上就是因为没有标准来区分.笔者认为,三者的区分可以参照软件生命周期来分别,在软件的生命周期中有几个主要的阶段,项目立项和可行性分析,需求分析,概要设计,详要设计,编码,单元测试,集成测试,功能测试,压力测试到用户测试等.其中所谓的软件开发人员常需要参与的阶段是,概要设计,详要设计,编码,单元测试以及其它测试阶段的支持等.但是实际上概要设计和详要设计的工作主要应该是设计人员的工作范围,而编码和单元测试主要就是编码人员的工作范围,而软件工程师最主要的工作范围应该就是帮助设计人员实现模块设计,同时指导编码人员进行开发.

之所以需要这样是因为经常性的软件的设计根本无法和具体的编码结合在一起.而程序的编码也无法反映设计,一但需求发生改变,设计人员无法知道程序更改的影响范围,而编码人员对程序的改变也无法从整体上有很好的把握,于是代码的问题就出现了.而软件工程师因为参与设计的同时又参与了编码.所以可以很好的体会设计上的整体要求.

这里说的设计最终结果不仅仅只是产生设计文档,有可能是直接产生接口代码和模块框架.而这些代码的编码应该主要是依靠软件工程师,同时软件工程师也需要负责Code Review工作,因为这一角色一般是有几年的编码经验,代码质量较高,对系统的了解也比较熟悉,可以更好保证程序质量.设计人员的

另一个任务是设计出测试的测试用例和测试数据,而软件工程师则需要准备出具体的测试用例和测试数据并指导编码人员进行单位测试.这样从职责上进行的区别可以使人员更多的关注于自身的任务,同时也可以感觉到不断的提升,编码人员在经过技术的积累和编程经验的提升可以成长为软件工程师,而软件工程师在加深对软件设计知识和系统业务知识的积累也可以成长为软件设计师,同时也可以向着管理角色成长,成为一个团队的Team Leader,

这里插入一句,笔者认为的Team leader应该是一个管理职位而非技术职位.他应该是向项目经理负责,对团队中人力资源,任务安排,风险控制,环境配置以及团队内外的沟通进行管理.笔者认为软件设计师和Team leader的待遇不应该有太大的区别.两者的区别有点类似于军队的政委和连长的区别一样.呵呵

回到人员提升的话题,软件设计师可以向着两个方向转型,其中一个是系统架构师,这应该是负责整个系统上面的框架的设计,关注点是系统的非功能性需求(如性能,质量,架框升级等)即技术需求,

另一个方向则是系统分析员,这则更多的关注在系统的功能性需求.而项目经理,系统分析师,系统架构师是整个软件项目在三个不同层次上的分工.

三者只有工作职责的区别而不应该有等级的区别.当然如果有些公司有更好的职业设计的话,其实应该还可以加上技术专家,和资深顾问等.这两个职位是跨项目的,前者是对项目出现的技术难点负责解决,后者则是对项目的业务知识进行分解,培训人员的业务知识.当然这两个职位也应该有渠道让编码人员可以一步步成长起来.

 

感谢您访问:生涯设计公益网!本文永久链接:https://www.16175.com/3106.html。侵删或不良信息举报请联系邮箱:121488412@qq.com或微信:aban618。
(0)

相关推荐

  • 我的职业生涯规划(网站设计从业者)

    网页设计毫无疑问是一门技术,职业定位是网站设计、网站美工、网络编辑等,许多较高水平的技术人员能获得不错的职位和薪金,但大部分人可能并不能达到这个水平,比如美工这个职位,较好些的网站…

    生涯规划 2008年3月2日
    1.4K
  • 我的大学职业生涯规划书

    我的大学职业生涯规划书 职业的探索与自我探索 职业的探索与自我的探索是揭示心理、了解心理、学习心理的最初一步。自我探索有助于对自己职业兴趣、职业优势能力和职业价值观的分析。 1.职…

    生涯规划 2008年6月19日
    1.9K
  • 大学生的六条发展之路

                   …

    生涯规划 2005年11月4日
    1.6K
  • 对新员工职业生涯规划问题的探析

    对新员工职业生涯规划问题的探析 职业生涯规划对企业员工的职业发展有十分重要的作用,开展员工的职业规划,不仅有利于个人职业的发展,也有利于企业整体的发展。然而,我国的企业在员工的职业…

    生涯规划 2008年10月28日
    2.0K
  • 正确定位走出职业动荡期

    正确的职业定位是稳健职业发展道路的起点。决定职业定位的因素包括:个性气质、能力倾向、兴趣爱好等。很多职场人士由于缺乏争取的定位无法找到自己的位置,也不能走上最能发挥自己优势、展示自…

    生涯规划 2006年3月16日
    2.0K
  • 2009大学生职业生涯规划书最新范文

    2009大学生职业生涯规划书最新范文 大学生职业生涯规划书最新范文专辑,作者分别从自我认知、专业和就业前景分析,给自己的职业生涯规划作出科学合理的定位,相信对正在制定个人职业规划的…

    生涯规划 2009年3月10日
    1.5K
分享本页
返回顶部