本文主要是 软件工程师主要做什么 相关的知识问答,如果你也了解,请帮忙补充。
熟悉公司技术栈。一个公司应该有自己固定的技术栈。这套技术栈会应对公司具体的业务需求。当然,创业公司的技术资源是比较少的,需要招聘人员从上一家公司带来一些。
询问需求。需求先跟产品沟通讨论需求,了解客户有哪些需求信息。
整理需求。以文档的方式把跟产品沟通后的需求,按照功能模块逐一进行梳理整理,需要写得尽可能详细。
讨论需求。就是需求评审,确认哪些需求是合理的,哪些需求是不合理的。进行有意义的需求评审,这个特别重要。
确认需求。再次跟产品确认需求,一方面是确认就是要做文档中呈现的需求,另一个方面也是检验开发者是否对需求理解到位了。如果发现开发者跟产品理解不一致,是需要作出修改。这个时候产品也需要跟客户再次沟通,确认需求是否是客户真实需要的。
整理文档。把项目的时间周期呈现在文档中。把项目中所有需要的功能模块,都需要用文档进行详细说明。
设计表结构。根据产品画的原型,抽象成软件设计的概念,现在大都是抽象面向对象概念。
画实体流程图。用实体流程图来说明项目的核心流程和数据流程。因为一个系统其实就是实体来描述的,而实体数据的流动其实就是核心流程逻辑了。
画必要的UML图。加强实体间相互关系理解,这样可以搭建一个好的类关系组织图。这里没有好或者不好,只是如果把这些需求当成工程技术那样严谨的思考,这些步骤还是可以做的。根据自己需要,灵活应对,如果自己理解力够好,经验够了,这些步骤可以直接在脑子里做。如果理解力不够好,还是该画就画。
画项目核心功能逻辑图。把项目中比较复杂的和非常重要的功能逻辑,画成图,目的:辅助自己理解。
用汉语把功能写出来。其实写代码就是写故事,用汉语可以先把故事写一写,然后用编程语言把故事在描述一次。做两次是非常好的,第一次会考虑到一些细节,因为当接触一个新的功能逻辑,其实是陌生的。用熟悉的汉语写成一个故事,是可以辅助理解的。其实,橡皮鸭的调试法就是这样的。用自己的话,用自己的理解把整个过程说出来。
编码。把前面的工作都踏实做好了,编码就是一件非常简单的事情。
单元测试。需要注意一下,哪些是必须测试的,哪些内容根本无需测试。
bug修复。
上线。
总结。一个项目做完后,把重要的bug,进行整理和学习。把做得不好地方进行梳理,下次需要改善。
学习新技术。这个也是工作的一部分,而且特别重要。
收入高。 软件工程师工资收入。数据显示,全国软件工程师月平均工资为11070元,其中58.6%的人月薪过万,73.3%的人月薪超过8000元。根据历年工资变化趋势来看,软件工程师薪资已从2014年的月薪7160元变为2020年的11070元,工作经验从应届生的7680元变为5-10年工作经验的17070元,这也间接说明软件工程师越老越吃香。
参考知识C 软件开发的内容是:需求、设计、编程和测试!