5 位阿里前台技术专家论:前台工程师的成长和发展

作者 : 开心源码 本文共7068个字,预计阅读时间需要18分钟 发布时间: 2022-05-13 共192人阅读

前台夜话。活动邀请到了前台大咖 winter、百姓网技术顾问贺师俊(Hax)、Swift 大神王巍(喵神)、《CSS 世界》作者张鑫旭、阿里前台技术专家狼叔等 5 位前台大牛,聊聊前台工程师的成长和发展,分享少量前台人关心的话题。以下内容整理自五位讲师的分享。

winter:谈谈框架选型

桑世龙(狼叔):当你对框架理解够多时,技术选型会更加容易

Node 里面有很多 Web 框架,研究里面的东西乐趣非常多。当你理解足够多的时候,你技术选型的点更加容易。

王巍(喵神):选型要看附近工程师的水平,以及整个公司的技术栈积累

Line 相当于日本的微信,主体的 APP 项目是比较大也比较老了,他们的选型可能会有更复杂的流程。周边的很小的项目,技术选型这方面基本就是几个工程师凑在一起,大家私底下商量商量,略微资深一点、见多识广的来拍板。小公司给你试错的风险比较大,机会比较少,可能走错一步就凉了;而大公司好少量,走错一步我们换个方向再走一步。尽管是这样说,但是技术的选型并不是越激进越好,还是要看附近工程师的水平,以及整个公司现在积累的少量技术栈。

贺师俊(HAX):框架选型时可能有少量是商业上的决策反过来束缚你的技术范围决策

框架选型时可能有少量是商业上的决策反过来束缚你的技术范围决策。那么高级架构师怎样做呢?除了技术,还要考虑业务的需求。架构师很多时候考虑的是束缚在哪里,这需要对技术、对业务都有很强了解,同时还要考虑团队的问题,要衡量现有人员架构下,大家的学习能力和团队,是不是能够做这样一个方案。所以选型这个事情比较复杂的,很难用一两句话讲清楚,很多时候是要拿 Case 来看。

大公司和小公司也有不一样。比方 Web 前台选型,可能不同框架完成你的需求都是可以的,但区别是,它的学习曲线或者者说整个生态的情况会有不一样,这就需要根据情况选择了。在大公司里面,学习曲线、配套的生态就都不是问题,大公司会对这些事情做足够的投资,这也是大公司好处,相比照小公司来讲,大公司可以选一个再尝试一个。我甚至可以有几个团队分别有几个栈都没问题。

我个人还是比较倾向于 Vue,Vue 也是国际化的,并不存在中国人做的东西就肯定不好,整体的工程水平完全是可以的,你有任何疑问在中国可以得到更多支持,也可以得到比较好的资源。还有一个非常重要的特点,像 React 后面有大公司支持,主导权肯定在公司,Vue 背后不是大公司支持主导,它是社区的东西。我作为高级架构师要去考虑的技术之外的因素就是,我这上面投入非常大资源的时候,是不是能够取得足够的参加的权利。从这方面来看我觉得 Vue 是更好的选择。

前台人的成长离不开与优秀的同伴共同交流,你可以加入我们的“前台学习群:767273012 ”,探讨前台相关的技术、从企业招聘人才需求到怎样学习前台开发,和学习什么内容都有免费系统分享。好友都在里面学习交流,每天都会有大牛定时讲解前台技术!

winter:怎样看全栈?

桑世龙(狼叔):全栈是一种追求,一种处理问题的能力

我的经历比较杂。我创立了一个公众号—— Node 全栈,以 JavaScript 为核心统一前台和后台。当时觉得,假如我能用 JavaScript 做后台、前台,即可以称之为全栈。但是随着时间推移,我慢慢觉得,全栈更多是一种追求,一种处理问题的能力。

举个例子:以前在某厂,产品提了需求,后台说不能实现。产品非常想做,就跟我们聊,我们把 SQL 怎样写交给后台的同学,他就不说话了,后来再有什么需求都接。

所以说,你理解越多,能做的事情越多。今天我们都是大前台,把所有端都涵盖了,在大前台选择什么方向,这是全栈能够给我们提供的一个很好的选择视角,只有理解足够多,才能做出更正确的选择,所以我非常支持全栈。

王巍(喵神):公司规模不同,对全栈的需求不同

在 BAT、美团这样的公司里,可能并不需要你是全栈程序员。团队中每个人必需扎根在自己的技术栈,做到细致、完美,才能做出比较好的产品,相对来说这样的公司对于全栈的要求并没有那么高,但对某个领域专深的要求比较高。小公司会有截然相反的需求,开发者资源有限,假如一个开发者能够统筹全局,对各个方面都有少量理解,可能会对公司发展比较好,这个需要看各位所处在公司的环境需求。

对个人来说,我想法跟狼叔差不多,全栈是代表你学习能力,不肯定是不全栈没办法过下去了,或者者不全栈你就没有价值了。但全栈给你一种能力,你可以一个人独自做完整的设计、实现、运维上线,对你自己的技术提升会是非常好的一个飞跃。

贺师俊(HAX):能否全栈,是跟我们自己最后内心想要做的事情相关的

一类工程师的内心驱动力是“要做一个世界级的产品”,那很可能你比较适合全栈的方向。由于你的目标是做产品,能够从前到后掌控的越多越好,不但是技术,包括设计、运维、经营、市场。另一类工程师内心驱动力是“处理一个世界级的难题”,这个可能是最高的一个目标了,这可能就不肯定适合走全栈的方向,由于你可能更希望做一个专家型,在一个特定领域技术钻研下去,成为专家的发展的道路。当然也有少量人是两者兼具的,但是这样的人是非常少的。

补充一点,我们前台有很大优势做全栈。偏向后台的工程师,假如往全栈发展,很可能需要学习一个新技术,由于你选择的后台是其余语言,前台要学的东西可能不太一样。但假如你从前台入手,不论你是用 JS 或者是 Swift,现在都可以。所以,你往前台方向多发展一点,将来不论做不做全栈都肯定有比较大的优势。

winter:从成长角度看,前台工程师是应该去大公司还是小公司?

张鑫旭:大公司小公司都有各自的好处

我刚开始工作是在一家小公司,没有很多会议、汇报、KPI 绩效考核,不用展现工作成果,我可以全心全意学习技术,只要要安心把工作干好,所以前期对我技术成长非常有帮助。去大公司则学到不一样的东西,你可以看到一个产品如何协作、迭代,慢慢壮大发展,假如以后创业,这种对你非常有帮助。另外小公司可能很多作风和习惯比较野生。我第二份工作是在腾讯,刚去腾讯的时候,没意识到我之前很多做法非常野生,经过大团队的协作,意识到原来自己以前那样是不足的。

王巍(喵神):假如去小公司,要看小公司的管理层能否优秀

小公司相对来说一个好处是没有很多繁琐的流程,而且你可能很容易每天跟 CEO 打一个招呼见面,跟 CTO 一起吃饭聊天。假如小公司团队管理层非常棒、非常强,这对你的成长有很大的好处。相对大一点的公司,流程方面会非常正规,这样对你的工程师的素养塑造很有好处。大公司锻炼一段时间以后,假如你想创业或者是回到小公司,这些素养可以帮助你做得很棒。

桑世龙(狼叔):掌握学习能力,大公司、小公司都去做少量,谁知道哪一天会不会去创业呢?

我可能是换公司换的最勤的,十年差不多十个。对我来说,想到一个地方工作,最主要的动力是要把那里的东西学到。所以大公司、小公司我都去,包括自己创业,从 0 开始组建团队,都有经历过。对我来说,闲时要有吃紧的心思,忙里要有偷闲的乐趣。更多的时候是把时间利用好,不断自己成长。

但是小公司跟大公司还是区别的。小公司是什么都干,比方在天津当 CTO 的时候,前台要写、后台要写、数据库要自己管、服务器要自己维护,产品不行、设计不行要自己上,经营没有人做我也要上,这很锻炼人。那个时候非常穷,创业连底薪都没有,真的是情怀。

到大公司发现不一样,格局、眼界的收获非常难得。在阿里,去年扛了大文娱的双十一,那个紧张劲儿是不一样的,对于业务各种部门之间的协调、产研,甚至斗争经验都能够提升非常多。以俯视的视角看少量事情,业务角度的大局观不是小公司能够锻炼得到的。所以还是掌握学习能力更重要,大公司、小公司都去做少量,谁知道哪一天会不会去创业呢?也可能当一个没有薪水的 CTO 呢?

贺师俊(HAX):要有规划,你去这家公司想要得到什么?

第一点,大公司和小公司是有区别,但是不同的大公司之间、不同的小公司之间也有很大的不同。比方,可能有的小公司,没有大公司的命,得了大公司的病,200 人的规模已经跟 2000 人的公司一样有复杂的官僚。不同的公司规模一样,但内部却会有不一样的地方,所以还是要看具体的公司,有可能这个公司比那个规模小,但他有很多大公司的毛病。

第二点,最好大公司、小公司都去感受一下。我运气比较好,大公司小公司都经历过,而且都是比较好的。但现在这个年纪我回头看,觉得大家还是要有一个规划会比较好,你去这家公司想要得到什么?这个是你去的时候要想一想的,假如你到那里发现跟你想得不一样,也许你要快点调转方向了。

举个例子:我之前在百姓网,去的时候有 50 人,现在是 200 人,最多算小型公司到中型公司转变。他一直保持前面各位讲的优点,CEO 可以直接见到,可以跟他聊很多东西。我去百姓网时也可以选择去 BAT 级别的公司,我为什么选了百姓网?由于当时有一个想法,有少量技术架构上的东西想要验证,抱着这样目的我选择了相对小的公司。在大公司,他可能已经完全成熟了,你能够改变他的东西非常少。

我现在去了 360,相对来讲是一个大公司,有很多事情是只有在大公司才能做的。有些东西在小公司可能是一个没有用的屠龙之计,只有在很大平台上才能发挥价值,所以成长到这个阶段,你就要选择适合你的平台。

winter:目前所谓的经济寒冬和裁员潮,你们觉得会不会对大家的工作、求职、就业有少量影响?我们应该做什么?

张鑫旭:对于酷爱学习的人来说是没有任何压力的

我觉得经济寒冬对于在座的这么多酷爱学习的人讲一定没有任何压力的。那些寒冬只会影响那些不来参会的人,不爱学习的,平常不注意内功修炼,学点皮毛的。

桑世龙(狼叔):最重要的是能看清行业后面的发展方向

其实对于我们来说,最重要你能看清楚行业后面的发展方向。从 2013 年之后,大前台属于爆炸性增长,到 2017 年基本开始趋于稳固了,现在新的框架特性没有那么多了。前台后面会越来越广阔,再往后走,前台能做更多后台的活儿。前台行业在变,整个世界在变,只有不断添加端上的各种应用,对我们来说这是非常好的事,只需我们坚持不断学,不至于说被落下、被时代抛弃就好了。

王巍(喵神):成为多面手,选择顺应时代潮流的车道

国内从去年年底开始经济寒冬,我在国外感触不是特别深,所以没有太多的发言权。日本这个地方相对来说更稳固少量,公司也不能随意就把你开排掉,雇佣是终身制的。但是假如你的公司有困难,可能会把你排挤到边缘部门,没有什么活儿干。尽管大家可能觉得没什么活儿干挺好的,看报纸、喝茶什么的,但应该是没有人想过那样的生活。为了避免这种情况发生,要不停的学习,不论是你在某一个方面能够精深下去成为专家,或者者能够当一个多面手,只需做得出色,我相信最后找到一条出路是没有问题的。

还有另外一个比较重要的问题就是,大家在看一个技术的时候需要逐步培养对一个技术方向的预判的能力,比方说假如你从头到尾还是做塞班,不论你怎样样,它都寒冬了。该转型、该选车道时,我们肯定要果断选择符合时代潮流的车道,不要逆行。

winter:关于面试大家有什么可以分享的?

张鑫旭:展现最真实的自己

肯定要展现最真实的自己,千万不能说这家公司喜欢这种类型,就假装或者者是体现成这样。过度包装自己反而不好,就算自己包装自己,进入公司后发现做的事情跟你不匹配,对公司和对你都不太好。

桑世龙(狼叔):面试即学习、给自己创造场景

面试的时候也能提高你技能点,有时候在某一方面可能没有那么厉害,但是在你不断的面试过程中能够提高,也是非常难得的。可能刚开始面试你碰了很多壁,但是慢慢发现自己的技能、能力都上来的时候,想进哪一个公司进哪一个公司。另外,你要能够给自己创造这种机会,比方我以前是做 iOS,要写 Node 哪儿来的精力?这个更多要给自己创造机会,比方说做少量开源项目,参加翻译,写书,都是非常好的学习方式,这也是非常重要的能力。

王巍(喵神):注重学习能力、交流能力

我个人来说当面试者经验是比较少的,但是我当面试官的经验比较多。我主要是看人的学习能力是不是强,是不是能够适应这个团队,是不是能够进很快的掌握新的技术栈。学习能力并不是一两眼或者者几句话能够套出来和看出来的,那这个怎样看呢?是看你的交流能力。平常大家比较忙,但是肯定要抽出时间,不论是小组内部做分享,还是跟你的同事每天沟通,都可以思考一下怎样说话,怎样把自己的心意和感情表达出来,这样在面试的时候也会有少量帮助。

贺师俊(HAX):面试和沟通都要真挚

首先自身的基础、技术要不断学习,本领过硬肯定是没有特别大的问题。我认为最重要的事情是什么?应该是面试或者者任何技术方面的沟通,都要真挚。我认为做技术就要踏实、真挚,是一就是一,没有那么多虚的。即便这次面试由于真实的表述,让面试官觉得你不符合当时的岗位要求,也没有关系,由于我们都在这个行业里,总会有新的机会。

很多时候作为面试官也会考虑,这个岗位不适合,但这个人有别的亮点,可能就会推荐其余岗位,甚至推荐其余公司。所以我觉得真挚这一点是比较重要的,它能减少面试官和面试者之间的隔阂、摩擦、阻力。

程劭非(winter):坦诚、努力、明白面试官的目的

首先,面试坦诚、真挚是沟通的一个基础,假如你有少量虚假的成分,面试官 95% 都是可以把你的假装拆掉的,而且拆掉的过程可能非常的不愉快。比方说,有的人喜欢在简历上写“学习能力强”,这可能是由于没有别的可写了,其实这个事情特别容易被戳穿。

既然你说学习能力强,那一般我会问一下最近学了什么东西,给我讲一讲。这个时候有少量应聘者就开始造假,比方说“我最近看了少量函数式的编程的东西”,我说你用函数式编程给我写一个代码看看,而后可能这个话题到这里就结束了。

第二点,在坦诚的基础上,也要为自己简历上的每一条有意识的做少量努力,比方不肯定是公司的项目才可以写在简历上,你参加的开源项目也可以,开源项目没有做,那像鑫旭写个博客也可以。其实你写少量博客,总结少量知识也是非常好的展现自己的机会。

我们很多人都是通过博客认识张鑫旭的,假如你博客也没有写,你甚至可以把自己对技术的了解写在简历上,展现自己。我第一次找工作的时候干过,当时投微软的简历我用 500 多字写了我认为应该怎样学 C++、我怎样了解,那个简历就命中了,后来跟招聘主管聊这个事,主管说其实那个东西没有什么用,没有太看,但是发现这个人写了这么多。

还有一个案例,微博 HR 的老大晒了一篇简历,那篇简历做了一个脑图,各种颜色,写微博的业务应该怎样发展。其实里面观点很幼稚,但是能看出他很认真,所以当时他就进了微博,而且据说这个产品经理发展还不错。

第三点,你要学习一下面试官的问题究竟想问什么?比方,我经营的同事说他会问:你看过什么电影?有的应聘者很放松的说喜欢看《大圣归来》,再问他为什么喜欢看,他说:追女生。其实你们可以想想面试官为什么问你这个问题?显著是想通过电影,知道你的审美,知道你的品味,而不是跟你闲聊。面试官的问题都是有目的性的,都是设计好的,不会随口问。

「Tips:我个人的面试风格是高压式,我态度很好,但问题会让你压力很大,而且我有一个特别的习惯:不论什么人面试,假如我特别满意,这个人我想要了,我最后肯定问一个问题让你感觉答不出来,所以参与我的面试,通过的一般体验不好,不通过反而最后闲聊挺开心。」

winter:有什么学习方法或者者书可以给大家推荐一下?

桑世龙(狼叔):学习有三个境界

学习有三个境界:一是的最简单的跟书学;第二境界是跟人学,比方说跟贺老、跟 winter 学,你怎样从他身上把东西学走这是本事;第三是自己悟,比方像鑫旭老师,积累那么多的博客,写出了《CSS 世界》。

贺师俊(HAX):要有一个自学的能力

今天的学习条件已经比当年好很多很多了,不论书也好,视频也好,课程也好,都可以,我觉得最后你还是要有一个自学的能力,你要有一个消化的过程。这是个什么样的过程呢?比方看书的时候,你可以写少量读书笔记,再下一步提炼出来可以写 Blog。再往下还可以做翻译,少量国外的文章可以翻译过来,在翻译过程当中,也可以吸收知识。当然再下一步也可以写书或者者是课程。

程劭非(winter):前台工程师要学习的是如何提升自己的能力

前台工程师要学习和成长的,我个人的观点是能力占 80%,知识只占 20%,所以你掌握了知识还远远不够,更重要的是快速提升自己的能力。这里的能力是指编程能力、架构能力和工程能力。

编程能力是用代码处理问题的能力。你编程能力越强,就能处理越复杂的问题,细分又有调试、算法、数据结构、操作系统原理等基础的支撑,你才能处理各种麻烦的问题。

架构能力是掌控复杂系统的能力。当一个系统足够复杂,你会写每一块、能处理每一个问题,不等于你能搞定整个系统,这就需要架构能力。架构能力包含了少量意识,比方解耦、接口隔离,也包含认识业务建立笼统模型,也有少量常见的模式,比方经典的 MVC,还有设计层面,比方面向对象、设计模式等。

工程能力,其实核心就是成事的能力。你要知道,当系统规模越来越大时,光靠你一个人是没办法完成的。那如何保证几个高手互相能够配合好?如何保证项目里面水平最差的人不拖后腿?工程化建设,往往会跨越多个业务,包括前后台解耦、板块化、质量保证、代码风格等。

当然要提升这些能力,一定需要找到一个合适的方法并持续地练习,最好在练习的过程中还能得到监督和反馈。这是我的前台交流学习qun:前面是七三一,中间是七七一,后面是二逐个。假如需要学习资料在里面下载。我做这行十多年,有问题随时来问我,学习方法,学习效率等等问题。

说明
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是摆设,本站源码仅提供给会员学习使用!
7. 如遇到加密压缩包,请使用360解压,如遇到无法解压的请联系管理员
开心源码网 » 5 位阿里前台技术专家论:前台工程师的成长和发展

发表回复