软件工程师的成长

      个人能力的衡量与发展:一个软件团队由个人组成,在团队的大流程中,是每一个具体的个人在做开发、测试、用户界面设计、管理、交流等工作。英雌个人在团队中也有独立的流程。在软件团队中我们把单个的成员叫做Individual Contributor(IC)。由于IC直接参与每项流程,每个人的工作质量直接影响最终软件的质量。因此,初级软件工程师的成长是至关重要的,他们应该在很多方面也都能够有成长空间,比如,积累软件开发相关的知识,提升技术技能;积累问题领域的知识和经验;对通用的软件设计思想和软件工程思想的理解;提升职业技能;实际成果。

     软件工程师的职业发展:职业发展可以考虑考级之路,通过各种国际职业考试获得认证;而职业成长则是有很多方式,不同的公司有不同的工程师等级划分方式,分别有Steve McConnell版本和大公司版本(例如微软公司),还有就是通过自我评估来选择自己希望追求的方向。

    技能的反面:巴斯顿说技能的反面是“Problem Solving”—“解决问题”。举个例子,一个IT专业的大学生来面试,简历上写着“技能:精通Visual Stdio C#编程”。于是面试官请他用Visual Stdio IDE写一段程序。而一个“不精通”的面试者编程过程中,他会想着首先怎样开始一个C#命令程序,然后怎么定义数组,编译一下后发现没过才知道少了一个分号,怎么设断点等等。你会发现他把时间都花在“解决(低层次)问题”上了,你想考察的算法技能、C#程序设计技能都无暇顾及。这还是他自认为非常精通的情况下出现这些问题,这样的员工你会要么?那么怎样提高技能呢?答案很简单,通过不断的练习,把低层次的问题都解决了,变成不用经过大脑的自动操作,然后才有时间和脑力来解决这些高层次的问题

posted @ 2017-04-30 13:52  逍遥魔灵  阅读(210)  评论(0编辑  收藏  举报