软件工程是一门工程实践性极强的学科,为此智算学部将实训作为软件工程本科生培养计划中的重要组成部分,以进一步加强学生工程实践能力的培养,使学生有机会接受正规系统的专业性实践训练。
智算学部软件学院本科生开设实训已有11年,获得业内用人单位及学生的一致好评。近年来,与中国汽车技术研究中心、渣打银行、厦门航空、中国农行、紫光云、联想云等企业建立了长期的合作关系,近五年来有600余名本科生前往企业实训,按企业工作模式与正式员工一起承担软件项目开发、测试等相关工作内容。学生在实训中提高了项目开发、沟通表达、团队协作等方面的能力,同时增强学生就业竞争力,进一步提升人才培养质量。
本学年实训已开展近三周,让我们一起来看联想云实训学员的心得体验吧~
联想云 实训心得
李培城
前两周的时间虽然短暂,但是依然完成了很多任务。配置环境,任务分配,熟悉业务逻辑,具体测试开发人员的代码是主要的工作内容。配置环境这一步比较顺利,和平时的大作业项目开发基本相同。在熟悉业务逻辑的时候,由于自己之前对vue和jest几乎没有了解,所以要先学习技术栈。在具体测试的过程中,遇到的印象最深的一个问题是,我根据出错报告无法找到解决方案,于是请教了一位已经工作的同事,他很快定位了出错位置并教会了我类似情况的解决方案。学习过程中所能学到的学习的方法和知识本身同样重要,在未来的实训过程中我还应该提高效率,继续努力!
史丹阳
第一周来到联想云实训,进行了许多场关于联想云业务架构体系的培训。在公司前辈的带领下,我了解到了以下内容:
1.联想网盘的web端功能
2.联想网盘的移动端功能
3.联想网盘的服务器端的架构
4.如何使用测试软件对服务器端的接口进行测试
5.如何搭建完整的服务器端的开发环境
在这一周内我进行了许多次尝试,包括搭建环境以及学习后端开发的知识。搭建了基于maven+springboot+testNg的后端开发环境,学习到了服务器端的MVC架构,了解了Dao+Controller+Service的文件结构。
对以上提到的文件结构进行了一定的实践。与leader进行了深入的交流,了解到测试时的基本流程,包括测试用例的设计以及代码的覆盖率的一些问题。学会了如何使用testNG以及reportNg自动生成的网页形式的测试报告。
王春力
这是实训开始的两周,接在五一小长假后面,初来乍到,带着忐忑又好奇的心情来到这里,第一次进入真正的公司进行工作,面对陌生的环境不免有些忐忑,但同时也很期待这里的环境会带给我怎样的成长,这里的同事是怎样的人,我能从他们身上学到什么。
来到这里,首先是各种培训,了解业务相关知识、以及工作相关的专业知识,从培训和知识的学习中,了解到了许多新奇的东西,接触到了一些新知识,学习了如何将学校中学到的知识运用到工作中,以及实际工作中需要怎样的技巧。
赵仲琳
实训已经开始两周了,这两周过得非常充实,也学到了很多东西。主要是熟悉环境,以及对于总体业务进行了培训。
在过去的两周里,我对于我们所要承担的任务以及整体前后端的工作流程进行了了解,并且进行了相关知识的学习,和自动化测似不同,我们所承担的是单元测试的任务,这就需要对于系统的源代码进行学习和理解,这个过程是有一些枯燥的,但是在读源代码的同时,也让我很有收获,比如一些前端导航的使用,还有一些功能的实现上,总体代码不是很长,但是写的很有规范、缩进也非常整齐,对比之下自己还有很大的提升空间;另一方面也在开始动手写一些测试用例,但是覆盖率不是很理想,接下来的工作中要想办法提高覆盖率,把单元测试的工作做好。
韩晨
--代码学徒韩晨来到联想云两周--
到公司第一天,仔细的了解了公司的两大业务线。我和另外七位小伙伴加入到了“联想超融合”这条业务线中,我的工作任务是前端测试。
曾经我认为测试是脱离了软件工程核心流程的工作,不以为屑。但通过在前端测试组学习工作的两周,深刻理解了在实际情况中,测试是产品交付前的重要的最后一步。
两周以来,学习了Robot Framework进行前端测试的过程,并亲身进行脚本的编写,发现测试用例是复杂且难以精湛的。在编写脚本时,我们总是会忽略一些难以察觉的情况,造成测试流程的不完整。在今后的测试工作中,我会更加细心地解决难题。
欧阳毅铮
联想云的实训已经过了两周,在leader的带领下我们开始熟悉私有云java开发所使用简单基本框架和环境,并对相关业务有了初步的了解。作为班长,两周以来尽心组织同学们参加实训,及时处理好签到请假出行等事务,帮助同学们初步适应了实训生活。这两周我深刻的感受到了联想云的公司文化,同事们对工作的热情投入,工作时间和方式自由而不失严谨,让我觉得十分亲切。接下来的两周我要更加专注到工作中去,对于不懂的问题要及时请教,争取能保质保量的完成leader布置的任务。
许致远
这次大三下学期的实训,是我第一次进入企业,跟企业的员工一起工作学习。初出茅庐的我,还是第一次真正进入实际的工作环境,整齐划一的工作台,忙碌而有序的工作人员们,让我体会到了实际工作时所需要的认真与辛苦。
我们在介绍完自己的兴趣爱好,和了解了这里的工作环境以后就被分配到了各个工作地点,有些组是一个小组都坐在一起,而我们是分开,坐在员工中间。Leader给我们分配的人物并不重,所以我们可以有时间熟悉相关的开发环境和工作节奏,前两周的实训带给我的收获不少,每天既充实也很疲劳,希望以后几周能学到更多。
卢昊
一开始,对于工作环境、工作内容都不是很熟悉,难免心里会有些忐忑:我该做什么,我该怎样做,怎样做最好。
但是我的leader、公有云的领导、还有身边工位的同事,他们就像朋友一样,毫不吝教,从业务培训到技能培训,遇到问题也可以咨询他们。期间还发给了我们四个测试用的项目源码供我们阅读以吸取经验、提高能力。
这一阶段花了大约一周的时间,我对于工作环境、身边的同事已经比较熟悉,第二周leader开始分发一些任务给我们。我分到的任务是熟悉自动化测试管理平台的源代码,并增加一个功能的tab用来展示员工的一些数据。
学习代码阶段开始,这一阶段是我认为进步最大的阶段,我学到许多新的知识,也复习了许多旧知识;首先就是Spring Boot的企业级实战,阅读了之前用的比较少的拦截器链的代码,掌握了navicat可视化工具的用法,并在本地虚拟机中搭建了一套项目需要的环境(包括Mysql、Redis数据库等),成功的跑起来项目,熟悉了所有模块的实现位置(但是只认真读了其中一部分的具体实现,日后会慢慢读完)。学到了themeleaf的配置方法,编写html、js界面,成功的增加了一个tab,成功的做出从查询数据库,到用highcharts展示给用户的一整套流程框架(拿到数据库后进行简单替换即可),目前的任务是一边继续深入理解源码,一边等待队友建好数据库,这样我才能继续着手剩余工作。
总结起来,我认为我对于leader交付的任务完成的比较出色,在联想云的工作很开心,收获颇丰。
张凯
在联想云公司实训的前两周,感受到了公司的企业文化和工作氛围,深刻了解到了公司与学校的区别,而每天的早睡早起也是对过去自己的不良生活习惯的一种改变,每天的工作时间内不碰手机也正在改正自己“低头党”的坏习惯,这些都是自己将来真正去公司实习工作的一个良好的过渡。学习与项目方面,这两周跟随leader学习“消息队列”的相关知识,根据leader安排的时间节点完成对应的学习任务,做好学习笔记,并且在两周一次的小组会议上展示自己的学习成果。
肖业凡
在前两周,联想云的领导们给我们讲解了联想云的企业文化、特色、重点项目等,并对我们人员进行了分工。我被分到了超融合商机系统web前端组,并按照培训的要求完成了基础学习和环境配置。接下来的几天,我们的领导给我们派任务。因为我之前用vue较多,所以我一开始会因为不熟练angular技术而进度缓慢。之后随着我对技术掌握更加全面、运用更加娴熟,我的进度、效率都得到了提升,且基本可以按时保质保量完成每天的任务,并写日报、博客来积累、分享自己的心得体会。前两周我熟悉了联想云公司的工作环境和工作方式,对接下来的实训生活会有很大的影响。
林然
来到联想云的第一天,我的岗位和任务方向就已经大致分配完成,着实令我体会到现代大型科技公司的精准、高效和快节奏。我被分到了超融合部门的Web分布,负责商机系统前端页面的优化和开发,leader每天会给我们分配任务,监督工作,确保我们循序渐进地融入企业当中。Leader带着我们熟悉了熟悉系统操作,并把商机系统的源码发给我们,大致浏览过后,不管是从代码量、项目规模,还是模块化、解耦高可读性的编写风格,第一次接触到企业级工程的我都震撼不已。这两周期间我大致了解了系统的工作原理,目前处于对原有代码进行修改、优化阶段,希望随着学习的不断深入能够开发自己的模块。
孟繁博
最大的感触就是走出舒适区才能成长。这两周里学习的内容以框架为主,有很多都是之前就感兴趣但一直拖着没学的东西,收获很大。
前四天完成的工作是配置SVN+Jenkins+Sonarqube环境,安装node.js。node.js可以简单地一键安装。SVN因为是mac自带,所以只需要修改一些配置文件就可以使用,使用方式和git相似。在使用前我看了一下svn和git相比的优缺点,发现在本机运行小demo的情况下二者没有区别。
到了Jenkins+Sonarqube时情况就复杂了很多,尤其是Jenkins安装走了很多弯路,第一次安装使用傻瓜安装,发现没法和自带的tomcat整合,只好卸载重装。而且网上的很多教程也已经过时,有不少问题都是通过自己读日志解决的,明白了搜索引擎推荐的答案只能解决大多数人的问题,而我不能保证自己是这大多数。在安装sonarqube后发现它需要使用maven,又是一个只听过概念的东西。花了一天学习后发现用它来管理java项目简直太方便了,尤其是各种依赖,再也不用刀出下载jar包了。
经过暗无天日的两天终于完成了调试,可以在jenkins页面完成自动化构建和查看代码检查结果了,程序跑起来后确实有种黑魔法的感觉。在这个过程中也解锁了IDEA的各种功能,不再局限于简单的build&run,用起来越来越得心应手了。环境配好后写了全流程文档,可以拿去造福mac用户了。
之后就是一直做到现在的挡板工程,感谢当年web开发的蹂躏,SpringMVC捡起来还是相当快的。这次额外整合了MyBatis,用起来比JDBC快很多,但也有不少坑。需要注意的是在和maven整合的时候一定要符合maven标准,不然会出现很多神仙bug。经过一通调试整合到了jenkins,可以一键部署到服务器上,至此挡板工程server部分完成。学完这些东西,觉得自己对工程开发有了更深的理解,下一步是完成挡板工程的client部分和学习docekr。
“实训2019”栏目更多内容:
往期推送
实训2019 | 实训第一周,来看我们的风采!
实训2019 | 数据资源中心与天津大学智能与计算学部2019年实训生开班仪式顺利举行
图文来源:智算学部2016级软工学生
图文编辑:杜乃瑞
责任编辑:梁绍楠