前言
我是一名大四的学生,来到磷光科技实习近2个月了,在这个段时间里,我比较大的感受有以下几点:
阅读源码
我入职的第一件工作是搭建环境、熟悉业务代码,然后在现有的代码上修改推送功能。当我把代码git clone到本地过后,看到一大堆文件,表示一脸懵逼。阅读源码可以说是程序员基本操作,但是像我这种还没怎么入门的程序员在入职前还没有读过任何项目的源码,所以最开始阅读起来真的是感觉痛苦,对各个文件用途、它们之间的关系表示一脸懵逼。
不过要是我现在来做这样一件事情肯定比较轻松了,毕竟有了一些经验。第一步,先把代码在本地安装运行,跑起来再说;第二步,找到项目的入口文件。从入口文件看起,找到各个路由,并结合运行的项目,在运行中看每一个路由的作用是什么;第三步,找一张纸,或者一个思维导图软件,把路由关系画下来,方便随时查看;第四步,仔细看数据库文件,找到各个表之间的关系,并用纸或者软件把它们的E-R图画下来;最后一步,看模块层的代码。这一步是最难的,需要静下心来细细的研究,看它是如何操作数据库的,看它是怎么被控制层调用的。在这一步中,你会发现项目的作者写代码的技巧。
阅读源码对于一个程序员来讲应该是极其重要的,毕竟三人行必有我师焉。在面试过程中,也经常会被问道一些常用框架源码是如何实现的。
远程实习
远程实习可以说是我们公司的一大特色。它让我脱离了每天上下班挤高峰的痛苦,每天按时按质完成自己的工作就行,让我有更多的时间去专注于学习和编程。
其实对于远程实习应该说并不是对于每个公司来讲都是好的。我之前在学校里面和同学一起弄了一个创业团队,我主管编程这一块。我们当时招纳了加上我一共8个人做编程。当时团队领导人想把团队的官网重构一下,安排我来做。我当时也是像远程实习这样,给小伙伴们分配任务,他们只需要按时完成就可以,但是总是有人不会按时完成任务导致工作进度拖得很慢,而且小伙伴不一定会及时回复我的消息,团队成员积极性很低,这让我感觉很消极。其实回想一下,我觉得原因可能有以下几点:
我分配任务的方式有问题,任务分配没有很细致和具体化;
没有完全考虑到他们的时间是否充裕,因为都是学生,有些课比较多,或者自己的事情比较多,就可能忙不过来;
没有给团队成员足够的努力动力,没有金钱或者其他的奖励机制;
团队的很多小伙伴不是团队的创始人员,他们并不能把团队的事当做自己真正想努力去做好的一件事。
总的来说,在远程实习中,成员积极性很重要,需要让成员把它当做自己的事来做。
实习对比
我今年(18年)参加了tap4fun(它是成都一家比较有名的互联网公司)为期一个多月的暑期夏令营。夏令营的形式是:四个人一组,在一个大的题目下,自己思考、研发出一款产品。我在我那一组里面做的是后端实习生。整个过程有淘汰,最终评比,然后留下一部分实习生。在tap4fun结束后,我就来到了磷光科技。我来说一下两个公司实习的对比感受吧。
- 工作压力。在tap4fun一共实习了三十多天,真正完整休息只有两天。其实按照规定,工作时间是965(感觉965还是很不错的),但是当时为大家为了能够留下来当正式员工,所以就不断的加班把自己的工作做好。一般早上九点半上班,晚上八点半走,在实习过程中真的感觉蛮累的,在一个位置上一待就是11个小时。在磷光科技是远程实习,而且每周分配的任务不多,在自己完成自己的任务后就可以自由安排,所以就比在tap4fun轻松多了。其实压力大也并不能说是一件坏事,想到自己能和自己的小伙伴一起做一款完整的产品出来也是一件比较有成就感的事。适当的压力能推动人的学习,只是不同的人承受压力的能力不一样。
- 工作资源。在tap4fun上班有饮料、水果这些,想吃就能吃。办公设备也很好,电脑是mac,显示屏应该至少有21寸,凳子这些也贼好,写起代码来还是很舒服的。每一周都有大神讲座,可以去学习、倾听。在磷光科技因为远程实习,所以办公环境这一块就是自己解决了。
- 工作指导。在tap4fun因为公司比较大,我们是在二楼办公,管理我们这个部门的人在四楼,假如碰到问题后,一般不容易能够去请教技术官给自己指导。而且每一阶段做完,只有评比,没有很多技术上的指导,不会给我们讲如何修复技术上的问题,都需要自己去学习完成修改,感觉他们并不是很重视技术,更多关注的是产品。在磷光科技实习,老大会review自己写的代码,会给出很多指导,能很好的帮助自己去改正自己犯下的错误,这一点上比tap4fun好很多。
- 努力天赋可见性。在tap4fun的实习过程中,让我比较沮丧的一件事情是,有些人真的很棒,但是被淘汰了。因为都是在项目的展示中去表现自己的团队,所以能言善辩的人很占优势,那些不善言辞的人,不能把自己实力表现出来让大家看到,容易被淘汰,但那些不善言辞的也有很多实力很强的,感觉很可惜。但是磷光科技,因为人比较少,经常相互沟通,不会因为这种情况而丢失人才。
两个公司各有各的好处吧,在tap4fun有一个大的平台供自己发展,在磷光科技有很人性化的管理。
收获成长
说实话我觉得我在磷光科技实习的这两个月并没有为目前实习的这个项目做多少事情,但是我觉得我收获了很多。我之前都是自己一个人写代码,一般都是仿照网上的代码去写,但是针对性都不强,而且没有具体在项目中使用,很多时候没有真正理解自己参考的代码的含义。
我觉得在磷光科技实习中让我感觉很棒的是有人指导,我之前写代码就是能把功能跑起来就完了,并不会管代码的架构和风格,也不知道自己的代码可维护性和可读性等如何。有规范的代码风格还是非常重要的。
结语
我觉得我很幸运能磷光科技实习这两个月,有一个做技术的老板比一个非技术出身的老板感觉好很多。希望我能为公司接下来的发展添砖加瓦。