- 2021-04-12 发布 |
- 37.5 KB |
- 5页
申明敬告: 本站不保证该用户上传的文档完整性,不预览、不比对内容而直接下载产生的反悔问题本站不予受理。
文档介绍
一个软件工程师的年终总结
一个软件工程师的年终总结 系统方的设计指标越来越高,很多硬件的效能必须靠软件进行体现。而且在自动化控制/信号处理方面也必须借助相关的算法和技术才能实现。这些方面我们还需要摸索和积累.下面是小编带来的一个软件工程师的年终总结,有兴趣的可以看一看。 各位领导,同事: 我的工作内容与诸位(软件开发中心的)同事承担之事大同小异,主要谈谈一年来的工作情况和感悟: 作为一个软件工程师(就是码农),主要的工作自然是写代码。分析需求、设计框架、完善细节、调试代码、修正BUG、需求变更分析、修改代码,流程进行中还穿插了各种表格和文档。一个完整的流程下来,需要付出加班、白头发、脑细胞、体重等多重代价,其中辛苦,如人饮水,冷暖自知。 快乐是有的,看到自己辛苦搭建起来的软件系统能够正常运转,收获几个赞美之词,就已经很知足了。尴尬也是有的,因为软件的一点小问题日夜兼程去千里之外修补代码这种尴尬事也遇到过。总体而言,今年的任务还是顺利完成了,试验也如期保障了,这些都还得益于领导的关心和同事的给力支持,在此表示感谢! 今年的工作的关键词是:陪。 陪调试、陪联试、陪试验。细算了一下,今年的出差达到了8次,出差时间接近60天,期间基本成了某单位(总体部门)的陪练。当然,出差期间也不敢闲着,坐在A项目现场拿着笔记本干B项目的活,还被某单位的同志笑话:你们有那么忙么?一把辛酸泪啊! 都说某单位(总体部门)牛,真的牛。有个软件刚写好测评完,人家说通信协议改了,改就改了吧,还得3天内改完,带着软件去参加匹配。加班加点改完去了北京,人家说别急,协议又变了,我们的软件人员还没改呢,你们先把协议对一对,现场改吧。于是又在北京陪了一周,当了一周的北漂。后来,软件改好了,我把软件带回来测评,设备留在某单位。又出差一次把软件释放设备上,本以为没事可以回去了,某单位的朋友发话了:联试完了再走吧,万一出了问题呢?于是又陪。等某单位安装设备等了3天,调试设备又等了4天,终于可以开始联试了!刚开始就遇到问题(不是软件的问题),接着就是排查,就这么折腾着,又一周过去了,测试项还没跑完。家里一堆活,实在等不及只好找个借口先撤了。 再后来,陪试验。本以为是轻松活,谁想并不轻松。由于其它项目的原因,每天抱着QT的书使劲啃,早上赶完饭点就回宿舍啃书本敲代码,刚开始还参加下单位的团体活动,后来发现写代码的进度比预期落后,索性啥活动也不参加,回归为标准的宅男。 陪的事情就吐槽到这,再说说对工作的感悟。 经过这两年的工作,我对软件开发的基本认识是:业务框架+技术框架。 业务框架的构造通常辅以UML工具进行业务流程的识别和设计,技术框架主要考虑面向对象设计、设计模式、结构化分析、算法设计等理论方法和系统平台选择、开发环境选择等工程化环境选择。只要这两个框架搭好了,开发软件就不困难。像我这种半路跳槽来开发软件的人也能写软件就是活生生的例子。刚来软件开发中心的时候,我对业务流程并不熟悉,有一段时间很被动。经过学习和同事的指导,理解了前人的技术框架和整体业务流程,不但维护了代码,还可以在该框架的基础上开发些新功能出来。 就我从事的业务领域而言,业务框架和业务流程是清晰的,短期内不会有大的变动,现阶段的主要工作就是优化和移植。但依然有问题在困扰我们: 1.通信协议过于复杂,数据在设备间传输的过程中被切分的很细小,导致频繁的拼帧解帧,给编程工作带来不便,即使现在对协议栈做了整体封装,由于协议本身的弹性有限且复杂度较高,未来协议一旦发生改变,维护工作量不会小;2.重复编程的烦恼。不同项目间的配置项大致相同,甚至一个项目中的几个配置项的大量功能重叠,导致为相同功能重复编程花费了大量的人力。且不同人员的编程方法千差万别,一方面导致软件质量参差不齐,另一方面由于接口不统一,好的软件构件也无法复用。如果我们能从多个项目或单个项目的多个配置项出发,进行系统分析和设计,识别相同的构件,使多个软件在一个框架下进行开发,提高复用度,也许可以减少重复编程,提高开发效率和质量。这个方法我在某项目中进行了尝试,封装了一个协议栈,虽然过程坎坷,但表明路线可行;3.需求变更多。之前的故事里已经有了例子,我们技术人员无法控制变更,唯一能做的就是在设计之初增加软件框架的弹性,为可能的变更留下余地(或者干脆想办法拒绝变更)。 4.对软件功能和性能的要求越来越高。系统方的设计指标越来越高,很多硬件的效能必须靠软件进行体现。而且在自动化控制/信号处理方面也必须借助相关的算法和技术才能实现。这些方面我们还需要摸索和积累;5.新技术的运用。新技术通常代表了更高的生产效率,但它同样不是万能的。新技术的学习需要周期,适应也要有过程,而且新技术也存在自身的劣势,这种劣势往往是传统技术的优势。比如QT开发程序的编译和运行速度在windows平台下明显差于VC开发环境,VC编程人员无法无缝迁移至QT,很多习惯的编程方法不适用(但是搞VC的迁移到.net或VB就很快)。所以我的感受是不必强求新技术,技术框架间更多的是一种互补关系。 6.界面设计。被拿出来说事儿的次数较多。如果有专业UI设计人员进行设计,对我们的工作就更有帮助。 最后,身体是最重要的,祝大家都身体健康! 查看更多