我是lan_cyl,现在是计算机专业的研究生。
本科的时候从C语言、数据结构和刷题开始,慢慢建立起封装函数、求解问题的感觉,并参加了几个国内的编程大赛,打下了一定的编码的基本功。
后来成功被老师忽悠,搞起了高大上的群智能算法的研究,先后出了三篇相关文章(有一篇是读研之后,作为我的毕业条件写的)。
研究生阶段就是做项目,刚来就是一个全新的项目,从最初的需求分析、数据库设计、详细设计,到之后代码框架搭建、相关模块开发、整合、测试,和客户沟通需求变更,到最后的部署、验收。就这样一步步成长起来,学到了项目开发的整体流程、代码框架的搭建、任务的分割、同学之间的协作、客户需求变更的沟通等等。
这时候技术上的目标就是设计模式、代码重构,但是沉不下心、急于求成,只是把相关知识过了一遍,过完基本也忘完了。再也回不到大一时候一个一个小编程题刷啊刷的时候了。
之后就开始负责项目啦。在一个原有的项目基础上,重新设计了整体功能和组织方式,相对于前一个项目,这个项目没有琢磨不透的需求,而且功能也不多,但是每一个功能都不会有现成的解决方案,一般都要设计多种方法,不断实验,找出最优的结果,这时候就觉得,哦,也许这才是研发。
之后又参与了一个电商平台的开发,主要负责了需求、数据设计和详细设计,代码开发就交给小学弟们咯。还有现在的无人船的项目,主要负责大框架的设计、可能实现方案的确定和组织小鲜肉们工作了。
马上就要找工作了,发现自己的短板在深入研究。研究生的多个项目,更多的都是着眼于满足用户需求、把握项目的模块甚至项目的整体框架、使用现有的工具多快好省的解决问题,并没有对一门技术进行过深耕。
于是赶紧拉出个博客,进行深耕:Linux系统、JVM、STL源码、其他框架源码。毕竟知识能用自己的话讲出来才是自己的
Live long and prosper