15年后半段
经历了A公司的大换血,自己也因为换血,有了机会站出来承担更多事情。 招聘,新团队建设,团队协作,在一个新旧交替的混乱时间段里,顶着压力做了一些事情,加了一些班。 填平了一些以前业务留下的坑,印象特别深刻的是有一个地图偏移的bug遗留了几个月,在我接手之后花了一天半解决了(《(高德地图)marker定位 bug 解决总结 》),当时很有成就感。 愿意主动去承担事情,主动去解决一些问题,这对个人成长是很有帮助的,并不是所有人都愿意非常主动的做事的,保持个人能力的快速成长需要让自己一直保持在一个有压力有挑战的节奏中,如果有这种机会一定不能放过。
犯错是难免的,也不算坏事,当时自己低估了工作量,导致项目延期,开发的前期没有抓紧,看起来页面都出来了,但是后来慢慢发现交互和数据的处理工作量远大于我的预期,这是经验和意识的问题。最后我总结我犯错的几个原因:
①业务复杂度低估
②前后端接口约定不合理
③采用不熟悉的框架
(1)业务复杂度低估:
一个稍微比较复杂的项目不一定是页面多,表单多,它可能是一个表面看起来不复杂的页面,但是所有的玄机都藏在你做的每一步操作的过程中。同时你要做的是完全掌握需求,了解一层一层的关系,甚至你还得纠错,要彻底搞懂需求,需要不断的找到产品询问目的和缘由。当时我做的产品几乎是没有例子可以抄袭和想象的,业务复杂度在做技术预演的时候难以想象,技术预演的经验也不多,做的也不到位。
(2)前后端接口约定不合理:
后端接口功能是尽可能单一,我要做一个事情可能会同步处理和调用很多接口,在单页面应用里,这样做的结果导致数据渲染就变得异常的麻烦。后端可以省很多事情,但是工作量移交给了前端,本身在单页面应用里,前端的工作量就比较大(项目的前后端配比是1:1, 只有1个前端和1个后端)。
(3)采用不熟悉的框架:
对于angular框架那时也是边做边深入学习,架子也是自己搭起慢慢优化的《angular项目总结——angular + browserify + gulp + bower + less 架构分享》,确实会踩很多坑,常常会卡在某些地方浪费开发时间。
不熟悉框架,不熟悉业务难度,犯了开发大忌。 最终的结果是,项目延期,自己主动积极做的事情没有做好,得不到上级的认可。 当然一件事情没做好也不完全是我的原因,但不得不承认主要责任在我这里(项目开发和进度把控我是主要负责人)。 经历过那次延期以后,后来有经验了,开发前期抓紧往前面赶,技术排期评估也尽量不出风险的情况下尽量保证速度(上面都希望快)。 这里说一点自己觉得很不爽的地方,每次做技术预演和排期之后,需要和团队过一次评审,leader可能会觉得这里很简单,你说两天做完,他就说一天做完,多么简单之类的话。 然而有时候就算是leader觉得多么简单之类,他如果去做也真不能按时做完。 如果对方是一个工作年限稍微长一点的技术,评估出来和我差不多的排期,leader可能就不会说这种话了,这确实是一个信任的原因,这种事情有时候反射出来的问题会很复杂,不是一两句就能说清楚的。 对于个人而言,在前期可能造成了对方的不信任,导致惯性的被否定,需要想办法或者做出更好的事情逆转自己的境遇。
一个人的推动力是很重要的,事情不是自己一个人就都能搞定的,如何推动一件事,推动团队协作,这是一个长期都会存在的挑战,团队每个人的性格都不一样,事情也时而不如人意,常常你可能会觉得困难重重,可能是事情本身的难度和曲线,可能是没有得到充分的帮助和支持。 这个时间段我接触了很多对我来说比较新的事物,也思考过出现问题的原因,个人能力和经验所限做不到游刃有余,也算做的不及格,对团队而言我是失败的,对个人而言却是成长中重要的一大步。可悲的不是犯错,而是你没有犯错的机会,我很庆幸这些经历。
16年初
可是一切都不那么平静,A公司内部斗争太多,眼见技术团队才稍微稳定一点,上任半年的CTO离职,我提出的涨薪搁置已经半年了,中间经历几次交流仍然没有结果,涨薪的事情牵扯到一些上层的内部斗争和公司对技术部门的不满,当然也有我的问题。
春节之后开年,我加大涨薪事情的推动力度,可是要离职的cto说他没有办法了。 也由于当时在A公司干活感觉越来越没意思,公司的一些问题和技术氛围自己也是有点不满意,而且明显能感觉到待着这里没有更大的提升空间了,所以就准备离职。 我先提出了离职,cto劝我先别裸辞,但我觉得要离职就早点走,免得浪费时间,工作肯定是有的,早点走早点去新公司。 然后我开始找工作了,后来拿了些offer,最后几乎选择了B公司,待遇也不错。
也许是自己在A公司待了1年,也算做了一些事情,掌握了一些业务,同事关系也很好,又一直觉得A公司比较有前途,所以脑子一发热,又主动去找ceo单独约谈了一次(我越级是因为当时也算是死马当活马医了),后来ceo把事情交给HR来处理,HR的意思是,我的上级说我去年表现不好,我要求涨薪的事情不足以服众什么的,其实也说的过去,我也接受(其实也是勉强接受,明明知道自己的付出与收入并不正比)。 后来的结果就是先考察3个月,如果考察结果合格就涨到多少,这事就属于hr ceo和我三个人之间的约定。 我就接受了,当然女朋友包括身边的朋友都说你别信这个,肯定不可能,我觉得万事还是做下去才知道,而且自己确实也舍不得离开A公司。
B公司的入职我打电话推掉了,后面的3个月,我确实表现也不错,直属leader们都很认可。 然而约定好的时间已经到了,HR似乎忘记这个事情了,我等待了几天之后终于忍不住去找HR,果然HR已经忘记了这个事情。 已经是16年6月中旬了,HR当时承诺的涨幅,她自己都不记得了,她说她没答应我那个数字,而且她现在又变卦了,当时信口承诺的事情,现在说公司财务要求人力资源出涨薪制度,现在HR正在出制度,但是要9月才能实行,并且最高涨幅20%( 为什么在一个创业的互联网公司里HR和财务权利能这么大?)。也就是说9月才能给我涨,数字也有限,之前的承诺作废。 HR还说,这是没有办法的事情,她说9月给我涨一次,开年再给我涨一次会尽力弥补我的。 我觉得恶心,也觉得这是一种侮辱。 事已至此,我知道怪谁也没有意义,我也不后悔有这3个月,至少我做好了,如果是年初那会离职还可以算是夹着尾巴跑的,但是现在我可以挺着腰杆离开。 既然是CEO hr和我三个人之间的协议,我完全可以找到CEO说这个事情的,但是我已经觉得没必要了,有些事情可能也真不是那么简单。 到此为止,涨薪的事情已经快1年没有结果了。 创业公司这样内耗下去,对公司挺伤的,事实证明A公司一直都这样在内耗中前行。我想到了15年中旬的大换血,我想到了那一个个我佩服但也离去的老员工。
16年下半年新开始
某叶入职了我之前拿到offer的B公司,他来A公司面试的时候我们认识的,我面试过他(实际是被面试),也是缘分他进到B公司,是我3月去B公司面试时候,把他的联系方式给到B公司,因为那会他正在找工作。我俩心心相印,情不自禁,然后我又通过内推来B公司入职了,B公司也就是我现在的公司,非常感谢没有因为我之前毁约而拒我于门外,公司接纳了我。
新的开始,应该做的更好,全身心投入另一种工作环境,从0开始融入一个新的团队。 有了之前的经验和经历,做事情变得更顺畅了,熟悉业务,做更多的事情。 16年这后半段学到了很多东西,做了很多有挑战的事情:活动模板《组件化h5活动模板的实现》, 直播《h5直播开发之旅总结》, websocket《初探和实现websocket心跳重连》, 微信小应用《从一个程序员的角度看——微信小应用(含内部分享直播)》, 学着维护和开发部分PHP应用层程序, 招人等等, 当然也加了不少班~ 公司经常组织踢足球,打篮球,加强锻炼,体育活动中让人充满了活力。 下半年充斥着忙碌和快乐,得到了更多能力提升的机会。
情绪波动,压抑的情况同样也不少发生,接手旧业务的压力(害怕改出问题,需要想各种办法了解业务),多项目并行的压力,事情太多沟通的成本压力,新技术的不可控性,移动端的兼容性等等。 个人能力上来说仍然还有很大一部分可提升空间。
幸运的是拥有一个很棒的leader,带动团队学习,“抢” 活儿干,给予大家肯定和回报。 工作两年多,遇到过两个很不错的leader,他们都有一些很重要的特点: 不光是要指出同伴的问题,更多的是去引导,去带动,去相互促进;愿意耐心接受合理的建议;给你自由的发挥空间,给你应得的报酬,为团队为公司提供更多支持,建立一个良性的工作空间。这一切也在深深的影响着、慢慢的覆盖着整个团队以及整个公司。 所以选择一个好的老大,也是非常重要的。
写在最后
还有一个多月16年就结束了,今年的目标也基本实现了。A公司困扰我许久的问题,也算是在跌跌撞撞中解决了,或者说结束了。我离职A公司一个月之后,听说A公司的HR也离职了,这之间的种种耐人寻味,一句感叹: 做人还是要对别人好一点。
那么现在,得想想明年的计划了。 just do IT !