软件工程软件开发软件开发工程师实习报告_第1页
软件工程软件开发软件开发工程师实习报告_第2页
软件工程软件开发软件开发工程师实习报告_第3页
软件工程软件开发软件开发工程师实习报告_第4页
软件工程软件开发软件开发工程师实习报告_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

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

文档简介

软件工程软件开发软件开发工程师实习报告一、摘要2023年7月1日至2023年8月31日,我在一家科技公司担任软件开发工程师实习生。核心工作成果包括完成3个模块的代码开发,修复12个前端bug,参与2个项目的需求分析。通过实际项目,熟练应用Java和Python进行后端开发,使用React和Vue框架构建用户界面,并运用Git进行版本控制。在需求分析中,采用敏捷开发方法,将需求文档转化为可执行任务清单,效率提升20%。通过实习,掌握了数据库设计原则,并实践了SQL优化技术,将查询响应时间缩短15%。这些经历让我深刻理解了软件工程的实践流程,并形成了可复用的代码审查标准和测试自动化流程。二、实习内容及过程1.实习目的去8周,我是想看看真实环境里软件是怎么做的,不是光在课本里看代码。想学学团队合作怎么搞,需求怎么一步步变成产品。也想知道自己到底喜不喜欢这行,能不能跟上节奏。2.实习单位简介我去的公司是做企业软件的,规模不大不小,几百号人吧。主要做B端系统,客户都是大公司。技术栈偏Java多一些,前端用React和Vue。我所在的团队负责一个供应链管理系统的开发。3.实习内容与过程开始那两周主要是熟悉环境,看文档,跟着老员工一起开需求会。团队那会儿在做一个小功能,帮用户导出报表。我负责后端接口开发,用Java写的。数据量不大,但是要考虑导出时的性能,因为有些表有上万条数据。我用了JPA分页,还加了个缓存,最后导出时间从十几秒降到了两三秒。前端那边用Vue做的,需要从后端拿数据填表,我给他们写了几个API,还用了Swagger自动生成文档,老员工说挺好用。中间一个月,我参与了另一个项目,是重构一个老模块。那个模块代码比较乱,注释少,bug还多。刚开始调试的时候挺费劲,一个简单的逻辑问题找了好久。后来我学了用Debug一步步走,还看了团队的单元测试写法,自己也开始写一些关键点的测试用例。重构完之后,测试那边反馈说新版本稳定多了,线上告警数量降了30%。最后那段时间,主要是bug修复和优化。我接手了几个前端bug,比如有個响应式布局在手机上显示不对,后来发现是CSS媒体查询写错了。还有后端的,有个接口并发请求慢,我查了是数据库查询没加索引,加完之后响应时间快了50%。4.实习成果与收获总共写了大概3k行代码,修复了12个bug,参与重构了2个模块。最大的收获是学会了敏捷开发,怎么快速响应需求变化。之前以为写完代码就行,现在知道要不断测试、迭代。还学了GitFlow工作流,怎么管理feature分支,怎么写commitmessage。团队那套代码审查挺严格的,每次提交都要有人check,一开始觉得麻烦,后来发现确实能发现很多问题。遇到的最大挑战是第一次搞数据库索引优化。之前课程里学过,但真遇到性能问题还不知道从哪查起。我就翻数据库执行计划,查了慢查询日志,最后发现是某个Join操作没索引。这让我明白理论结合实践有多重要。5.问题与建议有个问题是团队管理有点乱,老大事无巨细都要管,有时候开会时间太长,效率不高。建议可以多授权,让组员负责更多独立任务,老大只管方向和关键节点。另外培训机制也一般,我来了8周,就参加了一次安全培训,其他都是靠自学或者老员工带。可以搞点系统的技术分享或者新人训练营。岗位匹配度上,我觉得我的课程基础还行,但实际项目经验太少了,有些技术细节都不懂,比如怎么用Redis做缓存,怎么配置MQ。建议学校可以多开些项目实践课,比如模拟一个完整的项目开发流程。三、总结与体会1.实习价值闭环这8周实习,感觉像是把书里学的知识用上了,但又完全不一样。比如我之前做课程设计,写个几百行的程序就觉得挺了不起了,但实习里每天接触的代码量都是几千上万行,而且都是团队协作写的。最关键的是,我发现了很多自己没注意的地方。比如写单元测试,学校老师要求不高,但公司要求每个重要接口都要有覆盖,不然Merge都过不去。我之前写测试是为了完成任务,现在明白是为了将来不后悔。还有代码审查,一开始觉得是走形式,后来看到别人写的代码漏洞百出,才懂这是保护团队和产品的最好方式。这8周,我把课堂上学到的软件工程理论,比如需求分析、设计模式、敏捷开发,都亲眼见到了在实际项目中的应用和变形。比如需求变更,学校里改个功能说明就行,但公司里要重新评估影响,调整任务优先级,还要跟客户沟通。这让我明白,软件工程不是画图写代码那么简单,是个复杂系统工程。2.职业规划联结实习之前,我对职业规划挺模糊的,觉得做软件就行。但现在感觉方向清晰多了。我发现我挺喜欢后端开发的,特别是数据库优化和系统架构那块。遇到那个导出报表的性能问题,我查资料搞了两天,最后用分页加缓存解决了,当时挺有成就感的。后来老员工跟我说,做这行就是要能钻细节,不怕麻烦。这让我想做技术专家的想法更坚定了。接下来打算补补数据库和缓存这块知识,比如准备考个Oracle认证,顺便多看些分布式系统架构的资料。实习也让我看清了自己的不足,比如需求沟通能力还不够,有时候想当然地以为客户要什么,实际完全不是。这提醒我以后要更主动地跟人确认。3.行业趋势展望在公司那段时间,也接触到一些新技术。比如他们用的Docker容器化部署,我之前只在实验室玩过,但没在生产环境见过。还有那个微服务架构,我参与的模块是单体,但看到别的团队用的是SpringCloud,发现很多地方不一样,比如配置中心、服务发现这些。这让我意识到,技术这东西真的在快速发展,学校里学的可能很快过时。现在云原生、DevOps这些概念挺火,公司也在逐步引入CI/CD流程,我参与的bug修复中,有些就是以前手动操作的地方可以自动化了。这让我觉得,以后不持续学习真的会被淘汰。行业里敏捷开发、用户故事这些已经是很成熟的模式了,但看到自己写的代码真的被用户用了,那种感觉跟做课程设计完全不一样。也发现现在大厂都喜欢用Go语言搞后端,虽然我实习没用到,但感觉这个趋势挺明显的。4.心态转变最大的变化可能是心态吧。以前写代码觉得完成功能就行,现在会想怎么写得更健壮、更高效。比如之前觉得数据库索引就是加个注解,现在明白索引选择和优化是个技术活。遇到困难也不像以前那样慌了,知道先查资料、再问人、最后自己总结。责任感也重了,以前写代码随便删改,现在要考虑改动会不会影响其他模块。抗压能力也强了点,那段时间赶进度的时候,每天加班到9点,虽然累但挺充实。这种感觉很微妙,就是觉得自己真的跨入职场了,要考虑的东西多了。比如写邮件要正式,开会要记笔记,代码提交要写清楚原因,这些以前都没太在意。5.未来行动接下来打算把实习中遇到的问题再深入研究下,比如Redis缓存穿透怎么解决,微服务架构的分布式事务怎么搞。打算买本《高性能MySQL》看看,顺便考个OracleDBA证书。另外打算多关注开源社区,比如SpringBoot这些,看看大牛怎么写代码。实习最后那段时间,团队在用Jenkins做自动化测试,我看了下配置,觉得挺有意思,打算周末在家搭个环境试试。感觉这8周收获挺多的,虽然最后那周确实有点累,但每次解决完问题都挺开心的。这种快乐比考试高多了,也让我更有动力往这行走了。四、致谢1.感谢在实习期间给予我指导和帮助的团队,谢谢你们让我学到了很多实用的开发技巧和团队协作方法。2.特别感谢我的实习导师,在遇到问题时总是耐心解答,

温馨提示

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

评论

0/150

提交评论