.

97年自学编程的技术ldquo老炮儿

写在前面

Anlanyu,社交平台与应用线的一名TechLead,腾讯PCG新晋13级专家之一。一位自年开始,笔写代码、自学编程的技术“老炮儿”。年加入鹅厂后,从最初服务腾讯研究院创新孵化,到全程参与、支持QQ浏览器成长,再到QQ空间、QQ小程序/小游戏。让Anlan埋头走下来的,只是一句:“写代码很有意思,很有成就感”,这20年来,他对技术的纯粹热爱一直未变。当年在QQ空间时,业界缺少大型APP开发经验,Anlan和团队自己摸索出新路,不仅帮助业务平稳度过从百万级到千万级用户量的爆炸增长期,还探索出了如“安卓超级补丁包”等行业突破技术。在这一段洒满兴奋和憧憬的青春岁月中,Anlan感触最深的还是,从用户的视角看产品、看技术。技术不仅要探索前沿领域,更要为产品、为用户服务,脱离产品的技术是“无源之水”,技术同学要善用各方资源的合力,共同推动,将技术的价值发挥到极致。Anlan对技术鹅面临业务、产品紧迫需求的压力感同身受,在这种压力下,他认为更要学会提醒自己,即使被需求压满,也要跳脱出来,额外多想想。这既是对自己的技术追求负责,也是为团队的技术创新铺路。回归本心,Anlan坦言,不管怎样,还是先要守住自己技术追求的初心,耐心耕耘。项目的分分合合、起起落落都很正常,一定要沉住气。接纳不完美的自己,但接纳不代表“躺平”,仍要保持学习的兴趣与动力,在人生的不同阶段,去发挥自己最好的价值。眼下,他正处于想要突破产品瓶颈的“焦虑”和探索中。“互联网行业依然有无限可能,我们的事业才刚刚起步”。1.非科班出身,“自学”成才

Q:大学专业是“测绘工程”,为什么毕业后选择了计算机行业?从和代码结缘,这一路的技术成长,经历了怎样的过程?

Anlanyu:97年,我在高中计算机课上第一次接触编程,那时就萌发了兴趣,觉得编程是一件很有意思的事儿。大学时由于非计算机专业的缘故,可接触的教师和教材资源都很匮乏,基本靠自学,甚至用纸笔写代码。这一阶段是我的启蒙期。毕业后,还是放不下对写代码的喜欢,就选择了一份和计算机相关的工作,一直坚持写代码。直到年,我从武汉来到深圳,进入鹅厂,在腾讯研究院,参与QQ浏览器项目孵化。那时候,机器条件差、用户流量贵,都是当时面临的挑战,我们一直在研究怎样为用户省流量,怎样把性能做好,但当时业界的算法做得都不够清楚,缺乏参考,怎么做?那就从最基本的工作开始,自己阅读、学习协议,按照协议标准来不断地摸索尝试。这个阶段作为我在腾讯的起点,幸运赶上了无线互联网大潮,有很多机会可以去探索、实践,自己也迅速成长。年下半年,又调到QQ空间参与3.0版本的开发,这期间我面临的挑战主要是来自于用户。刚接手空间时,用户量不到几百万,后来逐步达到了千万级别,大量的用户反馈、投诉涌上来,压力随之而来。这段经历,我最深的体会,就是要学会用“用户思维”去思考技术和产品。当时,如何在手机上做一个大型APP,整个行业都缺乏经验,我们跑在了业界前列,没有竞品参考,只能摸着石头过河,比如要更深入技术底层技术内核,把第三方代码看透,做一些别人做不了、做不到的事情,来实现比竞品更强的性能、更好的体验。也是因此,习得了一些好的做事方法,做出了一些当时业界领先的成果,如安卓补丁包以及后续的安卓超级补丁包等技术。

Q:安卓补丁包技术诞生后,被认为是颠覆了安卓移动端的一种开发模式,现在回顾这项技术的突破,当时做对了什么?

Anlanyu:当时我们在思考这样的问题:大家在APP遇到问题的时候往往需要紧急发布版本,而发版成本又很高,那是否一定要以发布版本的形式来更新APP呢?团队研究了安卓的基础技术后,发现了一个机制,可以用来覆盖之前写的代码,我们就将其做成了补丁包。这项技术在公司内发挥了很大作用,团队对外分享后,各个厂商也都跟进使用这项技术成了大公司或者APP的标配,我们也算是开了业界先河。现在回顾来看做对了什么,我认为首先需要自己有一些敏感度,清楚我们要达成目标最需要解决的问题是什么?有没有另外的思路可以进入问题的关键点?进而对症下药;同时方案也要有创新性,对技术未来的发展方向能有一定的把握;最重要的是,想办法攻克这里面的技术难题。做到这三点,大致就能做出和别人不一样的事情。2.即使被需求压满,也要跳出来多想想

Q:这三点,听起来是功夫在平时积累而成,具体我们可以如何来训练自己?

Anlanyu:我们平时就要多多涉猎,培养自己技术的广度、敏感度和方向感。还是要有自己的技术追求,不能只是按部就班的每天埋头做需求,有时候需要跳出产品、技术本身想问题.比如想想如何提升团队的开发效率、APP的迭代效率,想想现在安卓所处的阶段和之前不同了,目前APP开发遇到的最大瓶颈在哪?这才是做创新的基础。当然,也可以多听取一下团队伙伴的意见,多


转载请注明:http://www.abachildren.com/hbyx/307.html