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

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

c48f8b8474e6b62cb5a4940d2c8e0625.png

#1 技术成长之路

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

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

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

24b61ea9c5d5cf0a53bb03931e6acbe7.png

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

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

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

039241b26f3b07ced1da089e9db08a01.png

(“印记中文”公众号)

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

c97ff662bdcf565bd8e0b6de0721d7a2.png

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

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

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

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

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

248761c711034d48c126b11690054a25.png

#2 职业规划与团队管理

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

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

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

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

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

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

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

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

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

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

a8fa8f10baceab4c3250fa50c053bf89.pngacd460c63f0ee689c905f882bfc64be5.png

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

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

3118358c2b79a8aaf5559b452f6d96b8.png

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

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

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

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

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

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

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

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

296d413605eeea3689c44fbbff08b521.png

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

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

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

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

9d37619d7cfbf428e4ffbbe7b4d7996f.png

(esbuild的性能一骑绝尘)

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

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

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

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

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

#相关书籍

eb5c20973843875e9413833ff1ee31c4.png

da77fb1403e6e145b0d1ead4bef406b8.png

500d931ffebe1ea7821bcc3dfd286cae.png

活动预告

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

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

0d6b11496a903032c28915b6e7642a24.png

扫码报名,查看大会详情

#推荐阅读

b6a6f414aa0fccec31b1d6f1fe29488c.png

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

原文链接:https://blog.csdn.net/turingbooks/article/details/120359370?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522165918469516781683979383%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=165918469516781683979383&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~first_rank_ecpm_v1~times_rank-8-120359370-null-null.nonecase&utm_term=%E9%A6%99%E6%B8%AFcdn

原创文章,作者:优速盾-小U,如若转载,请注明出处:https://www.cdnb.net/bbs/archives/1761

(0)
上一篇 2022年7月30日 21:21
下一篇 2022年7月30日 21:22

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

优速盾注册领取大礼包www.cdnb.net
/sitemap.xml