在加入H社的三个月之后我相通了这样的道理:一个什么都做的很完美的公司,或许更不是一个什么都不完美的公司,因为前者让人失去了去改进的机会,而后者却给予了很多这样的机会。于是,我便在工作中,挤出一部分精力去做一些力所能及的改变。首先便从使用的GraphQL入手,通过调试发现存在着过度查询(Over fetching)的情况,某些查询代价较大的字段,明明没有出现在查询语句中,但是后台却仍然将其返回。于是我通过标注(Annotation),在Resolver层面讲字段和Thrift服务的参数进行映射,使得GraphQL被翻译程序Thrift请求时可以自动的附上请求字段的列表,在服务器端根据字段的列表可以选择性的返回字段,达到“减负”的目的。
春节期间利用闲暇时间,把公司的A/B测试系统进行了优化,这个优化也是我刚进入H社时最想改变的一点,然而遭到很多质疑的点,于是我在进公司提出的propse基础上做了退让,专注于解决最基本的痛点,加入了基于不同域名实行不同的分配(Bucketing)。在于现行系统并存的情况下一步一步的将功能发布了出来,在公司内获得了好评。
下一个十年从2009年第一次实习经历算起,一眨眼我已经做了十年的程序员。我也过了而立之年,眼看着行业里自己已经算年龄偏大的从业人员。
纵观我的程序员经历,从移动应用开发,到后端、前段,以及零星的DevOps和Release Engineering的经验,我觉的我自己是朝着“全才”的方向发展。然而全才意味着什么都懂一些,但是又说不上是哪个领域的专家。
近两年来在各种媒体上看到大龄程序员的囧境,时常会思考自己的以后的方向。我时常仍会关注国内程序员招岗的要求,发现大多数岗位还是需要领域专家的人才,而不是全才。我也时常会质疑自己,是否太过贪多嚼不烂。然而我最近似乎想通了一点,领域专家vs全才,两种人在这个行业都是被需要的,只是一般的岗位确实会需要你只会干某一样便可以。这并不意味着会的越多就没有施展的地方,在初期的创业公司,以及新成立的部门,这样的人才还是很有必要的。既然自己的兴趣在于了解和挑战不同的领域,不如索性就将其发展到极致。
下一个十年,我想我任会热爱程序员这个工作,我在现在的岗位上,便朝着填补我技能树上的空白努力,争取在下一份工作,可以将自己全部的所学都能够用上。