在点评这几年(一)——谈谈技术人员的眼界

2018-09-19 12:37:48 浏览数 (1)

https://my.oschina.net/flashsword/blog/524715?p=2&temp=1483676047880#blog-comments-list

摘要: 昨天从点评离职了,加入了一个创业团队。在点评三年,是我职业生涯重要的三年,有很多东西值得回味。

昨天从点评离职了,加入了一个创业团队。在点评三年,是我职业生涯重要的三年,有很多东西值得回味。我这个人总是有一种危机感,总是害怕自己的时光虚度,记下来之后会比较安心一点,所以就抽空写一写,这三年里发生的一些事吧。

第一个话题,想谈谈技术人员的眼界问题。

从我这几年的经历来看,对于技术人员,特别是新人来说,最重要的是眼界

来点评之前我刚毕业一年,之前在创新工场下面一个十来个技术的创业团队工作。虽然技术氛围已经很不错了,但是因为人手少,任务上基本上会分一块给你自己一个人做,交流不多。干了大约一年,因为女朋友工作的原因转来上海,就在这边找了点评的工作。当时其实自信满满,因为安排的需求都能顺利完成,还独立做过几个大的模块,觉得自己已经很不错了。

记得当时简历写的:“熟悉Spring等框架,熟悉MySQL,熟悉Redis、Memcached,熟悉JMS、Thrift等”,当然实际上呢,跟我现在见到的大部分面试者一样,停留在是在“知道怎么配置,怎么接API”的水平上。我当时跟很多人也是一个想法,觉得“公司招人是来干活的,知道这些东西,对干活又不会有帮助,会用不就够了吗?”

当时来点评面试我的是一个资深的架构师,他说的话现在都记得很清楚:“你说的这些精通的也不精通,熟悉的几个也不熟悉,不过看你的教育背景还可以,先过来干活吧”。

入职之后,才发现做事情原来可以有很多不同的方式。当时我们做邮件服务,一天要发上千万邮件,很大一个问题就是带宽问题。当时有个架构师跟我关系比较好,大家都叫他水哥。他还跟我讲邮件的Mime头是怎么回事,邮件有quoted-printable、7bit、8bit、base64这些编码方式。最后听从他的建议,将默认编码base64编码改为8bit,省下了1/4的带宽。到了这个时候,我才发现,技术的眼界对做事情的帮助,有时候是决定性的。

完成功能只是开始,有些技术问题,但是当业务规模和复杂度达到一定阶段后,才会出现

在点评我还做过一个DealService重构的项目。这个服务是团购的商品服务,基本上所有有团购的项目都要用到它。它有几百个依赖方,当时每日调用超过3亿,在当时的点评算是最大最复杂的服务之一了。这个服务可用性只有2个9,出现过好几次线上OOM,导致整个点评的团购业务瘫痪。刚开始接手项目的时候对JVM只有基本概念,也没有遇到过类似的事情。后来查阅了很多资料,咨询了很多人,也进行了很多的性能分析、调优的工作,最后将可用性又提高到了4个9。整个过程收获非常大,也让我知道了JVM的知识真不是拿来应付面试官而已。

我业余还参与了一些开源项目,有一件事让我印象深刻。我给HttpClient提过一个Patch,修复了Content-Type为GZIP时处理空body报错的问题,用到了一个装饰器模式。结果新版本Release的两天后,就有人反馈遇到了性能问题,每台机器50线程的时候,CPU使用从上个版本的20% 变成了100%。原因是我没有实现read(byte[])方法,而这个方法基类默认的实现是循环调用read(byte)去实现的。HttpClient是Java这个领域公认的No.1,有很大的用户量。这个Bug如果我自己用来抓抓数据,估计一辈子都不会发现。

阿里的中间件团队招聘启事这么写的:“我们的规模很大,能遇到的任何技术问题,我们都会遇到”,想想这个对于技术人员的诱惑确实挺大的。

眼界的提高,开始目标先是人,后面目标是事

有种说法叫做“你总要跟比你优秀的人一起工作”。在我看来,你未必需要跟他一起工作,但是知道有一个比你牛的人,他在做什么、他在关注什么,特别他对技术的追求是怎样的,是很有帮助的。

刚毕业的时候我什么都不懂,特别崇拜左耳朵耗子,他有一个博客叫“酷壳”,上面会讲很多技术知识,看完总能学到很多东西。后来我代码写得多了,又开始崇拜新浪的鸟哥这种既能写文章,又有开源项目的大牛。再后来开始研究JVM了,又开始关注莫枢这种对某个领域钻研特别人的人。follow他们的博客和微博都学到很多东西。

后来我写了一个开源项目WebMagic,然后一直维护这个项目,渐渐的也有不少star了,也给HttpClient、Jsoup、Struts这样的知名项目提过一些Patch,跟这些项目的创始人也发过邮件聊过问题。

再到后面,我发现这些人其实也是普通人,只不过比别人聪明一些(还不一定呢),努力一些,专注一些而已。

对于新人来说,什么都不懂,有个高手不停的指导,可以让他的知识快速的变得全面。到了后面,技术知识有了一定体系,就需要有一件值得坚持下去的事。现在回想起来,写自己开源项目的一年半是提高最快的一段时间,后面有空会讲讲怎么做自己的项目。

在技术之外

写了很多,其实我并没有觉得自己很厉害了。相反,在点评最近半年,没有感觉到眼界有所提高,让我不安,这也是我离开的原因之一。因为一直都是做业务开发,并非是纯技术的位置,所以这次想在技术之外,了解一个产品的运作背后的模式,团队如何组件,市场如何推广,流量如何运营,核心竞争力如何建立,这也是我加入一个创业公司的原因。

顺便打个广告,新公司正在招安卓工程师,进来之后你会是独挑大梁的那个因为现在一个都没有。融资已经就位,如果你和我一样,希望有机会从头开始折腾出一个完整的产品,并且上线达到一定规模,不妨联系我。

生命不息,折腾不止。

0 人点赞