青训营后端基础班就这样在敲代码的声音中结束了。我现在回想起来,觉得自己确实在入营学习期间收获了一些东西。写这篇文章是为了总结一下我学到的东西以及给未来的自己树立一个目标。初入后端,对于很多问题的见识理解还尚且,还请读者多多见谅,轻点喷。
1 学到的硬实力 - 技术能力
个人以为后端基础班讲的内容还是很广的,录播课的专题包括了Go语言开发基础、TCP/HTTP等网络通信协议在服务端的应用、数据在内存/数据库/对象存储中的存放、消息队列、微服务和服务端网络安全。有时候一个专题会串联起多个计算机领域的知识:计算机网络、数据结构、操作系统等。有些时候想深挖一个课上的知识点的同时也将本科的计算机课程知识又回顾了一遍。然而在这一次次的查漏补缺中我对后端开发的理解也逐渐清晰起来。例如在学完《带你认识存储&数据库》这一课之后,我不仅对关系型数据库系统的发展历程有了更深的了解,还对相关领域如数据的分布式存储、非关系型数据库、大文本搜索等有了一些认识。
除了通过预习复习知识等使我的技术储备得到增长,字节内部课的主讲老师们还非常善于将理论概念与实际应用结合起来。这样不仅增加了我们观看课程时的趣味,还提供了让我们活学活用的机会。例如在《Redis - 大厂程序员是怎么用的》这一课中,主讲老师以掘金网站一些实用的小功能为例讲述了服务端是如何调用Redis来提供快速响应、高可靠的服务。这些一个个小案例就成了我锻炼使用Redis支持后端服务的基础。
2 学到的软实力 - 团队协作的经验
青训营一开始就明确了达到结营的两种条件。其中一种是至少发8篇掘金文章,另外一种选择是组队完成一个大项目并且发至少6篇掘金文章。秉持着原先入营时的“以获得项目经验为主”的目标,我毫不犹豫地选择了做大项目。然而要顺利完成一个大项目也是没有那么容易。俗话说遇到好的队友,项目就已经成功了一半。由于我是习惯自己担任组长,所以在大项目的组队上我主要费心的地方是如何遴选合适的队友。在这个问题上,我总结出的要点有三个。第一,(虽然这么说对小白们有点不客气)尽量选择已经有一定后端开发经验的同学,因为实际做项目的时候如果没有编程基础的话一边学一边做是来不及的。第二,当队友的技术素养和编程水平一定的时候,对项目的责任心和态度比学历更重要。第三,最好在招队友之前就对团队里的人员职责做好规划,比如controller熟悉的要有几人,MySQL以及数据库建模熟悉的要有几人。让大家的长处互补、互相照应,才是让队友的才能得到最大发挥。
3 给自己定一个小目标
青训营学习一个月,但是如果要走IT这条路却需要孜孜不倦地学习新知识。随着开源软件蔚然成风,新软件、新技术的更新换代越来越快。在这个快节奏的潮流中,我们仅仅跟随别人的脚步是不够的,还必须要做出自己的创新,就像字节内部的很多开发同学一样。他们除了完成正常的业务之外还致力于开发完善一些自研的软件和框架,使得很多优秀的开源项目得以被开发者使用到。我规划在未来的五年里,每一年都参与一个开源项目的开发,在技术的变革潮流中勇争潮头。