这篇文章是一位自称“下水道前端工程师”的鼠鼠的自我反思与成长建议。先指出自身未变强的现状,接着从技术分层、如何拼图链接、业务与价值、保持热情等方面阐述。强调要找准技术水平,通过多种方式提升,重视业务创造价值,长期保持工作和学习热情,别摆烂要往前冲。
关联问题: 如何提高前端能力 业务与技术怎平衡 前端价值怎样凸显
AI智能总结首次生成速度较慢, 请耐心等待
闲谈
鼠鼠我啊,作为一个下水道前端工程师,除了crud好像啥也不会了捏,过去了一年好像自己也没变强捏,还是那个下水道鼠鼠那。
看到群里的今年要更卷,又想到元旦这几天好像什么也没学什么代码也没看,电脑都没打开过,想至此感觉真的是悲从心中起,不由想起黑色四叶草里的:引以为耻的并不是身为弱者,而是甘为弱者。鼠鼠我啊还有这个心气捏,也想走出下水道捏,也想超越极限捏。
定位
首先鸭,我们应该找准自己在一个什么水平,我以我的理解简单在技术上分为3层。
交付层:你已经能熟练的使用各种api,写大量的应用代码,处理业务逻辑,考虑用户体验了。这时候你就已经是一个合格的初级前端工程师了。
交付层+基建层:可能绝大多数的前端工程师都卡在了这个地方,这也是我觉得最难跨越的一个层次,这个层次就要考虑一个知识体系的完整性,诸如:框架原理/库、工程化、网络、浏览器基础、性能等。
在这个层次的前端工程师,已经拥有一个
相对完善的前端拼图体系。举个例子:就可能会出现这种情况一个写了3年的前端工程师,问他什么是cjs,esm他都不能很清晰的给你个答案。
并且我并不认为这是你背背面试题,看看教学视频就能获得的能力,你顶多只是收集了拼图,你并不能将拼图拼在一起,也就是融会贯通。
意思就是你可能知道了什么是
宏任务微任务,但你可能并不知道微任务会占用主线程。你好像已经会node了,那如果Node+pm2+shell+fs。你可能也粗浅的了解了babel,glup,但你并不能用它去做点什么。
你只是知道了,但你并没有把你的知识拼起来。这里我说的不是深度的问题(因为前端每个大方向都是看个人的深挖,人的精力是有限的),只是一个广度连接(就是你可以不深,但一定要理解做过)。这个阶段都是处于中级,当你拼图完整了,你就可以晋升到高级了。到这里其实你就不仅仅只是一个前端了,你已经把你的步伐从前端逐渐往全栈在跨步了。
交付层+基建层+容器层:容器,浏览器,AOT,JIT,协议,标准等你都了解了,你还在某个方向领域走得特别深入。你不仅走出下水道了,你还是鼠上鼠了,你已经是前端专家了。
如何去做一个拼图链接
世界上唯一不用努力就能得到的只有年龄。
谈谈我自己的思路吧。其实很重要的一点就是独立思考,每一件对自己成长有益的事情其实都很难,收益和努力程度是成正比的。
1、源码阅读,这东西真别光看,得自己上手去写去输出,你只看没法去思考源码的精髓所在(就类似于他在浏览器环境上解决了什么问题,他为什么要这么处理,他的算法做了什么优化诸如此类的思考),你遇不到你在实操会遇到的问题,写博客输出其实是个很好的方式。
2、刨根问底,我们平时写代码会遇到很多问题,你通过搜索引擎去得到了答案,或者你换了一种写法去解决了问题。那为什么你的第一想法不能是深挖?你去查issue,你去源码里定位问题,难道不是一种更好的方式吗?
3、创造性,你可以为你平时的工作,做一些创造性的东西。比如:前端工程化提效、组件库、中间件、浏览器插件等。
4、算法,算法其实是有利于逻辑思维的成长,它属于是在潜移默化的帮助我们成长,这是一个很漫长的过程。
5、站在巨人的肩膀上,掘金和gitbub有很多的强者,一方面是多看看文章把,还有就是他们的小册实际上是对某一块东西的整合。你也可能需要做一个账号养成,就是比如你刷比站,twitter,youtube全是技术文。
业务与价值
业务是程序员最远的捷径
为什么说是最远的捷径,因为事实上,懂业务,解决业务痛点,深入业务还不够。你与此同时也需要一些交流和表达能力的天赋(PPT和人际交往能力)。简单的说就是:你要懂业务!你要创造价值!你要社交!当然我们也不必这么极端(我就看不起那些业务崽之类的),我们讲究一个平衡就好,上述提到的属于是个人能力的一部分。
业务:
写到这的时候自己写了又删删了又写,单纯的不喜欢,我想当个纯纯的技术鼠,虽然这不现实。
因为写代码在这个大环境下,本质就是创造价值,创造收益,你的领导你的老板可能都不懂代码但依然可以骑在你头上骂你,可能你的同事代码写的稀烂工资还是比你高。他们就是那群不懂技术或者不深入技术但是懂业务的人。
有时候你可能卷到深夜去学习一些远离业务的东西,并不会对你涨工资加钱有什么提升,毕竟你做的东西没有带来收益。相反你懂业务,深入业务,并且能解决业务痛点,能提升你公司话语权那你离你涨薪肯定是不远了。(我也并不建议在不重视技术的公司多待)。
价值:
那作为一个前端如何去展现价值。毕竟可能绝大多数前端做的东西中后台系统,数据的准确性都体现在了后端。我个人觉得可以从:页面交互体验、渲染速度、数据量性能问题评估(这个东西是前后端都可以去做的)、工程化提效、打包速度。几个方面去凸显出来,这些东西都是可以放在日报、年终总结、评审会说的,也是能实在的产生收益的东西。
长期保持热情
鼠鼠告诉你啊,写代码可好玩了,还有很多你没有见过也没有经历过的有趣代码和复杂功能,所以不要放弃啊。
核心思想就是保持趣味性,如果你从一开始就不喜欢写代码说了也白搭趁早转行。
工作热情:这个事就是在说,虽然把你长期写差不多东西,让你失去了写代码的热情,你可以尝试同样的功能也不同的实现方式去做,简单的说就是:要不断地给自己设立新挑战,提出更高的要求,把写代码当成玩就好了。
学习热情:其实进入社会了之后,所有的学习都需要自觉,你可以给自己定一些符合实际,也不枯燥的目标,去每天坚持完成。哈哈哈其实这也好难,建议开始越简单越好,因为你总会遇到一些你特别不想去做的时候。
别摆烂:如果这个世界对你还算友善,那就别摆烂,认真去做好每一件事情。我们也不是圣人,你觉得环境不好就跑路就是,但还是多想想是不是自己的问题。
冲:鼠鼠们啊,都不是那么完美的生物捏,鼠鼠就该走鼠鼠自己的路啊,不管其他坏鼠鼠说什么,不管前路如何,往前走就好捏,今天的鼠鼠被打回下水道,明天的鼠鼠又从下水道出来了捏。
鼠鼠语录
鼠鼠我啊,就只有这些东西了那,尽管很烂,甚至全是垃圾。可是鼠鼠还是不想失去它们,不想什么都没有。