在之前的文章中提到了我最近的回顾,侧重点在于每天的工作内容。其实,从入职到突然离职这整个快两年的工作周期内,我经历了如下的事情:
老项目维护(试探):刚进公司的时候,老的官网项目使用JSP写的,主要由后端主导。前端的工作只是写HTML以及CSS就行,JS上只是一些小的页面控制,工作量比较小。痛点在于,这个项目过老导致了CSS文件的耦合性非常的紧密,难以维护。
在框架的基础上增加功能:后来分配到了一个组主要是在liferay这个成熟的项目框架上构建功能(OKR),由于页面的HTML以及CSS无法控制,只能通过JS注入的方式来实现功能的增加,所以用到了大量的JS(主要是jQuery框架),整个组就只有两个后端一个前端,前端部分全部由我来实现。痛点在于,使用了闭源的框架导致了无法修改源码,开发上的阻碍过大。
老项目重构:官网项目由于需求的不断累加导致了不得不进行重构。具体重构流程从”不怎么重要的”售后开始练手,然后修改购物流程,最后修改首页和产品详情页,完成了初次的重构。由于这段时间不但要新使用以前不会的单页面前端框架(Vue.js整个体系),还要兼顾老项目的维护,工作量最为巨大,但是成长也十分快速。痛点在于,这种短平快的项目在需求设计以及UI设计之初就没有实现正确的项目流程,为了求稳,所有的需求都是参照老项目的代码。代码层的确重构了,但是”需求层”没有重构,导致了这次重构其实并没有获得高层的满意。
重构的扩展:在测试以及开发的努力下,项目上线后并没有较大问题,于是将重构进行扩展。具体扩展内容为增加H5页,个人中心页以及售后支持页。其中需要指出的是,H5页面只用了一个月开发,涉及到了之前的所有流程,任务量巨大。到个人中心的时候,还需要边开发边维护老项目以及之前重构的项目,最后也勉勉强强的上线了。之后的售后支持页比较简单。这个时候,对于开发、测试到上线的整体流程都非常熟悉,只是机械化的工作罢了。痛点就是需要维护多个页面,分散了较多精力。
第二次重构:之前的前端重构完成后一段时间组里又开展了后端的一些优化工作,前端这个时候任务量下降没啥事情。后来产品经理开始推新的一轮重构,由于”种种原因”,售后项目没有推起来,于是开始推动首页项目。这次重构需求更为复杂,基本上是做成了一个可配置的页面。复杂的配置页任务并没有分配给我(那个时候我在进行一些维护工作),最后我主要负责产品详情页面的展示。项目的痛点在于任务并没有进行比较清晰的分配,导致了耗费了一些无用的工作量。
离职前夕:18年很长一段时间的币价在下跌,导致了公司一整年也没有赚到多少钱。再加上年中的大量招人导致了公司的用人成本急剧上升。最为致命的是公司体量大,涵盖了研发、物料采购、生产、售后的一套流程,每一个流程都会耗费大量的资金,以及存在难以追查的黑幕。最终导致了公司的裁员浪潮。由于前端属于”资源池“,在需求链中属于末置位,不可替代性弱,最终导致了自己的被裁员。
总的来说,我在上家公司里经历了差不多有两次的项目循环周期,学到了很多东西。唯一的遗憾在于下班后的时间一直没有好好利用来提高自己,也没有懂得进一步扩展自己的圈子。这次被裁是一种提醒,也是一次机遇。希望下次也能进入这种福利好,管理扁平的公司。
一个公司肯定会有大大小小的问题,作为个体如何明哲保身?主要需要能够获取信息资源,培养自己的能力资源。做任何职业都需要这两种资源,可能在不同阶段这两类资源的侧重点不同。我的理解是,信息资源需要有广阔的交友圈子,能够通过各种方式获取自己想要的信息。能力资源需要自己能够让人将事情分配给自己,并能将事情做好。前者需要时间以及阅历,后者需要通过持续的自我学习来加以提高。
离职后的Gap期内,四个月主要在忙以下的事情:
* 1月11日-4月15日:算法课程四个section大致完成,学到了大量的算法技巧和解题思路,题目比较难;
* 2月6日-4月6日:Udacity后端课程,主要是SQL、部署以及Flask框架等知识;
* 2月15日-5月12日:TOFEL课程,老师和同学都很不错,学到了很多;
之前基本的作息时间是:
* 9:00起(上课的话6:30起)
* 通常学习时间:上午10:00-12:00,下午3:00-5:30,晚上7:00到9:00(之后会加长)
* 凌晨1点睡
期间经历了好多次面试。目前除了准备语言(重点)和申请之外,正在进一步提高JS技能以满足社会需求以及补充计算机基础知识,之后需要更加努力。