2019年终总结 2020新年展望
1、时间线如下
时间 | 日程 |
---|---|
4月15 | 大论文学院审核 |
4月19 | 大论文送审 |
4月中旬 | 小论文投递 |
5月中旬 | 去公司实习 |
5月下旬 | 毕业答辩 |
6月21 | 毕业典礼 |
7月1号 | 实习转试用期 |
8月中旬 | 小论文被录用 |
11月15号 | 试用期转正 |
2、毕业季 学业
大论文共修订了5稿,在第三稿时,将第三章的单点标定算法与第四章的隐式标定算法串起来了,这样大论文基本有了整体感,后面专家盲审的分数都在80分以上;
然后是小论文,就比较磕磕坎坎了,研二时写的《单点标定算法》小论文质量不过关被导师毙了,然后在大论文答辩后,写的第二篇小论文《隐式标定算法》,投的《计算机科学》。在4月中旬投稿,由于在6月初毕业季时杂志社还没消息回复,于是只拿了毕业证。7月底才拿到的录用通知,然后又缴纳了一笔加急费,终于在8月份论文发表了,9月份顺利拿到了学位证。至此,读书生涯告一段落。
教训:小论文准备得太迟了,一般国内小论文发表的周期在3个月以上,因此务必在答辩的3个月前投出去,如果不能确保会被录用,那就提前更长的时间。不要把前程置于危险的境地,要是在转正前没有拿到学位证,offer就没了,我是我们学院9月份毕业的唯一一个学生,全学院30多个学生被延毕半年。
3、初入职场
由于学校里没什么事了,就剩个毕业答辩,5月15号开始,去公司实习。具体在公司做了这些事情
时间 | 项目 | 价值 |
---|---|---|
6月~8月 | 对接运营需求:开发运营工具、提效工具(品牌下线,类目排序,打标查询工具等)、对已有代码的性能优化 | 各类工具顺利完成,解决了运营的部分痛点,对层级数据的导入方案写成专利 《一种对层级数据进行去重的方法、装置及介质》 |
9月~10月 | 上海项目:属性库重构,属性管理,属性库管理,天猫属性同步 | 价值:1、属性值id化,方便管理,2、拓展了属性、属性值数据量,3、属性添加了级别的概念 |
10月~12月 | 上海项目:类目属性重构,后台类目属性,协议类目属性。 | 价值:1、类目属性具有级别的概念,2、新增协议类目属性的概念,满足不同实例机构的个性化需求 |
初入职场的阵痛期大概持续了2个月,在学校实验室和在公司区别还是蛮大的,特别是用脑方面,感觉工作之初,在公司一天的用脑量抵得上在学校一周的时间,在公司每天都有晨会,汇报项目进度,在学校只需一周开一次会,最深的感觉是公司是大神很多,什么问题小组长啥都会,不像在学校,都是一帮菜鸟。后面适应公司节奏后,效率提升,整体就轻松了很多。
对比 | 实验室 | 工作 |
---|---|---|
作息 | 早9点到晚10点 | 早9点半到晚6点,一般加班加到9:15,打车报 |
工作强度 | 强度不大,白天看论文,写代码,晚上可以做自己的事情 | 强度极大,项目倒排,每天都得汇报进度 |
成就感 | 说实话,读研的成就感还没有考上研究生大,遇到问题没有可以解决的人,工作效率很低,踩不完坑 | 收获满满,进步神速,遇到问题卡壳10分钟,就可以去问大神 |
收获 | 收获的是理论知识,创新能力 | 收获的是实践技能,动手能力 |
4、2019年flag完成情况
2019年的flag: | 完成进度 | 备注 |
---|---|---|
1:每一到两周写一篇技术博客,内容以原创为主,主要是面向面试题的对技术的深入理解 | 这个完成量不足,时间全tm用在加班了,估计博客就写了10来篇,主要是开发过程中遇到的一些问题,例如stream流式计算,mysql的索引,NIO之类 | |
2:需要学习的技术:spring生态的深入理解,spring boot/spring cloud/mybatis plus并在项目中用上 | 1、springboot学完了教学视频,实际生产中也用上了,但是底层的源码,及设计模式还未掌握,得继续学习。2、对于微服务架构,公司使用的是阿里的dubbo,springcloud没有用上,后续还是得学习,与dubbo各方面进行对比,取长补短。3、mybatis plus用上了,并使用了一个mybatis插件,生成常用的代码,减少开发时间 | |
3、科研方面好好静下心来做,由于3月份左右就得提交论文,还有小论文得发表,接下来一段时间有得忙了; | over,我tm再也不用写论文了 | |
4、技术学习的最终路线:我想成为一名能独当一面的架构师 | 还远得很,慢慢来,先cover住需求,把自己负责的标准中心做深做精。 |
5、2020努力的方向
-
bug数据较多:全年bug数量79个,排名共享业务第八名;reopen 13个
原因:对下游业务了解不够充分,部分逻辑没考虑到;经验不足,不停踩坑,reopen全部发生在第三季度,原因是不熟悉联调提测流程,第四季度没有一例reopen
如何避免:多做code review,并请教经验丰富的同事 -
现在的状态是能够cover需求,有吃力感,也没有很多的时间停下来思考,担心的点:完成任务的同时有没有兼顾个人成长
延期原因: 对需求的时间、难度判断还需要提升开发项目估时不准,导致延期,开发效率还不足,正在为coding得又快又好而努力
如何避免:将任务更加细粒度的分解,每个小点单独估时;考虑问题全面,性能问题,下游业务的需求,历史数据的迁移都得考虑
如何兼顾个人成长:每天看一篇技术博客(专注于数据库,各类中间件,分布式架构),每两周写一篇技术博客,与小组交流讨论,提升技术深度与广度 -
假定明年让你独立拎标准中心, 你觉得你还差(工程、技术)在哪里?需要朝哪些方向努力并刻意练习的,能落地的点有哪些?
在工程方面需要提高的点:学习解决问题的思路和方法。多去解决问题,珍惜每一次线上的故障,看到问题到解决问题。越久的项目,坑越多,你不能让这些坑持续下去,不然会越做越累,给自己定个小目标,每个月解决一到两个坑点。
需要朝哪些方向努力并刻意练习的:数据库性能瓶颈分析,应急响应策略学习
能落地的点有哪些:第一步:做技术文档时全面考虑各种逻辑,历史数据的迁移;第二步:和业务方第一时间定义好接口,避免时间浪费,将好的设计思想用在自己的项目中;第三步:做好代码review,避免慢SQL等各类性能问题 -
技术栈的学习
技术 | 功能 | 学习途径 |
---|---|---|
canal | 用于mysql增量日志数据的订阅、消费和解析,阿里巴巴开发并开源 | b站+官网 |
elastic-job | 分布式任务调度框架,当当开源 | 官网+b站教学视频 |
rocket-mq | 处理高并发的消息流转,能处理万亿级别的消息 | b站教学视频+代码 |
6、程序员工作法(来自郑晔《10x 程序员工作法》)
1. 精力放在哪儿
设计算法、改进系统、优化系统等富有创造性和成就感的本职工作中
2、本质复杂度和偶然复杂度
本质复杂度:解决一个问题时:无论怎么都必须做的事情 eg:开发网站
偶然复杂度:因为选用的做事方法不当,而导致要多做的事。 eg:选用了错误工具
精力聚集在本质复杂度上,提高工作效率,摆脱直觉的束缚。
3、原则:
-
以终为始: 确定好真实目标
在工作的一开始就确定好自己的目标。我们需要看到的是真正的目标,而不是把别人交代给我们的工作当作目标 -
任务分解:找到实施路径
大目标拆分成一个一个可行的执行任务,工作分解得越细致,我们便越能更好地掌控工作 -
沟通反馈:解决与人打交道出现的问题
疏通与其他人交互的渠道。一方面,我们保证信息能够传达出去,减少因为理解偏差造成的工作疏漏;
另一方面,也要保证我们能够准确接收外部信息,以免因为自我感觉良好,阻碍了进步。 -
自动化:解决与机器打交道出现的问题。
是将繁琐的工作通过自动化的方式交给机器执行,这是我们程序员本职工作的一部分,我们擅长的是为其他人打造自动化的服务,但自己的工作却应用得不够,这也是我们工作中最值得优化的部分。
生命里没有人会一直陪伴你,陪伴你一个月、一年、十年都是你生命中经历的一部分。所以,对于生命中的匆匆过客,不要去纠缠过去,放眼将来。做最好的自己,等待你生命中的她出现时,才不会错过。弃我去者,昨日之日不可留。乱我心者,今日之日多烦忧