您当前的位置:首页 > 文章摘抄 > 正文

高级软件工程师是什么专业_什么是高级软件工程师

高级软件工程师是什么专业_什么是高级软件工程师

什么是“高级软件工程师”,这个职位应该做什么?相信大家都有答案。目前国内很多软件企业,如果你是“高级软件工程师”,可能一个人负责从需求分析、设计、开发、测试,甚至到客户的全过程。那么这个职位应该做什么呢?以下是我的理解。

1、软件开发和测试

首先,软件开发是软件工程师职责的一个基本部分,应该没问题。其次,这里的软件测试可以分为开发前的驱动测试和开发过程中的白盒测试。驱动测试用于分析子系统/模块的内部逻辑,暴露开发过程中可能遇到的大部分问题,并在开发前进一步划分子系统/模块;白盒测试是为了保证在项目移交给测试团队的时候能够满足基本的项目需求,也就是可以进行alpha测试。另外,车手测试因车队而异,不是必须的,但个人推荐。

2、子系统/模块分析与设计

软件架构师完成系统设计,项目经理分工后,项目正式进入开发阶段。这时,每个软件工程师都会得到他所负责的子系统/模块。首先要做的是分析设计,其次是开发。开发前的分析和设计便于从整体上把握子系统,提前隔离子系统中的变更点和问题,同时可以对子系统进行更详细的划分,可以用来制定个人的工作计划,与项目经理和软件架构师进行详细的沟通。

在这一点上,我们应该尽早认识到,不仅是架构师需要设计软件,软件工程师也需要,而且是必备技能。我相信很多人在拿到自己的任务的时候只是和项目经理沟通一下,知道自己要做什么之后就开始写代码,这是非常不可取的。

3、书写文档

在设计子系统和模块的同时,要编写子系统设计说明书;在开发过程中,需要记录技术要点和发现的问题,同时必要时修改子系统设计说明书;在白盒测试中,每个Bug都应该被记录下来。这些文档是为了方便以后的项目维护,工作交接,问题分析,个人总结等等。

4、定期主动沟通

在项目开发过程中,项目经理需要与团队中的每一个人沟通任务的进度,他的主要职责是从整体上把握和控制项目的进度。然后,高级软件工程师作为团队的一员,通常负责项目中非常重要的子系统/模块,往往能决定项目的成败。因此,定期与项目经理沟通解决遇到的问题,与建筑师和专家沟通解决技术问题是非常重要的。另外,就个人而言,经常性的主动交流往往能显示出他们的主动性和积极性,对他们的长远发展非常有利。

5、持续学习

可能有人认为学习应该和责任无关,但狭义上确实如此。但是,不断学习新知识,提高个人技能,可以为公司提高工作效率;个人认为有利于职业发展。所以工作之余继续学习是非常重要和必要的,无论你的职位如何。

6、带新人

这可能不是硬性要求,但据说国外有专家引领新手的师徒习惯,我们也应该学习并发扬光大。通常新人会和资深软件工程师一起工作,这样一方面领导新人可以有机会重新审视自己的知识;另一方面可以让新人起步更快,降低学习成本,提高工作效率;同时也能维持良好的人际关系。

以上是我个人对高级软件工程师职责范围的理解,可能有些牵强。但是,就职业发展而言,如果你想成为一名高级软件工程师,以上几项必须在日常工作中做到。


声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,谢谢。

上一篇: 长鼓舞是中国少数民族的传统舞蹈,长鼓舞是中国少数民族哪个的传统舞蹈(学习强国四人赛新增加4题和错误率极高的题目汇编)

下一篇: mate30pro图片(华为 Mate30 Pro 5G和魅族17Pro买哪个好)



推荐阅读