Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

BAT大佬分享 #9

Open
iloveyou11 opened this issue Apr 20, 2021 · 0 comments
Open

BAT大佬分享 #9

iloveyou11 opened this issue Apr 20, 2021 · 0 comments
Labels

Comments

@iloveyou11
Copy link
Owner

iloveyou11 commented Apr 20, 2021

以下内容均来自于BAT大佬关于前端学习和发展的分享,为大家指引方向,答疑解惑:


首先,自我介绍一下,我有多年的分享经验,同时在慕课已经有2年的讲授经验。我是Vue2.x核心技术免费课的讲师,也是实战课大前端课程的讲师。乐于分享知识的我,非常享受这个过程。

我虽然毕业于985,但是我不是科班的程序员出生;我虽然教的是前端,但是我也熟悉Java和Python;我虽然已经离开了大厂,但是我自己组建了团队,健康的活了下来,这是第三次创业。

在大厂的磨砺让我知道了健壮的生产模式,在政府里面的项目让我认识了社会的冷暖提升了情商,在自己的一次次失败中我抓住了生活的命脉,我是一个有经历的人,跟着我,带你感受我的大前端之路吧~~

大纲:

  1. 路在何方:前端千变万化,如何不变应万变
  2. 对症下药:前端开发过程中的痛点,少走弯路,才能事半功倍
  3. 技术蜕变:从前端小白到高阶前端的成长路径
  4. 前端大局观:从前到端,高薪工作=高价值输出=多端开发
  5. 挑战即是机遇:诱惑很多,挑战很大,拒绝说“不”

在今天开始分享之前,我来说一下这一次分享的准备,我开始问了我的很多学生,比如:讲什么选题、大家想听什么、大家觉得学习了前端这么久想听听什么....很多的问题,都集中在一个问题上,这么多的未知,这么多的技术,我该怎么办?这就像是一个哲学问题,问“我从哪里来,我要到哪里去”一样——人生这一躺旅程,如果想不清楚前路,那最最关键的是抓住现在。老师,最多只是引路人是灯塔,自己的路要靠自己的脚走出来。

1. 路在何方:如何不变应万变

相信大家都有选择技术的一个理由,但是更多是迷茫。对知识的渴望,加上工作的压力,让这种求学的心情变得迫切。每当有同学问我,老师,我该不该学前端、前端难不难、前端怎么学的时候,我都会问他(她)这样一个问题:你喜欢不喜欢技术?

对于那些模棱两可的人,我会给他们泼冷水,告诉他们:“前端天天都在变化,你会每天坚持学习吗?”“前端不是人人都能高薪,你能接受生活给你的磨砺,忍辱负重的成长吗?”“前端说简单也简单,说难也难,你的目标在哪里,你的高度才会有多高”....

前端真的是千变万化,前两年还在JQuery,到今年的时候,我问同事,他说现有的项目(React)已经不用了,很少需要用JQ来操作DOM;再前些年,还在用DW、PS切页面,现在还流行吗?不流行了,因为效率不高...一方面技术过时的快,另一方面新技术的出现快,Flutter、WebAssembly、Serverless火爆发展,对前端人的要求在变高,需要学习各种技术,对接不同的角色的人,甚至去充当不同角的人...那么,就要有全面的知识储备与技能。大前端,需要的是宽阔的视野、扩展的能力、基础的技能,同学们不缺的是第三块,而扩展和视野是同学们缺的,也很少去思考的。

那怎么办?我说过一个观念:不推荐大家学习红宝书,不是一定在大厂才有优秀的人。这两点如果没有深刻体会的人,我来举两个例子:你看看你的周围有没有进步非快的人,再看看你下载的那些资料、买过的那些书&视频的进度,你就初步体会这两点的涵义了。学习,是一个延迟满足非常长的事情,需要有一颗平常心来对待每天的学习&工作。记住,平常心,三个字。

有句话大家都听过,“机会是给有准备的人”。这句话,要辩证的来看,这个准备是指心态上的准备,很多技术是可以现学现卖的,这才是核心。举个例子,我给大家来讲课,学习了FCP(FCP Final Cut Pro——苹果上专业的视频剪辑软件)只用了一周,就上手开始剪了,实践让我获得了大量的“真知”..……这种事情在我身上发生了很多次。那些追求极致完美的“处女座”同学们,很多东西在一开始,不用学习的那种的精巧,设计的那么的完美。这其实是人的本性啊,人不是圣人,肯定会犯错。但是,辩证的看,同样的不能一开始全部都马马虎虎,这两个极端都不可取。记住,辩证,这两个字。

我现在即不能说,未来5年,大家来学什么什么就能发大财行大运、XXX技术就能火、XXX能学XXX不能学,适合自己的才是最好的不是吗?我也是一路寻找,走了2年的弯路,才找自己自己的兴趣。生命中,总有那么多的奇迹让我们感动,就像小时候不明白父母的苦,只有自己成为父母,才能感受到。这不就是生命的美妙吗?所以,不要慌,你会明白的,你也会找到自己的方向。单身的人,就像那个属于你的人,也会在不远的地方等待着你一样。记住,兴趣,这两个字。

总结一下:
有了平常心,大家就不会去追逐新的技术,人云亦云了;有了平常心,大家就不会迷茫,知道当下才是最重要的了;有了平常心,大家就不会去攀比,而会扎实的自己每天进步一点点,与自己为“敌”,其乐无比。
有了辩证的思考,就会看清很多问题的本质,找到属于自己的解决方案。
有了兴趣,做的自己喜欢事,才是适合自己的。

前端千变万化的是技术,不变是我们,不变是我们的初心。不要因为眼前的困难,就选择放弃了前端!

2.对症下药:开发过程痛点

前面我们提了很多心态上的问题,这里就不再赘述。下面,我们除去心态上的问题,我们来谈谈技术。

大家或多或少的了解一个项目开发的过程,但是,有多少人去思考过,为什么需求分析,讨论来讨论去好长时间;为什么组长在这么安排开发,感觉效率不高啊;为什么大家都在推责任,感觉没有团队的氛围啊....

一个完整的项目,从项目初期立项到项目交付,会经历:需求分析、详细需求分析、项目开发前准备、项目开发&测试、初验(迭代)终验,这么几个基本的过程。不论内外部项目,都有一个共同点,就是有一个既定的目标。大家的KPI与目标的结果挂钩,那么问题来了,倘若这个目标没有实现,KPI会不会考虑说前端没有问题,就还是给你打个高KPI?倘若这个目标实现的一般般,客户让你们改来改去,KPI考核打了个基本分,客户会不会买单?倘若这个目标实现了,前端贡献一般般,KPI考核也会考虑一点点,但是这个份额会大吗?

总结一下,有需求分析的问题,有沟通的问题,也有效率问题……这些是技术开发过程中的问题,再来谈一谈新人&老人都会面对的问题——面试与择业。

都说“男怕入错行,女怕嫁错郎”,这句话就是生活的写照啊。在中国,这么物质的社会,还有多少纯洁的感情。在激烈竞争的互联网行业,还有多少蓝海?没有了,红利也还有,但是没有以前那么多了,因为门槛在变低,人工成本一直是企业前进的绊脚石。

所以,先要养活自己,再去思考更长远的事情。这一点,一定要清楚。

在企业中,大家要有“主人翁”的心态,现在很多企业都是“摸着石头过河”,也有一些“不要脸的”(会Copy的),那么其实大家学习这种方法又何尝不可呢?再一点,我们很多时候,会少问那一句“为什么”?心中充满着疑问又不想着解决的办法,那就错过了很多学习的机会。比如:项目目标没有完成,可以找找问题的原因,看看下次有没有什么办法规避;客户改来改去需求,可不可以通过一些手法明确下来;团队中,被弱化的前端团队,怎么才能体现自己的价值,是缺少宣传,还是实力不允许?如果是后者,那么,就思考一下是不是效率上有问题,是不是沟通上有问题...这样顺藤摸瓜,就能找到好多答案。

在找寻“真理”的过程中,肯定不是一蹴而就的,那么就要有“水滴石穿”的精神,不断的摸索着前进。

每个人的问题可能都不一样,再技艺精湛的厨师,也不能保证,每一道菜都合大家的味口。就像我们小时候会打预防针一样,我们会尽量多的去接触各式各样的“疫苗”(其实就是身体在试错),这样才能“抵御”外界的“侵扰”,对吧?

3.技术蜕变:高阶成长路径

对于新人来说,我之前问过我的一个同事,我深感认同,大家平时工作中,碰到问题了,最想做的事情,就是找个人一问,或者一搜索,就有现成的代码可以Copy,美滋滋~是吧?

题外话一下,大家知道中年危机是怎么来的吗?谁都知道有中年危机,什么35岁程序员的一到坎之类的....说着说着就心态爆炸了,什么年龄大了,干不了了啊;什么精力跟不上,不能熬夜了啊;什么家里事多,身体抗不住了啊...

但是,我身边那些35岁以上的程序员活的挺好啊,他们身上有一个共同的特点:就是有危机意识。

再回到上面的情况,如果一直都是Copy别人的“答案”,5年后,加入公司的小白看到了你的解决方案之后,1个月就能上手你写的代码了,然后,老板一看,那个小伙子一个月2K,你一个月10K,是人家的5倍,老板怎么想?

好,这个时候,我们不要倘若,就来说说我身边的>35岁的程序员。他们一进公司1-2年熟悉公司的业务,快速成长了起来,随着团队人员的增加,他们承担了一部分公司的扩展业务(比如:移动端、测试、后台等);到了3-5年的时候,他们又开始做效率、制度、标准化的事情;到了6-8年的时候,基本上人人都成为了主管,有自己的小团队,在外面接着大小的活,利用公司的资源,一方面扩展了公司的业务(所以老板睁一支眼,闭一支眼),另一方面,提升了自己的地位(那是根深蒂固的),团队少不了这样的核心人物。再退一步说,即使失业了,他们马上还能找到更好的工作。

都知道跳槽能加薪,那怎么跳,凭什么跳?写了两年的代码,就可以跳到更高的位置?不是的,而且时间久了,马脚也会露出来,不是吗?

这里有给不同的人,接地气的解决方案:

1. 对于入门前端的同学来说,首先,是摆正自己的心态。从基础的环境、基本的技能、基本的业务入手。
基础的环境是什么?好多同学,在学习前端的过程中,在环境上吃了大亏,花了很多的时间。

有的同学就会问,老师不就是浏览器+Nodejs吗?错,现在的前端的要求,已经从静态页面的开发变化了,需要对服务器环境、数据库环境、自动化环境,要会使用。比如:老板说,你把你的代码部署一下吧,你就build了一下,发给了后台,结果,后台那边说,我们的项目运行了xxx目录下,你这里资源加载有问题...

基本的技能是什么?除了基本的3“剑客”,还需要有IDE使用、NPM加速(除了CNPM,还有Yarn)、真机调试等方面的知识。

基本的业务是什么?比如登录鉴权、长列表、动态列表、多功能表单...等。这些,我相信,已经有不少的同学买过相应的课程,也能对标自己的工作的实际业务,但是,我想说明一点的,前端与JAVA这类的后端不一样,前端的业务其实很单纯,技术也很单一,不像后台JAVA学一套业务设计适合于一套业务,但是其他的业务需要重新考量与设计。而在前端中,比如Vue框架就可以通吃,各类前台、后台项目。这是前端与后端学习之中,大家需要非常明白的一点——前端不是学的业务场景越多越好,关键是要熟练&了解技术的应用场景。

这个阶段,需要有一个好的引路人,才能走的事半功倍。

2. 过了这个阶段(大概会花1-3年),进入到中期之后。不仅大家熟悉了公司、团队的业务,而且有一定的框架使用经验,可以解决实际问题了。那么,就要从效率出发。学习工程化、组件化、接口&后台的知识,为自己的前端之路作后续的铺垫。

这个阶段是很多同学不喜欢的一个阶段,很痛苦,为什么?因为,首先在思想上就是一道坎。很多前端的同学,觉得前端就是做做页面就好了,很多事情可以交给后台,比如:数据结构不好整理交给后台,下载功能不好做交给后台,接口太难设计交给后台...结果就是后台的兄弟技术突飞猛进,自己一事无成,还在写页面。

这个阶段,要学习Linux知识,学习框架的原理,去啃平时那些所谓“难啃的骨头”,甚至要去涉及一部分后台的知识,才能打开视野,突破瓶颈。

人生有很多次选择,但是一次正确的选择,可以决定整个人生的走向。所以,在一开始的时候,就要多去尝试,多去感受这前端的那么多方向,才会找到属于自己的方向。

任何的质变都是量变的结果,进入到高阶之后。从技术上,应该要达到可以应对不同的业务场景的开发,那么就回到了初始的问题,自己的初心是什么?喜欢技术的,往技术更深的地方走,架构、数据库、自动化&运维;喜欢管理的,往产品经理、项目经理方向走,学习产品规划、需求分析、文档管理,以达到效率的团队推动;喜欢测试的...喜欢UI的...

3. 跨过了第三阶段的同学,已经不需要我们的帮助了,我也收到了很多同学的回复,找到了自己心仪的工作,少走了多少弯路;也有我的学生,成为了我的助手,加入了我的团队,一起筑梦。

4.前端大局观:高价值输出

心灵鸡汤预警....

我们都想要更好的生活,羡慕别人的同时,又很少看到别人的付出。薪酬是与能力&责任成正比的。

责任这一点很好理解,即份内的事情要做好做漂亮。做好是基本的,做漂亮是很难的。我们都知道那个“梗”,两个人被安排去买土豆,A说土豆买不到了,B说土豆买不到了,但是其他的菜是xxx价,从我们日常的分析上来看....多从领导者的角度出发去看问题,就会发现好多不一样的处事结果。

再回到前端,做技术的能力是指什么?学习能力?沟通能力?理解能力?...都对,我觉得最重要的是解决问题的能力,包括了上面的其他的能力。这一点,又感觉很空,但是实则是“没有人,天生就会解决问题,都是后天培养出来的”。主动的担责,才会有更多机会培养自己的能力。

随着技术的演进,前端的边界已经变得非常的模糊了。那么,自己的“一亩三分地”,可能在不久的将来就被瓜分走了,企业会去留住那些成倍价值的人才,那如何去增加自己的价值?

前端,“前”代表着设计、需求、交互、产品...这些用户侧的能看得见摸得着的,“端”代表着接口、测试、自动化、运维、后台....大家很多时候忽略的部分。我们的价值,就要像一把尖刀一样,深深地插入这些痛点的地方、这些被忽略的地方...

有了一个对“端的”的认识之后,可以去设置自己近期与远期的目标,然后动手做起来。有了知识了填补,那个“短板”补齐后的水桶,才能接满水。具体的做法:

  1. 可以思考团队效率开发,做一些技术导入;
  2. 可以主动去承担需求分析的工作,熟悉业务、接触客户,锻炼文字和文档能力;
  3. 可以参与一些“端”的开发,无论是后台还是跨端应用,把自己的定位设置的更高一点。...

最后,提一点。我们的价值,不要从牺牲自己的时间上(加班中)体现出来,要把自己的思考与行动结合起来,变成有价值的工作。告别平凡(重复和单调),其实真的很简单,从一件件小事做起,改变自己的状态,才能堆砌出“万丈高楼”。

当你不再需要站在“巨人”肩膀上的时候,当你成为了“巨人”,你的薪水还会低吗?

5.挑战即是机遇:发展挑战

为什么说2019年是互联网最差的一年?因为,真的有很多人失业。为什么说未来的10年是互联网的寒冬?因为,技术的门槛越来越低了,人工的成本在下降。

前端在未来的几年的发展,有几点是确定了的。第一,TypeScript 的大规模普及和流行,TypeScript 的普及会反向推动 ES6(ECMAScript 6.0)的进步和发展;第二,跨端能力进一步增强;比如小程序,不断涌现出各种转译实现,例如小程序、移动端的Flutter、桌面端的Electron(已经7.x版本了,短短2年时间)等;第三,微服务、组件化、人工智能,其实都是在解决效率问题,大小团队的短板都需要提效,就是单人创造的价值要更多,那么反过来就对性能、高可用有了更高的要求。...

这些都是未来的必定的挑战,站在了风口浪尖,只有很出手的人,才能把握先机。

企业越来越喜欢那些复合型的人才了,为什么?因为经济下行的大趋势下,必须要降成本,以前2个人干1个人的活,现在1个人干3个人的活,那么必然会有惨烈的竞争,这个社会就是这么弱肉强食,企业的根本要是生存,不是做公益。

前端这个行业又就是一个非常特殊的行业,前端工程师可以成为产品经理、可以成为UI设计(别小瞧设计,我一个UI设计朋友玩玩做做,通过做兼职,在外玩了1年)、可以成为项目经理...还可以自己出来做产品。因为前端可以接触到各式各样的角色,不要当这些是无用功,要把自己面对的每一次挑战,都当成是一次机会,一次去感受不一样的技术面的机会,一次去感觉不一样的业务的机会,一次去感觉不一样开发的机会...

所以,下次有机会的时候,请不要再说“我不懂运维”,“我不会测试”,“我写不好文档”,“我不会总结”...也不要说“我年龄大了”,要说“我可以学”,“我来试试”,“我尽量来做”...

时间是我们最宝贵的财富,但是心境是比时间更难能可贵的。有的人才20出头就已经看淡了生活,有的人30岁了还没有人生的方向,也有的人40岁了还在转行在学习,有的人50岁了还在写着代码....生活,是由一些平凡的事情所组成的,我们就要做这些平凡的事情的“编织者”,你的人生由你来书写。

最后,记住两句话,同学们。

活在当下,珍惜时间。
不忘初心,方得始终。

所以,急功近利的学习心态是不可取的,一定要平常心,要坚持多总结多分享多实践多交流。

最后总结

首先,意识上要转变。我们今天其实谈了很多心态的东西,这一些是在前端进阶路上的绊脚石;其次,就是有章法的学习。规划自己的前端技术进阶的路线,从兴趣出发,然后去学习主流的前端相关的技术,啃难啃的工作中、业务中的问题;最后,就是找机会实践。可以通过去认识更多的志同道合的人,可以通过一些开源的项目,也可以通过专业的老师+同学来省去自己规划的过程。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant