论一个前端工程师如何快速学习,成长。准备自己的35岁 【-原创精读】
imagehtml5](https://segmentfault.com/t/html5)
<time datetime="2019-08-29T22:11:08+08:00" itemprop="datePublished" class="text-secondary ml-2" style="box-sizing: border-box; margin-left: 0.5rem !important; color: rgb(108, 117, 125) !important;">发布于 2019-08-29</time>
image<article class="article fmt article-content" data-id="1190000020232460" data-license="nd" style="box-sizing: border-box; display: block; line-height: 1.6; color: rgb(33, 37, 41); font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; font-size: 16px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); text-decoration-style: initial; text-decoration-color: initial;">
[图片上传失败...(image-f59847-1597910003629)]
前端工程师这个岗位,真的是反人性的
我们来思考一个问题:
一个6年左右经验的前端工程师:
前面两年在用jQuery
期间一直在用React-native
(一步一步踩坑过来的那种)
最近两年还在写微信小程序
下面一个2年经验的前端工程师:
并不会跨平台技术,他的两年工作都是React
框架还有制作微信小程序,年轻能加班
这时候去面试一家公司,面试官会如何选择?
当然,有人会说6年经验的疯狂学习,技术牛逼。这种情况不太多,我们看普通大众情况
可是在大多数面试官眼里,年轻人加入可以为团队注入新鲜血液
能加班,学东西快。因为一个重复的工作做了2年和6年,区别是不大的。
这或许就是前端所说的学会一个新框架就弯道超车吧
前端工程师的技术更新迭代极快
我们的技术真的疯狂在更新迭代,要命的是,在这个时代,我们是996的代言者。人口如此之多,你不上,立马有人补上,因为有人比你更缺钱。
前端的更新迭代,很容易出现断崖式更新迭代,还有时代的交替必然产物,比如传统的直接操作DOM
的库,变成了现在的 数据驱动框架。
仅仅是因为一个diff
算法和虚拟DOM
的结合
那谁又能保证不出现比目前更有优势的算法和开发模式?
在这个快速开发注重应用层的时代,除非在有很多资源的大公司给予充分时间和研发支持,否则就得用别人的轮子。
最致命的一点,目前所有的库,大都是与框架配合。 那么离开了这个框架,它所配对的库,你也无法使用,换而言之,一直在写业务的我们,一直在用别人的轮子(大部分开发者)。长久以往,底层的了解越来越少,年龄越来越大,接受东西越来越慢。这时候35岁来了
平时写的都是Ajax
请求加后台的CRUD
我曾经面试过一位6年经验的“全栈工程师”
2年PHP
纯后端
2年Node.js
中间层
2年React.js
前端
一开始我看见简历就有一种不好的预感,因为我们需要一个高级的工程师一起攻克难关
后面一共问了三个问题:
redis
是单线程的吗?为什么它快,有什么缺点
Node.js
的多线程和多进程有什么区别?
手动实现promise
里面,连续resolve
两次,最后then(arg)
里面参数的值是多少
结果一个都没有答上来
我就知道 该迅速结束了
面试不同的人,要给不同的标准去评判,如果是一个基本岗位,人品更重要
技术攻坚岗位,技术更重要
上班996,很累,没有太多学习时间
我觉得这是一个伪命题,人真的是可以做到007的。甚至更多
当然 并不能一直是007,而且要加上适当的锻炼。
工作太忙,一直被拖死,下班了睡大觉,睡醒急急忙忙上班加班。
上班8个小时,写8个小时代码,下班技术宅
这样更不可取,30岁后真的尽量不应该再靠投递简历找工作了(尽量,也不绝对)
人际关系很重要,什么样的朋友都需要,但是不能让他们的无效社交消耗你的时间
多结交没有恶习的朋友,上进的朋友
靠谱的朋友加上勤奋的你往往能给你带来更好的未来
技术一辈子,还是做管理一辈子?
这也是一个伪命题,世界上没有稳定的职位(除了大天朝的编制)
技术和管理都不能做一辈子,只有顺应时代发展和自身的不断提升才能跟上脚步不被淘汰。
10年前是jQuery
,10年后是React
说说如何防止这些情况的出现吧:
在这个年代,有人说大前端什么都要学,其实是扯淡
专精一个方向,例如数据可视化,动画,IM
等
或者专精一个领域,例如App
制作 ,后台管理系统开发
但是在专精一个领域的基础是,你所有的基础知识非常扎实。小到js
底层语言,大到框架和库,跨平台开发的原理。
曾经面试一个5年经验的同学,直接告诉我原理没有用,库都实现了。
这么说,也没错。
但是这种人是到不了一个更高的领域,例如JS
主线程和GUI
渲染线程互斥,这个如果不知道,如何做深层次的性能优化?
在学会使用一个技术后,了解他的底层使用原理能帮你使用得更好,甚至有时间可以去看一些核心源码。说到源码,别跟傻子一样都去看。 只看核心的重点部分就好
数据结构,算法,设计模式,要不要了解?
要!但是前期是你的其他基础已经扎实,然后再来慢慢学习这些东西,当然,算法不要学习那些过于刁钻古怪的题目。 平常的 够用来
新技术来了,要不要学?
例如React-native
和flutter
都要学吗?
如果不是公司用到,那么不要花大精力去学习,曾经面试过一位同学, React-native
从0.11版本用到现在,可是他也就会个React-native
。 还很普通
一精多专是最好的状态
不要盲目崇拜新技术
在工作之余 把基础打扎实,慢慢去学习算法这些内容。
前端学精一个方向+会大多数常见的算法就很厉害了
但是新技术出来,一定要去了解他的原理。
例如React-native
和flutter
有什么不同?底层原理是什么? 小程序的开发原理是什么?
等等。
有了这些知识储备,以后使用起来就很容易上手,出现问题也很容易解决。
最后 应该准备Plan B
计划
靠技术吃饭可以,但是不能有靠技术吃一辈子饭的思想(可能仅适用互联网)
大家发现,财务自由的人,收入来源都不是唯一的
这边亏损,那边能赚回来
风险分散
应该适当准备自己的副业,35岁以后可以不在一线开发。
及早做准备
这篇文章虽然写得很短,但是我希望能帮助到大家,这也是我最近悟出的道理。后面我准备出一个系列叫:
如何成功的上班摸鱼
, 欢迎大家订阅我 觉得写得不错可以给个赞
另外我们segmentFault
前端交流群还有名额
加我的个人微信:CALASFxiaotan
拉你入群哦~
小姐姐们在等你哦~
</article>
网友评论