前端工程师如何才能不焦虑?

更新相关文章:何以解忧,惟有暴富,手把手教你打造财富方程式前端

引言

进入2019年,中国互联网充满了焦虑的气息,不断有各类负面的消息,年初的互联网行业的集体大裁人,让你们真实感觉了一下互联网下半场的变化。vue

外企最近几年持续的退出中国,裁撤国内研发中心,曾经高大上的表明也逐步褪去了光鲜的外表,不过好在补偿并不亏待,加上外企培养的良好我的素质,再出发也许并不困难。可是,国内的996是否还能适应呢?react

中兴41岁员工在被裁后跳楼自杀,让人不由扼腕,中年技术人员的上有老、下有小、外加几百万的房贷,看似事业有成、人生赢家,其中的压力其实不少人不能理解。程序员

各类自媒体关于裁人、35岁程序员都去哪了,最近还看到一系列漫画描述互联网从业人员30岁后的出路:送外卖、开滴滴等等,当然充满自嘲,其实也说明了无奈的现实。ajax

这篇文章不但愿给你们带来焦虑,想说说本身对这件事情的见解,以及如何才能不那么焦虑。vuex

如今有什么不一样吗?

就在短短3、四年前,那时候全国还在号召全民创业、万众创新,一大批移动互联网的公司出现,一波波概念出来,互联网金融、O2O、互联网医疗、教育等等,如今回头一看,不过是一场闹剧而已。redux

真正成功的公司百里挑一,根据互联网的特性,必定是规模性可扩展的业务才能赚钱,因此在每一个细分领域大致上只能有两三个玩家存在。小程序

前段时间还看到有人提问“为何如今大厂都只招工做3年以上的了?” 其实核心缘由就在于互联网进入下半场,在上半场,不断有大量资金支持,有大量用户能够收割,有大量场景没有互联网化,因而人才的缺口是巨大的,也是当年培训班如火如荼的缘由。后端

如今用户的增量没有了,连用户的时间增量也没有了,用户数和时间向巨头集中,你能够想一想手机上的app有多少装了就没再打开过了?设计模式

如今的人才市场是供大于求,充斥了前几年批量进去的初级的程序员,在最近会发现工做并很差找了。可是3-5年高级资深的工程师仍是紧缺的,公司对于人才的标准是提升很多的,招人也变的很当心谨慎。

下半场各大巨头都瞄准产业互联网,这是一个彻底不一样的市场,再也不可以快速迭代,小步试错,c端用户容忍度比较高,可是b端商户有可能就由于一个小小bug而拒绝你的服务。这是一个须要耐心,须要精耕细做的业务,过往爆发性的增加可能很难再现。

前端有什么不一样?

最近5年,前端的发展使人目不暇接,从三大框架,到小程序,到Node,到GraphQL再到WebAssembly。前端的技术看起来发展是极快的,覆盖的范围也愈来愈广。

技术的迭代更新当然让人兴奋,但也须要你们不断学习,5年前玩转jQuery和ajax就能够找到一份好工做,但如今若是在简历上还出现这些技术都是减分项了。

多平台的扩展也让前端有更多空间,如今能够用react native、Flutter写app,能够写小程序、快应用,能够用Electron能够写桌面应用,能够用Node作后端。

之前有过一句话“凡是能够用JS实现的,终将用JS来实现”。这句话看起来一步步成为现实,但面对这么多的选择方向,前端同窗们是否是更焦虑了?

前端工程师须要具有的能力

如今是一个信息爆炸的社会,信息是不缺的,缺的是过滤信息的能力,缺的是独立思考,将知识整理为我所用的能力。想要不焦虑,必定要明白哪些是须要关注的能力。

前端工程师首先仍是软件工程师,所以软件工程师须要具有的基础能力同样,最近我司也不断强调苦练基本功。

软件工程基本功有哪些呢?

  • 编码能力,数据结构,代码规范,写出优雅可维护的代码,从变量命名到单元测试等等

  • 设计能力,设计模式,分层解耦,领域设计,技术选型,写好技术设计文档,作好技术评审等等

  • 业务理解能力,一切研发工做都最终服务于业务,要可以对业务有理解,才能避免沦为业务产品的搬运工,才能参与业务决策中,这样才能服务驱动业务

  • 总结规划的能力,相信你们每半年或者一年都会有总结,可是大多数总结会变成流水帐,应该培养如何体现作技术选型的思考,如何作好技术规划

  • 项目管理的能力,也许你不是项目经理也不是scrum master,但你我的依旧能够作好工时评估,开好站会,控制好进度,影响推动协做方的进度和产出

关于技术学习上,因为如今有大量的新技术、铺天盖地的技术文章,无形给你们很大的焦虑感,以为一天不学习就跟不是时代的步伐了。

对于如何进行技术学习有几点建议:

  • 多学不变的东西,这点和上面提到的基本功很相似,这些基本功会让你的职业发展长期受益的,可是每每是基本的缺少明显短时间收益,会让你们忽略。

  • 创建知识图谱,每个技术方向都有完整的知识图谱或者学习路线,GitHub上有很多总结的很好的图谱。这些图谱的好处在于你可以经过图谱很快补齐短板,对于新的知识点也能从容归类,再也不盲从。

  • 跨知识点的学习,前端技术点很是繁杂,若是都是短时间追逐各个新技术点,很快就会疲于奔命,到头来感受好像也没沉淀下来。跨知识点是但愿可以让学习从点到面,在从面到体,例如前端三大框架必定要对比的进行理解,在架构设计上有什么优劣,是怎样作取舍的。又好比状态管理框架上,redux、mobx、vuex都是如何设计的,在使用场景上有什么区别。

  • 认识解决问题的本质,之前可能须要你们可以熟练使用技术框架也许就够了,但更本质的是这些技术是如何解决问题的。就拿跨平台的方案来讲,最开始你们基于Webview经过js渲染界面,经过JSBridge获取原生能力。可是Webview渲染始终没法得到相似原生的体验,因而RN/Weex的技术出现,经过js编写,基于vdom,渲染成原生控件,从而解决了渲染性能的问题。可是,跨平台的原生体验有差别,js和原生通讯始终有性能问题,因而Flutter出现,实现了从底层渲染引擎到界面渲染再到消息通讯的全闭环实现。

代码以外

工程师的人生不只仅只有技术,代码以外应该还须要有不少能够学习掌握的。这里推荐给你们一本书《软技能》,涵盖了代码以外的方方面面,例如我的营销、学习、时间管理、职业规划、理财、健身等等,限于篇幅就不展开了,也许从此有机会再整理一篇。

《百岁人生》中提到将来90后或者00后大几率平均寿命会达到100岁,未来的人生也不会是典型的三段式:上学、工做、退休,而会是变成多段式,并且随着职业生涯愈来愈长,大几率不会只从事一份相同技能的工做。

职业生涯历来不是百米赛跑,而是马拉松,不断投资本身,得到能够迁移的技能,独立思考的能力,到中后期越是软性的技能越能给你加成,愿诸位工程师可以远离焦虑,活出多彩的人生。

有兴趣同窗能够关注微信公众号奶爸码农,不按期分享关于投资、理财、IT的信息:

相关文章
相关标签/搜索