2019年工作总结

 

毕业接近一年了,今天没有刷题的兴趣,就打算看看趁着打折买的积灰已久的技术书籍,突然间翻到了一本《程序员修炼之道——从小工到专家》,看了书的前言,想着对自己一年的工作进行一个阶段性总结,深刻认识自己,以便更好地规划未来。

从最近很火的一个事说起把,杨振宁在国科大开讲座的时候,有个搞高能的学生问,为什么反对建大型电子对撞机(CEPC)?杨先生的回答中有一句话很是触动, “The party is over!”,想起当年自己一心想着学核物理,怀着伟大的理想,想学习并掌握核技术,并为之奋斗。但是被一个学长半路把我拐进了粒子物理的小路去了,结果阴差阳错的学起了编程,粒子物理实验方向,据我目前的认知来看,就是写程序处理实验数据,分析数据,解释其中的物理。所以,当初参加国科大的粒子物理科创夏令营,前期做了非常多的准备,比如学习C++、Linux编程。后来由于自己的不上进,物理的科目考的越来越差,对物理学概念的理解也越来越模糊,甚至脑子里都没有一个清晰的物理模型,瞬间感觉自己不再适合干这个了,仅有的兴趣可能也就是编程了,并且当时是互联网的黄金时代。国科大的老师面试我的时候也直接问有没有考虑转个计算机。转行计算机的想法一直都在心底,只不过在大三的时候,已经彻底确定了而已。那个时间,天天往图书馆找计算机的书看,学校放计算机的书架,随便说本书,我都能指出其位置,八九不离十的样子,并且看到感兴趣的书都基本看看。虽然看的书非常多,但是自己实践的非常少,只是做了笔记,没有对书中所讲述的概念、技巧或者范例做一些实践,所以基本看过没几天也就忘了。当时主要是想往linux C++方向发展,所以看过的书中,现在还有印象的有《Unix环境编程》、《鸟哥的linux私房菜》、《动手写操作系统》、《操作系统真相还原》、《linux内核实践》、《C++模板编程》、《C++ primer》、《C++面向对象程序设计》等,也自己装过虚拟机,安装过linux 0.12版本的内核系统,读过Blos启动引导分区的汇编源码。虽然看得多,但是没有一个坚持下来的,基本都是走马观花过一遍,遇到搞不定的问题就跳过了,没有深入研究下去。这是我那个阶段做的不好的地方。后面快到大四了,就得准备秋招了,想着要整点项目,恰好有个朋友叫我帮忙做一些计算机专业的毕业设计,就顺手学了python,搞了个新闻爬虫,并做了模糊搜索。还有一些单片机控制的项目,算是准备了项目,想着不能让简历太难看。


        到大三秋招开始,首先投了华为,华为机试、面试也都过了,虽然机试成绩不咋样。据往届的学长们说,只要对1题,基本都稳了,但是奇怪的是,我那年华为开始缩招了,结果筛选的越来越严格了,我没能进入第一批签约的队伍,虽然后续有补录,给我打电话,但是当时实在太晚了,已经签其他公司,就没有后续了。幸运的是,正好苏州政府组织了个企业来学校招聘,抱着试一试的心态去笔试和面试了,想着毕竟自己也是苏州人,离家近,拿到offer后就没再去其他企业尝试了。没赶上华为的party可能是我的一个遗憾吧。


       大四有着非常多的空闲时间,就申请进入公司实习了,应聘的是C语言开发,结果进来后,发现自己分到了前端团队。当时也就了解过html的情况下,花了一个月的时间把CSS、HTML、JavaScript全部补上了,并且公司用的是EXT JS框架,把ExtJS的框架也了解学习了。当时任务也不是很多,后面也就分到了几个FR,几天时间也就开发完了,算是了解了软件开发的基本流程把。

      毕业后,入职公司,首先为期一个月的网络基础培训,当时虽然看过计算机网络,但是不实践,用的也少,基本也就忘光了。以现在来看,当时学的我也只能记个大概了,**这里立个小目标:把计算机网络相关知识在学一遍**,当时最有收获的是,学会了抓包、分析包、伪造包。wireshark,tcpdump等工具的使用。

      入职培训结束之后,进入正常的开发,当时正值老版本UI切换新版UI,老版本UI是用actionScript写的flash,需要切换成ExtJS网页。分到我头上一个规则表格的实现,主要功能有单元格编辑(类似Excel的单元格编辑效果),表格行拖拽等功能。开发周期是3个月,那段时间非常充实,每天思考怎么实现,如何实现,如何解决框架没法实现的功能,修改框架的源码、更改框架的行为。这三个月,我基本把ExtJS弄得非常熟练,看过很多Ext的源码,比如Ext模板的实现,Ext动画实现、Ext组件的生命周期,Ext公有方法,虽然自己也写了笔记,但是感觉自己理解的不是很透彻,想要深入浅出的用文笔表述出来,还是有点难度,所以也没写相应的技术博客来分享我的理解。

      后面项目就开发完成了,进入测试阶段,由于有一些人员变动,我负责了好几个不是自己开发的功能模块。每天bug数暴增,平均每周得解决50个bug,天天995,截至目前稳定阶段,我个人大概解决了将近400个bug。有疲惫也肯定有收获,由于需要修改别人写的代码,有些同学的代码非常晦涩,难于让人上手并且修改。这促使我思考如何写易于维护并且易懂的代码,而不是自己想当然的写或者说一定程序上的炫技。我开始考虑前端工程上的问题,前端开发规范,技术文档、项目架构都是我关注的一些点,具体的编码层面,如何编写易于维护的代码。当然,这些都应该是我需要去总结的,但是目前来看,暂时不想去整理,因为最近一段时间长时间加班,对这个项目充满了抵触心理,需要过段时间进行项目总结。

      截至目前,各个阶段基本都涵盖了。工作1年时间,我自认为,目前是Ext的熟练工,能实现某些特殊需求,基本的开发任务都能完成。需要提高的地方大概有这么几个:
1. 一个完整项目的软件开发流程、项目管理、项目架构并具体到细节层面,需要给出一份自己的技术总结。
2. 基础知识薄弱,经常写框架,就导致CSS练的太少,很多知识都是一知半解,需要巩固。ES6只用部分特性,需要自己在深入学习ES6。
3. 今年公司也有React项目了,需要把React开发掌握的跟Ext一样熟练。
4. 计算机基础知识的学习,主要是:计算机网络、数据库、编译原理。
5. 算法能力需要加强,刷题,主要是PAT、Uva、LeetCode的题目,并总结写笔记。

阶段性总结完毕,目前来看,目标还是非常宏大的,难度都不是很低。虽然可能说互联网的party is over!,但是如何让自己拥有参加下一次party的资格,这是我应该努力的,也是应该做的!

你可能感兴趣的:(经验杂谈)