2019年秋季个人阅读笔记01—需求工程师,让你了解软件工程不一样的一面
《需求工程—软件建模与分析》读后感01
之所以选择这本书来进行精读,是因为这本书是当时老师推荐我们订购的参考教材,这本书和课堂老师的PPT结合紧密,与其读那些满篇都是讲大道理的文章,还不如从技术层面出发,读一本讲实际技术层面的书来的好。
今年接触的软件需求工程学习以及阅读的几本与需求工程相关的书,让我对软件工程这个冰冷的学科第一次有了不同的看法,原来软件真的不只是机械的去敲击键盘,它其实是一门要求人与人,人与计算机高度统一的学科,回想起大学前两年,王老师一直对我们重复说的一句话:“在你们未来的职场生涯中,和打代码相关的工作部分不超过50%,大多数时间你们都是去和用户谈需求!”到现在我才真正理解这句话的含义,真正的技术领域方面的东西永远都是死的东西,在工作中你可以很快融会贯通,但是了解需求这种看似只是说说写写的东西,反而是你很难去短时间学会的,因为代码都是死的,但你每一次接触到的用户,拿到的用户需求一定是不一样的,只有你接触大量的项目,你才能从中掌握出一定的规律,这也是需求工程这一软件工程分支学科设立的意义所在。
有学科,就有学科培养的职场人才,那就是软件需求工程师 。一个好的软件开发团队,必定有一个好的需求工程师,需求工程师在外行人看来就是代码打不好去卖嘴皮子的人,但只有我们干软件工程的人才知道,需求工程师是多么的重要。当然了,这么重要的职位也一定是有很高的水准要求,写这篇博客一是为了谈需求工程师这一职业,二来说这也是我今后的奋斗方向,相比于枯燥的敲击代码,我更喜欢去与人沟通。
首先,我从书中总结了一些需求工程师所具备的知识:1.软件建模和分析技术,可以将自己了解到的需求可视化,为团队的软件开发做出指导;2.除了技术上的技术以外,因为需求工程师是要和人打交道的,所以还需要具备以下的知识:认知心理学,人类学,社会学,语言学等;3.需求处理需要面对众多涉众的术语,概念,因此还需要应用哲学知识。
在掌握了知识之后,需求工程师还需要在实践中对知识进行灵活的运用,培养自己的实际技能。通常,需求工程师需要具备下列技能:1.专业技能,也就是相关的理论知识;2.分析技能,需求工程师要具备抽象能力,要能够在众多信息内容是清晰的把握问题的重点,核心和本质;3.交流技能,首先,要掌握交谈和提问的技巧,其次,要掌握倾听的技巧;4.观察技能,需求工程师应该具有敏锐的洞察力;5.建模技能;6.写作技能,信息交流是需求规格说明的第一目的,这就使得软件需求工程师必须具备良好的文档组织能力;7.创新技能,在新兴的领域,一流的工程师能够通过创新得到可以让用户满意的软件功能;8.协调功能,需求工程有众多涉众的参与,因此需要工程师做一个中间协调人,引导各方朝着共同的目标和前景前进。
需求工程师真的是一份充满着人情味的工作,这里的篇幅远不够完整的介绍这份职业,真的建议每一个软工人都去详细了解下这个分支,或许是你未来的就业方向也未可知。