图灵访谈|鹅厂专家李成熙:做好规划,才能事半功倍

turingbooks turingbooks     2023-01-04     551

关键词:

李成熙,腾讯 AlloyTeam 成员,现腾讯文档 DOC 技术负责人。毕业于香港中文大学,历任 Shopee 金融商家业务前端负责人、腾讯云云开发团队架构师,先后负责过小程序云开发、QQ Web 应用等业务。曾担任 JSConf.Asia、掘金开发者大会、AlloyTeam Conf 等技术会议的演讲嘉宾。擅长前端性能优化、工程化以及小程序云服务等相关技术。著有《小程序开发原理与实战》

#1 技术成长之路

Q1:记得你毕业之初并没有想过要成为一位前端开发工程师,那么是什么样的机缘巧合,使你下定决心走上前端开发这条路?

高考之后,我赴香港中文大学修读商科,本来读的是比较适合香港当地就业环境的一个专业,但是我当时受到了国内互联网移动化浪潮的影响,对互联网相关的技术相当感兴趣,一度想读完大学就创业,所以就苦苦修炼计算机相关技能。在这个过程当中,把前后台的活都揽下来了。可能因为接触前端技术多一些,也对可视化、交互相关的技术更感兴趣,所以后来做前端相关的技术就越来越多了。

毕业的时候,我根据自身的兴趣与能力,有意识地去投递前端相关的岗位。当时在北京投了 5 家公司的实习,分别是百度、新浪微博、网易、豆瓣和搜狐,最终拿到了 4 个 Offer,这也加强了我从事前端技术的信心。在实习的时候,无意中看到了腾讯 AlloyTeam 的博客,加入了 AlloyTeam 团队的 QQ 群,看到 AlloyTeam 的许多开源作品与优秀的技术文章,觉得这个团队相当厉害,于是就丢了一份简历到群里。那时其实已经过了招聘期,就是赌一下有没有补招,幸运的是,团队还有补招名额,而且还是被 AlloyTeam 团队的老大(现在是我的直属老板)于涛捞起了简历,于是就这样阴差阳错地在腾讯开始了我的互联网梦。             

Q2:在学习前端技术的过程中,一般会遇到哪些方面的困难,你是如何应对的?

前端学习通常会遇到两个主要困难,一个是化杂为简,另一个是找方向 。

化杂为简。由于前端是一个相对庞杂、也相对新颖的技术领域,不仅要了解 JavaScript、 HTML、CSS “三剑客”,了解不同运行端(浏览器端、小程序端等等),还要定期了解每年不停更新的技术。所以,面对这么庞杂的知识体系,最好有自己的知识库存或者脑图存储自己的知识体系,定期去回顾。另外,也可以定期阅读一些国内外的技术周刊,比如我跟朋友一起创立的“印记中文”社区,公众号会将海外的 JavaScript Weekly, React Weekly 的摘要内容,翻译并推送给我们的粉丝。

(“印记中文”公众号)

找方向,是指在前端这么纷繁复杂的知识海洋里,找到自己的一个方向,花上 1W 小时钻研,并成为这方面的专家。刚毕业的时候,我对该往哪里学没什么方向,甚至也不知道前端有哪些方向,后面接触得多了,大概知道前端有交互体验、工程化、Node.js、可视化等方向,在做的过程中对工程化以及性能优化更感兴趣一些,所以在做项目的过程中,就刻意地多承担这方面的任务,并参与一些开源项目的建设,比如 webpack 中文官网的翻译,一些 webpack 插件的贡献等等,慢慢地就成为团队中不可或缺的工程效率专家,帮团队解决各种各样工程效率的问题。

(印记中文翻译的第一个技术文档,webpack)

Q3: 前端开发工程师的学习路线或技术成长路线一般是怎样的?是成为全栈开发工程师吗?还是转技术管理?

前端工程师可以走专业路线,或者管理路线。

专业路线就是要在某个领域成为团队最绝对的核心,最厉害的大神,主要是往深度钻研。有的人可能会说全栈工程师是不是也是另一个方向。其实全栈工程师可能对于中心团队来说更需要,而且,囿于人的精力有限,也无法做到所有专精,会导致很多事情浅尝辄止,只能适应业务简单的迭代,无法解决更高级、更深层次的技术问题。因此我个人觉得,一个公司、一个业务对全栈工程师的需求,只是阶段性的——在业务要快速迭代过程中,需要先快速解决业务落地与生存问题。在大公司,更希望是精专。不过也并不是希望每个人只局限于自己领域的一亩三分地,稍微拓展一下自己的边界,可能对自己的领域会带来新的见解,会有新的创新。

管理路线,并不是说把代码丢弃掉,纯管理,而是对技术的涉猎要有一到两个领域拿得出手,但对其余领域都有所涉猎。否则如果一线的技术管理者无法理解技术,丢弃了代码,可能就无法给团队比较好的技术建议以及合理的人力安排。

#2 职业规划与团队管理

Q1:你管理团队非常有经验,无论是之前在 AlloyTeam、腾讯云云开发团队、Shopee Airpay,还是后来在腾讯文档团队,都展现了极其优秀的管理才能。能否分享一下你是如何一步步成为一位优秀的资深技术 Leader的?

从事管理,是我一直以来的兴趣,所以比较有意识地逐步去锻炼自己的管理能力和组织能力。

首先,是责任心和荣誉感。这是管理者和领袖最基本的特质,也是比一般成员要更强的地方。因为领袖需要为团队的结果负责(许多公司的线上事故,管理者都需要负上连带的管理责任),因此管理者的责任心要非常强。如果缺乏这些方面的能力,即使在专业能力、项目推动能力上比较强,可能也不太适合成为一位管理者,不过可以通过其他的角色定位为团队做贡献。

其次,是专业能力。尤其是一线的管理者,是要在一线带队作战的,很多战术任务都需要由一线管理者亲自布置,指明技术方向,指导技术难题,拆解技术任务。一个出色的管理者,在专业技术上要做到一专多能,在个别领域成为专家,在其他的领域都有所涉猎。我是在刚升为高级工程师之后,一次内部转岗面试的时候,发现自己擅长的领域比较精专,但其他领域(比如 Node.js)不太擅长,因此下定决心并花时间学习了相关领域的知识,让自己在技术领域没有太明显的短板。大概花了一年时间,在 Node.js、云服务、DevOps 相关领域打通了任督二脉,这为后来在 Shopee 金融团队搭建许多技术平台打下了比较良好的基础。

其余的组织能力、协调能力、项目管理能力、沟通能力都是技术管理者的一些需要的技能,早期弱一些没关系,但在当上管理者之后要不断通过学习让自己在这些方面都有所增益。学习这些能力的办法有很多,就我个人而言,从学生时代到工作,在不断办活动、推进项目的过程中,自然而然地习得了这些技能,再等到晋升管理者之后,由专门的培训老师系统地对管理者的角色转换、绩效沟通、任务管理等多方面做系统的教导后,会对这些技能有更系统的认知。

         (Shopee和腾讯带过的团队,从15人到30人)

很多人可能会好奇从技术转变成管理有什么感受。先说一些不好的吧,那就是压力更大了,写代码的时间变少了,工作更忙碌了。如果你能很好地接受、消解这些消极的因素,慢慢你就会发现带团队带来的巨大成就感、团队成员不断成长迫使自己也要一直成长等等,这些正面的影响会超越上面的负面影响,然后让你更享受从事技术管理过程的快乐与兴奋。

Q2:能否请你分享一些团队管理方面的宝贵经验?或者让你印象深刻的团队管理经历?

分享两个我个人印象比较深刻的心得吧。

一个是帮助团队成员的成长。对每个团队成员,我都建立了一个成员现状与发展档案,记录当下他们在团队的定位,他们个人的诉求,他们的优缺点,他们的改善计划。这个计划确实能帮助到一些成员的成长。譬如有一位技术不错的同事,有能力可以扛起业务,于是让他试了一下带一个业务专项。不过在带队的过程中,一些同事反馈说,他在一些沟通与协调能力方面还有待提高。于是跟他制订了一些相关的改善计划,让他注意哪些相关的沟通与协调要点。后来产品跟我说,熙哥你是下了什么药,让这位同事最近的改变这么大,比较之前有了很大的进步。

另一个是帮助团队做好的技术规划与布局,并且一步一个脚印地落地下来。实践证明,这在业务中也收到了良好的成效。在做团队个人贡献者的时候,可能会更关注单个工具或者平台的成果,但作为整个团队的负责人,需要对整个技术如何更好服务业务负责,因此良好的技术规划就显得非常重要了,而且需要有体系化的建设思维。

一开始人力紧张不要紧,就先抓最重要的体系落地,比如我们早期业务侧重在 React Native (RN),于是我们就侧重搭建 RN 研发体系,将相关的运维(CDN发布)、平台(热更新服务)、工具链(打包工具、发布工具等)都搭建好。有了这个体系的支持,我们的研发效率越来越高,就能腾出来更多人力针对业务拓展更多的研发体系,而且有了第一个体系搭建的经验,其他体系的搭建都有了清晰的目标、规划与落地方案。随着越来越多的体系落地加速业务发展,整个前端团队的研发实现了良性的循环。

Q3:请问在做职业规划和重大抉择的时候,你一般会考虑哪些因素?能否结合你自己的经历和经验,给职场新人和职场迷茫的人一些建议?

我觉得30岁前,更多考虑个人的成长吧。钱放第二位,毕竟不是所有人都有机遇碰上 98 年的腾讯、和 17 年的拼多多这种好机会。在互联网这行,决定个人是否能成长主要有两个点,一个是业务有没有挑战与增长,另一个是做的事情有是否有意思。

只有业务的增长,才能让这个业务持续做下去,做的事情才可能会拓展,从 0 到 1(活下去的事情),再从 1 到 100(优化的事情)。如果没有增长,意味着往这里投入的资源也会很少,加入的优秀人才也少,自己学到的知识也少。

另外就是自己做的事情是否有挑战。在好的业务里,未必意味着你一定会成长,可能你做的事情一直起不来,或者一直做脏活累活但又无法玩出花。这个时候就好好考虑一下是否要做一些职场的转变了。

多听一些前辈和职场心理咨询师的意见,我在做转岗、跳槽决定的时候,都会找这些人聊聊,参考他们的建议,会让你做的决定更稳健一些。

Q4:对于前端工程师而言,你认为最应该具备哪些核心竞争力?发展的瓶颈一般会有哪些?

前端工程师是产品交互与后台数据中间的桥梁,前端工程师是最懂交互设计的技术人员。优秀的前端工程师,能够利用自己对业务产品、交互设计、前后台技术的理解,帮助产品做出体验优秀的产品,并且能帮产品和设计师避免一些不可实现的产品设计。

但前端工程师往往沉醉于对交互设计的实现,忽略或者不去了解业务的发展。觉得做完需求就完事儿了。过于面向 UI 做架构设计与实现,就会导致需求一变,前端的变动也很大。因此前端工程师要突破瓶颈,除了做好前端技术之外,还需要对后台技术与实现有所理解,对产品业务非常熟悉,才能更好地将交互、设计、前端与后台串联起来,并且改成面向业务编程而不是面向 UI。

#3 前端开发与《小程序开发原理与实战》

Q1:你一直在大力推进前端工程化,让开发事半功倍,更有效率。请问在前端工程化方面,目前有没有一些新变化或新进展?

目前观察到有两个新动向。

一个是构建这块,webpack 已经霸屏了蛮久的时间,但它的性能,还有配置的复杂度,都饱受大家的诟病,因此也先后出了许多的挑战,比如 rollup (主打类库打包构建)和 parcel(主打 0 配置),都分别切走了一些构建领域的市场。这两年新出的 vite, esbuild 等工具,更是直接表现出动摇 webpack 根基的一些趋势。目前这两款新的工具在功能上还不是非常完美,在生产使用上还有待更多的业务验证。但目前大家都在思考更多的办法,在配置与性能方面,提出比 webpack 更优秀的方案,因此未来构建的领域还会有不少新的事物诞生,让我们拭目以待。

 (esbuild的性能一骑绝尘)

另一个是上云。随着云的能力越来越完善,借助云的能力帮助前端在业务、性能上的发展也是有越来越多的尝试。早年用 CVM 部署服务,发布 CDN,现在看都是基本功。现在更流行的是,借助 PAAS(研发平台),甚至 SAAS(搭建工具)来加速业务的开发。国外 Google 推出的 firebase,还有国内腾讯云出的云开发 CloudBase,就是当中的佼佼者,这也是我在《小程序开发原理与实战》中加入云开发内容的一个原因了。

Q2:《小程序开发原理与实战》这本书的阅读门槛是什么?读者需要掌握哪些基础知识才会更容易读懂和上手?

《小程序开发原理与实战》这部书我主要写的是云开发部分。如果读者有写过 Node.js 的话,读起来会没有任何难度,我在解释一些云服务和使用的时候都尽量用简明的语言与例子说明白。如果之前没写过 Node.js 以及 Node.js 服务的话,建议可以上网找一些入门教程,写几个例子,跑一下简单的服务,部署一下 Node.js 服务。有过这个体验之后,再看本书的云开发部分,你不仅会发现云开发的概念很好理解,并且会有感于通过云开发来开发后台服务是相当轻松快乐的一件事——因为你可以大大减少对运维与部署的关注了。

Q3:对于希望进一步提升小程序开发能力的读者,你能否给他们一些学习建议?

完整落地一个可以在线上运行、能给用户使用的、包括前后台能力的小程序,最重要的是要深刻理解小程序开发的每一个环节。小程序有很多能力,需要后台配合才能达成,如果只会前端,或者只会后台,可能很多事情就没法想明白,没法落地,也没法验证。之前市面上有许多小程序的书,但只是侧重前端部分,而忽略了或脱离了后台,这样做出来的小程序只是一个徒有其表的壳子。而在云开发的帮助下,前端工程师把后台部分的能力补了,就能对小程序开发的逻辑、流程有更深刻的了解,学起来才能事半功倍。

#相关书籍

活动预告

腾讯前端技术大会,将于10月24日在深圳举办。本次大会我们邀请了来自腾讯、Coding、哔哩哔哩、厦门稿定科技等知名互联网公司前端专家前来分享,精心设计了三大分会场、五大主题方向,包括大前端、Node.js、研发效能、前沿技术、编辑器。无论您是资深的前端大咖,还是初出茅庐的前端菜鸟,相信都可以通过本次大会获得收益。期待与您一起进行技术的交流和碰撞!

届时图灵图书在大会当天有图书展示、签售和赠书活动,敬请期待。

扫码报名,查看大会详情

#推荐阅读

喜欢这篇文章?点个“在看”吧~▼

第0次作业

...生活习惯有利于我们的学习和生活,能使我们的学习起到事半功倍的作用。要养成良好的生活习惯就要做到以下几个方面的内容:1.要合理地安排作息时间,形成良好的作息制度;2.要 查看详情

第0次作业

...生活习惯有利于我们的学习和生活,能使我们的学习起到事半功倍的作用。要养成良好的生活习惯就要做到以下几个方面的内容:1.要合理地安排作息时间,形成良好的作息制度;2.要 查看详情

模切erp实施前准备这个事半功倍

很多模切厂在上线模切ERP时,负责人都会比较纠结在开启之前应该做好哪些准备才能让模切ERP顺利上线。今天就让小编以点晴模切ERP系统为例告诉你们:制订明确的管理目标实施模切ERP系统本身不是直接的管理目标。ERP实施将达... 查看详情

怎样才能做好ppt,驼峰设计给大学生的10条建议

...议,颁奖等,可以事前和主办方交换定见,这样可以做到事半功倍。  建议4:以情感人  大学生活五颜六色,假设PPT是用情感打悦耳更能获得评委和教师的喜欢。  建议5:条理要明晰  叙述要清楚,章节阶段要清楚,... 查看详情

需求分析

 1.首先未来了解客户需求,最先做的就是访谈。只有在访谈中才能与客户有着充分的接触,了解用户的需求。   一般访谈有正式访谈和非正式访谈。在正式访谈中,系统分析员一般会提出一些预先准备好的问题。... 查看详情

vue作者尤雨溪:以匠人的态度不断打磨完善vue(图灵访谈)

访谈对象:尤雨溪,Vue.js创作者,VueTechnology创始人,致力于Vue的研究开发。访谈内容: 你为何选择从事前端方面的工作?其实,我本科读的是艺术史,研究生阶段学习Design&Technology,是设计和技术的混合。开始做前端的... 查看详情

鹅厂女专家:用“爱折腾”实现跨界之美

欢迎大家前往云+社区,获取更多腾讯海量技术实践干货哦~。作者:云计算小编alicemeng(孟梅),2004年加入腾讯,架构平台部运营管理中心专家项目经理前言 毕业20+年,加入腾讯13年,三个部门,5个岗位,Alicemeng说这是因为自... 查看详情

一个热爱编程的82岁老太太:2008年图灵奖得主barbaraliskov访谈录

师从麦卡锡,师徒都得过图灵奖【导读】theregister近日专访了2008年图灵奖得主BarbaraLiskov,这位CLU语言的主要发明人是首位获计算机博士的美国女性,师从约翰·麦卡锡。已经年过80的Liskov提起编程依然热情满满。你听... 查看详情

需求访谈的18个注意事项

    需求访谈的人员需要经过专门的训练,掌握需求访谈的技巧,才能在比较短的时间内,获取客户的真正需求,并且比较完备。那么,应该如何进行需求访谈呢,我根据需求访谈工作坊的练习结果及个... 查看详情

图灵访谈|vue.js官方团队成员霍春阳:跨专业做程序员,是什么感受?

霍春阳,Vue.js官方团队成员,专注于Web研发领域,是Vue.js3的核心贡献者之一,Vue.js文档生成工具Vuese的作者,技术社区活跃者,曾撰写大量颇受好评的技术博客。大一那年,读机械专业的他开始与同学... 查看详情

机器学习英雄访谈录之kagglekernels专家:aakashnain

目录机器学习英雄访谈录之KaggleKernels专家:AakashNain正文对我的启发机器学习英雄访谈录之KaggleKernels专家:AakashNainSanyamBhutani是Medium上一位专注ML和CV的博主,本系列翻译自他进行的系列采访——《机器学习英雄访谈录》。学习从... 查看详情

java工程师如何做好职业规划和成长路线?

...层次进阶。下面小千就从以下三点上建议Java工程师如何做好职业规划和成长路线。一、增强自身的设计与开发能力Java的应用领域是非常广阔的,从手机应用到互联网、数据库和服务器,从PC端到嵌入式设备和移动终端& 查看详情

用好免费crm软件,事半功倍(代码片段)

...多很多,对宣传也更有效果。用好免费crm软件,事半功倍要做好客户服务,首先要做好客户管理,对自己的客户没有一个基 查看详情

什么是scrum敏捷开发中,做好sprint规划

什么是Sprint规划?Sprint规划是scrum中用来启动Sprint的事件。迭代规划的目标是定义Sprint可以交付的内容,以及如何完成各项工作。迭代规划需要整个scrum团队合作完成。与体育概念中的最后冲刺不同,scrum中的‘冲刺’(spri... 查看详情

让crm客户管理软件规划好时间(代码片段)

...说,合理的安排自己拜访客户的时间,可以起到事半功倍的效果,如果整天不知道怎么安排自己的时间,会变得浑浑噩噩,对工作也不上心,业绩提不上去,压力就大了,就会扛不住而选择离职。... 查看详情

fidder(介绍)

...是远远不够的,还要会利用测试工具协助测试,这样才能事半功倍。测试工具多种多样,会在本系列中一一介绍,今天着重介绍网络抓包工具。 现在的浏览器都具有抓包功能,ie或者chrome都自带的开发者工具,选择网络就能... 查看详情

需求访谈的18个注意事项

    需求访谈的人员需要经过专门的训练,掌握需求访谈的技巧,才能在比较短的时间内,获取客户的真正需求,并且比较完备。那么,应该如何进行需求访谈呢,我根据需求访谈工作坊的练习结果及个... 查看详情

需求访谈的18个注意事项

    需求访谈的人员需要经过专门的训练,掌握需求访谈的技巧,才能在比较短的时间内,获取客户的真正需求,并且比较完备。那么,应该如何进行需求访谈呢,我根据需求访谈工作坊的练习结果及个... 查看详情