距离2018年那个毕业的夏天,现在正好有三年了。个人这三年最大的收获应该就是成长,渐渐有了比较明确的方向。
第一年算是适应职场吧,不能说什么都没学到,但是的确忙忙碌碌过的不开心。
毫无征兆的出差
杭州读的大学,入职了一家杭州比较“体面”的公司,还没入职就租好了公司附近的房子。然而刚结束应届生不到两周的集训,直接派到北方长期出差。中介费和退租这里好多小伙伴都吃了不少亏…
复杂的金融业务
做的项目都是金融的项目,需求文档、技术白皮书等都是500多页的,一星期就看完理解术语真的很累,而且还不能完成做到吃透。这无疑让工作的难度提升很多。不过经历这样多个项目后,对需求文档的阅读理解速度、程度都有了不少的提升。
无休止的加班
这个是这行业大概没法完全避免的,不过像这样程度的不健康的加班的确也不是特别多。早上9点到晚上12点(晚上的时间可能在更后面),周末有时一天有时两天的。甚至国庆、清明、端午加班,还可能在法定工作日被“义务”加班。
职场PUA
在听说这个PUA这个词之前,我完全不清楚自己在什么处境。我的直接领导兼导师,称其为A吧。其定位是“专家”,一个30出头的油腻中年男子。称呼大伙都是“兄弟”,每当吃完晚饭,就说:“兄弟们,我们晚上一起来过个XXX”。做的好的时候会夸几句,到了快评定绩效的时候就会各种不对。
水土不服
北方冬天外面的严寒,内部干燥,导致每天流数次鼻血。这也是我想尽快回南方的重要原因。。。
资本逐利无情,应届生应该是他们最好的工具,基本没有反抗的发言权(家里有矿有底气的除外咯~)。加班加到死,在这种出差的项目部培养就别想了。这也是我后来转回产品部后,才知道每一个项目部的底层员工不过是其计算的成本而已,公司的归属感又不强,离职率都偏高。
总的来说,第一年难过的事情很多,学到的是快速入门项目需求、开发、测试、部署。当然,也荒废了很多技术。公司并不想你学到什么新技术,学到了新的技术你就会想走。这一年学到的技术,都是做项目的时候,项目经理B、外包大哥教的一点点。
第一年内做的最成功的一件事,就是几经波折,终于最后回到了产品部。感谢将我面试进公司,又在第一年的末尾将我调回产品部的C哥。其实在快满一年的时候,我去杭州其他公司找过工作。一年的经验,内部隔绝的技术,面试足以让我认清自己的不足。这时候我就坚信导师A说什么“技术不值钱,业务才值钱”的鬼话都是让人走上歪路的金句。
第二年仍是很艰苦,但是是我改变很大的一年。技术上的提升、文档编写的规范,跨部门的合作。
断崖式“降薪”
首先第一年结束时,导师A以及他的领导,为了将部门考核C的指标用我这个决心要走的人来填,故意卡了我两个月回杭州的时间,所以这一年的辛苦付出,得到的就是薪资原地踏步,比2019年入职的应届生10000还低上1500。其次,没有了出差每天130的补贴,还要在杭州自己租房。净到手其实比出差时少上一个月6000,感谢家里人的支持,没有在这件事上有任何阻挠。
体系的培养
刚回到公司时,新的直接领导L哥,安排我先给一个紧急交付的项目补上单元测试的代码。当时公司的要求是一个项目提测时,单元测试的覆盖率要达到50%。我仔细阅读需求、代码,并在编写过程不断咨询L哥。最后在提测前将覆盖率达到了80%+,并且在测试过程中,找到了大量Bug,这点大大的出乎了L哥的意料。在部门月会上,L哥对C哥进行反馈都很高。
度过了磨合期,认识了大部分部门里的同事,就开始了比较体系规范的培养。对于一个从C语言写的系统迁移到Java编写的系统,L哥安排我来从头开做。需求文档、设计文档的编写,以及他大花精力的评审指导。不过在这个项目开发周期到达一半时,又发生了其他变化。
多方面的资源
承上,同届同事H跳槽去了某快递公司。他负责的监控平台的开发、维护需要一个人接上。C哥首先就找到了我,询问了我的意见。C哥开口自然是赴汤蹈火!接上这个工作,对我是个挑战,需要学习公司整个微服务框架、分布式体系、网关、配置中心、日志中心等等的中间件也需要有一定深度的了解。当然,还有我至今都没完全补到位的前端工作。
但是,一定要承认这个岗位给我带来了很多资源。
纸上谈兵终是空谈,八股文背的再多没实际动手过也只能应付面试。项目对redis、zookeeper、mysql、linux、infuluxdb等的监控,以及遇到的问题都是普通业务系统接触不到的。还有就是各种刁钻的环境、生产问题。兼容不同的linux系统版本等等,以及出现的性能问题,内存溢出OOM等都是往高级工程师走的过程中,必须遇到解决的问题。直到我最后在这家公司离职时,我编写的内部报文转换平台的监视器优于研发中心提供的该监视器,向外推广使用时仍使用本人编写的。
如果只是写一个业务系统,也许接触的就是自己领导、一同开发的开发伙伴、测试阶段的测试人员。而这个项目,合作的就很多。许多业务系统希望自己的系统健康状况、业务出错告警能够实时地展示,就需要监控平台的协助。不仅如此,组内负责开发低码平台的技术大佬F的时常沟通,也令人受益匪浅。
监控平台作为平台级的支撑能力,多个银行也将其作为全行级的架构。其可用性、可靠性,以及使用它进行部署的Zookeeper、redis、es、mysql、业务系统等的集群的架构,都能一同去参与架构师的会议。当然跟随项目变更后我的直接领导S哥,也是部门总架,在评审设计文档时,经常会带着架构的问题。
第三年主要是“穷则思变”,薪资倒挂一整年后并没有得到很好的解决。在2020届应届生入职后,我基本下定决心要走了。在将两年的经历好好总结,以及补上一些八股文爱问的试题后,我很快入职了未曾出差过的甲方,薪资的涨幅有80%以上。业务的大变化,不再涉及资金的交易,需要理解一些大数据的术语、使用。
角色的转换
在甲方的公司工作,工作就不仅仅是开发了,面对大量任务,还要合理的分配给外包大哥们,以及兜底的责任。甚至有时候会几周你的开发任务都会全部分配给他人,但是兜底测试、代码评审等工作下来,还会更累。
关注点更清晰
事情很多,但是我们精力有限。就可以将重要的事情自己处理,也算是加速自己提升的一个方式。比如只关心系统中最核心的几个交易流程。关注非功能性需求,性能的问题,安全的问题。
需求上的自由
我提的需求,并不是说可以拒绝业务部门提出的需求,而是可以对自己的系统提意见,仅仅说服自己的直接领导,就可以进行排期进行。比如当前项目会配置上百近千个页面,而且仅仅是起步阶段,竟然没有导入导出功能?!
更多人文情怀
甲方的压力整体来说没有乙方那么大,会安排金融学培训等等,是真的有在关心员工的生活质量,技能的提升。
整体来说,第三年除了最初一段时间的适应新公司。整体的学习也没有落下,在新公司也学到了更多东西,参与了更大的项目。虽然忙,但是幸福感提升很多。
前三年提升的主要是开发上的技能,获得了阅读源码的能力。对开源的Tomcat、Skywalking进行过深入的源码学习。并且对jdk、spring的源码进行知识点式的学习。而且也知道了架构师的工作内容,思考的一些角度。
接下来的数年内:
争取做到两年后能够在性能优化上有自己的方法论。三到五年内转型架构。
分享一句话:不会做运维的开发不是好架构。