前言 今天专访的这位前端,在早读君刚入行的时候就听过这个名字,而且也是看着他的博客学习成长的。当初约他做专访的时候还是会有点小期待的,那么我们就来看看关于他的前端之旅。 正文从这开始~ 自我介绍,以及现在所服务的公司 我是张克军,一般用名字的拼写“Kejun”出没在社区里。工作在豆瓣。 详细介绍下自己从事前端的经历,这过程中你是如何学习的?有没有遇到瓶颈过,有的话,如何去突破。 我专业是学计算机网络的,架局域网什么的。大概98年左右,那段时间混图书馆,看电脑报上介绍用Dreamweaver做动画, 引起我的兴趣。做一个个人网站玩玩吧,于是就这样上道了。 那时候主要精力是在设计上,那个时代叫“网页制作”是很准确的,是“制作”,不是“编程”。现在回顾,这种背景决定我最终是产品、设计向的前端工程师,不太可能成长为语言专家或极客。这个阶段大量做网站,自己的、学校的、外包的、参加比赛等等,生活一度小富裕(哈)。另一方面也培养了耐心,做一个东西常常没有捷径,忍受过程,享受结果。周围同学很多不懈学这种低技术含量和需要付出枯燥劳作的东西,而我乐在其中。 02年第一份正式工作是在亚商在线(不存在了)做网页制作,可能表现出很高的性价比,带动了学校的就业分配(哈)。直到现在工作上,我也是很看重和追求效率。干了两年多去了一家用.net的公司。兴趣是很奇怪的东西,总是潜移默化拉着你走,最终还是不喜欢干后端的工作,05年去了1拍(新浪和雅虎合资的)。 1拍的工程师来自雅虎中国,其中有一位工程师Anson(现在是宝贝树的CTO)对我影响极大,向我输入了很多很新的来自雅虎美国的技术资讯,其中有一个是革命性的-Ajax。 05年底雅虎中国被阿里并购,我正式转到雅虎中国,地理上是从王府井转到土的多的光华路,但技术上使我与雅虎美国的前端技术更靠近了。雅虎的内部技术交流非常活跃,我在后台可以看到很多很系统的技术资料。那个时候还是Blog时代,国内的开发者要了解新技术,主要靠国内前端第一批Blogger的搬运,像陈贤安、嗷嗷等。雅虎时期,最直接影响我的人是Hedger,他后来也数次来国内分享,是国内前端界的老朋友。他是用代码说话的人,满脑子前端黑魔法,极富个人魅力,直到现在也是我的偶像(哈)。由于算是阿里系了,跟淘宝关系紧密。那时淘宝前端的负责人是承志(后来蘑菇街的创始人),这家伙才华横溢,我们经常一起交流。后来证明他其实是更优秀的产品经理(哈)。 回顾一下这个时期,好比从沟壑上到山峰看到更广阔的风景,有幸遇到很多极富才华又很nice的人直接影响了我。我觉得对于新人的借鉴是,刚毕业先别急于进高大上的公司,先进一个限制小、能更全面实践技术的公司,然后,再找一个更大更专业的平台,跟比自己有才华的人共事。 09年去了豆瓣。豆瓣没有明确的角色边界和刻板的流程。前、后端在开发上配合非常紧密。前端工程师做为一种中间角色,即要有能力弥补设计上的不足,又要会写一些Python,尽可能独立解决问题。豆瓣发展到三、四百人时,豆瓣的前端团队最多也没超过15人,如果说优秀工程师的生产力是平庸工程师的10倍,没那么优秀5倍也够了(哈)。角色之间的协作效率才是影响开发效率的主因,通过加人可以解决一时的问题,但慢慢会变得臃肿难以逆转。我在豆瓣写的代码是在雅虎的n倍,参与了很多项目,在这个过程中,有机会与不同优秀工程师合作受益匪浅。学学其它语言有助于建立更多维的编程思想。比如要深刻理解函数式编程,最好学学Haskell。 何时出现瓶颈取决于视野,当看不到发展方向和趋势时,便会苦于没有突破。结合我的经历,有三个明显结点:
在所服务的公司中,哪一个公司对你影响最大。为什么? 影响最大的是雅虎,提升最大的是豆瓣。现在雅虎没落了,十年前还是未代王者。技术和设计,特别讲究从理念到方法论的体系性。目的是只要招一个不傻、好学的人,通过这些东西就可以快速培育成符合企业特点的人才。国内的壕公司,这方面做的还不够。豆瓣是一家追求产品创新的公司,如果个人意愿强可以参与各类项目的开发,应用各种新技术也没什么限制。这种环境非常有利于工程师成长。从2014年初开始孵化一拍一这个项目,在产品设计、商业方面有了不同程度的经验的积累,是我想超越工程师局限获得的成长。 对刚入门的前端,你有什么好的建议呢?在技术的深广度上如何考虑呢? 从前面我的个人经历出发,建议是:要先耐的住两三年的菜鸟期(T1),这个阶段“广”最重要,“广”有两方面,一是全面掌握CSS/HTML/JavaScript的基础知识,二是广泛接收各种技术、思想,尽可能多的实践,多写代码,多有体会。书只是陈述技术是什么,无法告诉你什么场景下应该用什么、怎么用。然后是成熟期(T2),可以从容的驾驭足够复杂的项目,这个阶段多看代码比较重要,多做思考和总结。最后是创造期(T3),能造“新轮子”,能攻坚难题。我个人更看重技术在产品上的创新应用。 对你的了解,你现在在豆瓣参与了一拍一的项目,按你的理解,前端工程师的职业规划可以有哪些可能呢? 前端工程师如何发展其实非常不明确。只能说目前有几种可能性,一是成为专家,我感觉Hax还没老过四十吧,有机会跟他聊聊四十岁后有何打算。专家估计会转型为团队Leader,发挥经验和判断力。二是成为极客,超越前面提到的T3,追求T3 或T4。同样到四十岁后,可以创业、可以带团队。三是成为自由开发者,写出个爆款App就真正自由了。四是转行,转产品经理、转设计、转后端皆有可能,取决个人能力。不过没准哪天公司上市、彩票中奖就不用烦恼职业规划的问题了。 作为国内前端的老司机,有哪些图书值得推荐阅读的呢? Zakas的“红皮书”不错,不过现要学ES2015/ES.next了。书看的不多,大家可以去搜一搜。 最后你可能还需要看看这篇:【第229期】写给初学前端工程师的一封信 后语 看完这篇,你有分享或提问的冲动吗?那么我们就来聊聊: 情侣是同行?你们觉得利弊在哪里?为什么~~ 早读君期待你们哦~~ 点赞数第一名的评论,将获得@人民邮电出版社异步社区赞助的《编写可维护的javascript》一本。时间截止到当日22点。 |
|