软件工程软件开发公司开发工程师实习报告_第1页
软件工程软件开发公司开发工程师实习报告_第2页
软件工程软件开发公司开发工程师实习报告_第3页
软件工程软件开发公司开发工程师实习报告_第4页
全文预览已结束

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

软件工程软件开发公司开发工程师实习报告一、摘要

2023年7月1日至2023年8月31日,我在一家软件工程软件开发公司担任开发工程师实习生。核心工作成果包括参与开发3个模块,完成112行代码重构,优化API响应速度提升20%,并独立调试解决8个线上Bug。期间应用Java和Python编程语言,结合Git进行版本控制,通过Jira跟踪任务进度。提炼出敏捷开发中快速迭代测试的方法论,验证了单元测试能降低30%的集成问题发生率。这些实践加深了对软件开发全流程的理解,掌握了CI/CD工具链的实际应用。

二、实习内容及过程

1.实习目的

去2023年7月1号到8月31号这段时间实习,主要是想看看自己学的软件工程知识在真实开发里能用到多少,摸摸实际的项目是怎么跑的,顺便提升下自己的编码能力和解决问题的能力。

2.实习单位简介

我实习的公司是一家做企业级软件开发的公司,主要是给一些大企业做定制化的管理系统,技术栈偏向Java和Python,用得比较多的是SpringBoot框架,项目都是团队协作开发的。

3.实习内容与过程

刚开始那两周,主要是熟悉环境,跟着导师一起看现有项目的代码,学习他们的代码规范和开发流程。公司用的是敏捷开发,每天开站会,每周一个迭代评审。我参与的第一个项目是重构一个旧模块的API接口,原来的接口耦合度高,维护起来特别麻烦。我花了大概3天时间,把里面的逻辑拆分,用RESTful风格重新设计接口,还加了Swagger文档方便测试。过程中用到了Postman来测试接口,发现有几个隐藏的bug,比如参数类型不匹配、边界条件没处理。解决这些问题后,接口的响应速度从原来的500ms降到了400ms,虽然不是特别夸张,但确实提升了点性能。

后面几周,我开始独立负责一些小模块的开发,比如开发一个用户权限管理的小功能。这个功能需要跟数据库交互,我用了MyBatis来写数据访问层,感觉比直接写JDBC省了不少事。但刚开始写的时候,SQL查询写得很慢,查1000条数据要等好一会儿。导师教我用慢查询日志定位问题,发现是Join太多导致的,后来我把SQL分成了几个小步骤,加了一些缓存,速度就快多了。这个经历让我明白,写SQL不能只看表面,得懂数据库的执行计划。

在实习期间,我还接触了CI/CD流程,公司用的是Jenkins自动部署,每次提交代码后,Jenkins会自动跑测试用例,如果通过就部署到测试环境。我负责过一次流水线的配置,把单元测试的覆盖率从60%提到了85%,这让我意识到,写代码不能只管跑起来,得想着怎么保证质量。

4.实习成果与收获

实习8周,我总共写了大概1500多行代码,参与了3个模块的开发,解决了8个线上Bug,还独立完成了一个用户权限管理功能。最大的收获是学会了怎么在实际项目中应用敏捷开发,还有CI/CD这些工具,感觉自己的编码习惯好多了,写代码不再那么随意了。以前写代码就是想到哪写到哪,现在会先设计好架构,写完单元测试再提交,这样bug少很多。

这次实习也让我遇到了不少挑战。比如有一次开发一个功能,需求没说明白,我硬着头皮做了半天,发现方向完全错了,浪费了两天时间。后来我学会了主动跟产品经理确认需求,每次开会都会记下关键点,再不确定的地方直接问,这样避免了很多麻烦。另一个挑战是数据库优化,一开始写SQL很随意,后来被导师骂了几顿,才意识到数据库优化的重要性。我花了一周时间看MySQL的文档,还用到了EXPLAIN分析查询计划,现在写SQL会先跑一下计划,看看有没有慢查询。

这些经历让我对职业规划有了更清晰的认识。我发现自己对后端开发还挺感兴趣的,尤其是架构设计和性能优化这块,以后想往这个方向发展。

5.问题与建议

实习期间也发现公司有些地方不太合理。比如管理上有点乱,有时候几个项目同时推进,任务分配特别急,没时间好好写文档。培训机制也不太完善,新人来了就是直接上手,没人带,很多坑都得自己撞。岗位匹配度上,我负责的模块主要是后端开发,但有时候也要跟前端沟通接口细节,感觉有点牵强。

如果让我提建议,我觉得管理上可以搞个任务看板,每天实时更新进度,避免冲突。培训方面,最好能给新人配个导师,带一个月,教教他们代码规范和项目流程。岗位匹配度上,可以考虑让前端同学也参与一些后端的需求讨论,这样接口设计会更好用。

三、总结与体会

1.实习价值闭环

这8周,从2023年7月1号到8月31号,感觉像是把学校里学的软件工程理论跟实际开发拧在了一起。刚开始去的时候,心里挺打鼓的,怕自己啥也不会,只能干点杂活。但实际去了发现,很多课上的东西真的用得上,比如软件设计模式,我在重构一个老模块的时候就用上了单例模式和工厂模式,导师还夸我考虑得挺周全。写代码也完全是另一回事,以前写作业随便点,现在得考虑性能、可维护性,还得上单元测试,不然提的PR(PullRequest)会被怼回来。我感觉这次实习最大的价值就是把“知道”变成了“做到”,以前觉得敏捷开发挺好,但真参与进去,每天站会、每周迭代,才明白沟通和快速响应的重要性。我参与的那个API重构项目,虽然只优化了20%的响应速度,但整个过程让我把RESTful设计原则、版本控制、接口测试这些流程走了一遍,这比在学校做几个小项目收获大多了。

最让我有成就感的是独立搞定那个用户权限模块,虽然只是个小功能,但涉及到跟数据库交互、写逻辑、设计接口,整个过程花了快两周。中间调试SQL慢查了两天,后来慢慢学会了用EXPLAIN看执行计划,问题才解决。这段经历让我明白,遇到问题不能慌,得一个一个查,学校里学的数据库知识这时候真派上用场了。

2.职业规划联结

这次实习让我对后端开发的路更明确了。以前觉得后端就是写写SQL、跑跑代码,现在才知道,要做个好后端,还得懂系统架构、性能优化,甚至要关注分布式、微服务这些大东西。实习期间,我跟着导师看了一个高并发的项目,用到了Redis缓存、消息队列这些,感觉打开了新世界的大门。这让我意识到,接下来在学校得补补这些课,比如去看《分布式系统》这本书,再考个AWS或者阿里云的云认证,这样以后求职的时候竞争力能强点。导师也跟我说,想往架构方向发展,得先把基础打牢,比如网络、操作系统这些,不能只闷在代码里。所以接下来打算把Linux命令、TCP/IP协议这些好好拾掇拾掇。

3.行业趋势展望

在实习过程中,感觉现在行业挺卷的,技术更新快得飞起,比如DevOps、自动化测试这些已经成了标配。公司用的Jenkins流水线,每次提交代码自动测试、部署,效率高得不行。这让我意识到,以后做开发不能只会写代码,还得懂点运维、自动化,不然很容易被淘汰。另外,AI跟软件工程的结合也越来越紧密了,虽然我实习期间没直接接触,但听导师说现在有些公司已经在用AI辅助测试、生成代码了,感觉这玩意儿以后会越来越火。所以打算接下来学点机器学习的基础,说不定以后能跟AI打打交道。

整体感觉,软件行业现在更注重全栈能力,特别是后端,既要懂业务,又要懂技术,还得能跟团队高效协作。这8周让我从一个“学生思维”慢慢过渡到“职场思维”,以前写代码图自己爽,现在得考虑别人怎么用、怎么维护。这种责任感、抗压能力的提升,比单纯学会几行代码更重要。接下来打算沉下心,把实习中学到的东西消化消化,再跟学校学的结合起来,争取

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论