作者:@wangly19,本文已授权掘金开发者社区公众号独家使用,包括但不限于编辑、标注原创等权益。
前言
为什么写这篇文章呢?
其实是看到耳东
写了一篇前端项目负责人最基础的需要会哪些?这篇文章。
?我看后我也产生了一个思考:
在成为项目负责人
之前,成为一名靠谱的前端工程师,又需要具备什么样的能力呢?
很多时候,其实都会听到前端很简单,上手非常简单啊,等等不具备参考价值的消息。
前端真的简单吗?
答:简单而又不简单,毕竟绝大多数前端用着现成的脚手架
,现成的应用框架
,现成的组件库
,因此在别人看来并没有技术含量。也正因为如此,一些开源框架,库的作者反而在前端圈更加知名。可能这就是所说的同行衬托吧。
但同样的,前端也并没有表面上那么简单。而成为一名靠谱的前端工程师,还是有一定难度的。
可以在阅读文章的时候进行一个短暂的思考。
图先放前头。
本文回答纯属
个人观点
,非引战
。
如果有疑惑或者说好的建议可以在评论区
进行探讨。
硬实力
在社区里有非常多的提问,其实都是关于硬实力的。简单列举一些经常会看到的一些问题,供大家参考。
- 不会英语可以做开发吗?
- 不是科班好不好找工作?
- 我是前端,要不要学习
数据结构
和刷算法
啊? - ……
只需要在看社区和论坛,你肯定会接触到这些问题。为什么会出现这些问题。以及该怎么做?可以在心里去思考下这些问题。
Tips.如果是准备入行的朋友,正在
毕业找工作
,或者是准备自学入坑
,培训机构入坑
也好,可以耐心的读完文章,让自己有一个基本的认知力。而不是被焦虑感染
.
不会英语可以学前端吗?
这是一个很纠结的问题,很多人问出来其实就是想听一些鸡汤,比如不学英语也可以做开发,你看那xxx
。技术好都不是问题
等等回复。
那么,英语重要吗?
答案是:肯定重要,早在16年,尤大就对相关的提问进行了回答。我也非常喜欢“英语不好也能成为好程序员” 是自欺欺人
这句话。
但是现实残酷就在于,英语真的是一个长期积累的硬实力
。并不能像是vue
, react
一般进行一个有高回报的渐进式过程的学习。
我本人英语也不好,但是在长期的开发下还是积累了一定的词汇,虽然不多但是配合
某度翻译
和某道词典
来说也勉强过得去。
计算机基础的疑惑?
科班
与非科班
的差别就在于,科班
在大学时期能够接触到一些计算机基础的知识,如数据结构
,计算机网络
等等知识。
在这之前,探讨这些问题的前提因素是你会不会用到这些知识,很多人都说数据结构
和算法
非常重要,所以现在前端面试不论什么等级的岗位都喜欢来点算法,让自己显得更加的专业一点。
在我看来,答案需要从出发点去考虑。
如果,你需要进大厂,那么这些内容应该属于必知必会的知识点了。因此,属于非学不可的一些技能向,至于进去会不会用到,那是以后的事情了。不然,也不会有面试造火箭,进去拧螺丝这个说法了。
如果,你只是进中小厂,那么更多的知识点可能是在对业务
,开发流程
的侧重点上,绝大多数面试官都不会在这些知识上去过深的为难你,毕竟你进去不是做题,毕竟相比于基础知识来说,更多的是考虑当下业务赋能需要的产出。毕竟,迭代必然要走下去,工还是得有人打。
- 在啃源码的时候,必然会涉及到
设计模式
,数据结构
,算法
等基础知识,可以尝试先了解,然后在通过啃源码来加深对这些知识的理解,将其转化为自己的硬能力。 - 说起来,其实并不需要太过高深的基础知识,而是能了解大致上的解决方案和理念我认为就够了。如果你的工作需要你去研究的更加深入,那么在去研究其实也并不算是很迟。
计算机基础很重要,但是做为一名打工人来说,如果没有进大厂的资本,侧重点不如先放在职业技能方面。侧面去进行了解计算机基础知识。而不是人云亦云,盲目的跟随
社区
中算法
潮流而去顺着其他人的职业规划而规划。而是思考当下,你需要走哪步路,然后去选择哪步路。
软能力
软能力不同于硬能力,它可能是自身潜移默化中培养出来做人做事
的一些风格,千万别将其与办公室政治
混为一谈。软能力对于一名开发来说,可以让你无形中做成很多事情。
在我工作的一年里,总结一些实实在在
在日常工作中帮助到我的一些软能力,且这些应该是绝大多数同学都可以去尝试的。
沟通能力
在工作中,做为开发,我们需要对接很多的人。下面,我摸一张图大体上举例一下。
、
-
产品经理:相爱相杀的羁绊之友,不得不说在吐槽
产品经理
的今天,不得不帮他们洗一下,一个好的产品确实能让开发效率事半功倍,毕竟流程图和文档都非常清晰,功能评审也能够让在场的人都可以了解功能的大体走势,且对问题对答如流。可惜,这等人非常少见,不让你事倍功半就不错了。 -
UI/ UED:曾经我天真的以为
1px
还原非常非常简单,直到我遇到了他们?。 -
测试 / 测开:BUG之友,自带BUG体质,在我看来,他们并不是正常用户。
-
领导:一年来总是会有几次的。
-
……
对于此,我只能说作为一个开发,相应的沟通能力是必须要具备的,这样才能保证在复杂的体系下自身的权益。避免资源浪费和需求返工。与同事之间,商讨解决方案时也能够得心应手。
需求不可能不做,等真正返工的时候,发牢骚和吐槽的还是自己,把大部分可能性扼杀在初期,及时止损。毕竟功能肯定要上,如果一开始不沟通好,那么痛苦的还是自己。
规划与总结能力
规划能力最直接的表现在就是对当前迭代内容的一个把控,能不能做完?完成质量好不好?需不需要加班?
总结能力最直接的表现就是对质量大盘的分析,然后把控本次迭代的一些因素,形成复盘总结。其次就是结合沟通能力
在砍需求互怼中相爱相杀了。
在对工作中,我喜欢将每天上班的时间拆分出来,比如说下午2点~5点
是我比较喜欢的一个code时间
,那么在我的日程中就会将这三个时间占用掉,而其他人在支配我空闲时间时尽可能的约我剩下的一些时间。
如果实在拒绝不了的日程安排,那么就需要对时间做出调整,将碎片化的时间利用起来,尽可能多提升下自己,比如刷个掘金
。
我也将其分为了一些能够用到点:
- 复盘总结:对绝大多数的复盘都能有自己的一套逻辑去产出能够被他人理解的一个分享。
- 迭代功能:绝大部分前端还是以
业务线
为主的,那么自然而然你需要对业务逻辑
有自己的理解
,这样才能够在需求评审会上
对新需求
对大体流程上进行一个思考,而不是在做的时候才发现与之前的业务逻辑发生冲突。 - 迭代计划:对自身工作量进行一个预估,在一个周期内,对手头上的工作做一个自认为舒适的预估计划,其中需要去除一些不可预料的其他杂事,来占用的无效时间。
- 其他……
职业能力
职业能力其实是一个比较含糊的概念,暂且将其分为广度
和深度
两个概念。
很多人都说技术需要往深度
走,但很明显,在职业初期,懂得多不精的人比专精一项的人更吃香,毕竟不是人人都是大厂,绝大部分今天可能需要搬砖,明天就去活水泥,大后天可能去拧钢筋。
- 小程序(每家都有自己的语法,完全就是生态绑架呗。)
- 各种框架,生态
- 移动端
- web端
- nodejs
- 构建工具
- …
很显然,对于刚入行不久的前端开发者来说,如果体量不大,那么很多时候以上的东西都可能接触到,久而久之,这个公司就会以一个人能完成这些工作的思想去招人。
很显然,面试问题也是多元化的:一下子问web,一下子问小程序,又问一些其他东西,没有一个好的逻辑可言。最终,面试者的深度没有挖掘出来,然后回去又抱怨一下说招人真难。?
市面上绝大多数外包都是这样的,项目短频快,且技术不稳定,会在多个领域来回横跳。最终,你可能都知道一些,但也仅仅只是知道一些。看似简历上做了很多项目,到最后其实都是在一个池塘里游来游去。
如何走下去?
很显然,这显然不是一个靠谱的前端该具备的状态。那么,我们该怎么办呢,如何在这个内卷焦虑的环境下提升下自己呢?
不论你是外包,小厂,还是中大厂。其实本身都不妨碍你去学习新的东西,当你觉得你技术栈过于宽泛的时候,你就找你现在最拿手的去专研它的深度。
- 源码看不懂?只想你慢慢啃,总能啃下去,且必然会有收获
- 框架太多,学不动?你见过哪个稍微成熟点的公司,上午写
Vue
,下午写React
的?所以,专注一门就好了,在前端框架时代,不会几手庄稼把式,出去找活肯定是处处碰壁的。 - 每天curd,没有提升:找开源项目源码学习,实践类的也好,工具库也好。最好自己尝试去实践,将学到的东西自己实现出来。
- 学习,复盘:对自己做出来的东西自己去进行
code review
,做一个调节优化,比如说是不是有更巧妙的方式实现,现在的代码是不是晦涩难懂等等,尝试不断去进行优化,且为自己做出批注,进行总结。 - 持续学习:东西是学不完的,自己判断是否真的需要去学习一个新东西,是跟随潮流还是时下所需。千万不要听到别人说某个技术火,就直接去学习了。打个比方,之前很火的
deno
,意图颠覆node
生态,那么你去花时间学习,有意义吗?
资源
总结
文章的最后,或许有人又喷我贩卖焦虑了。
很多人对程序员的第一印象貌似都非常客观。但是我们并没有去反驳,或者说反驳并没有什么用。
不管在哪个厂,其实都会有很多无奈的地方。
绝大多数时间里,其实都不是自己想象的那样。我们大多数都不是主角,没有奇遇,就如同一朵浪花拍在海上,最后悄无声息。
- 我们每天规划的时间,绝大数情况都会被打乱。
- 不合理的需求依然会上,该返的工一样会返。
- …
成为一名靠谱的前端工程师,实际上并没有那么困难,你可以不会非常标准的英语
,也可以不会复杂数据结构
和算法
,也不需要科班出身
。
在与你接触的人中,如果大部分对你认可,那么显而易见,你就是一名靠谱的前端工程师。如果与你合作的人里面绝大多数都感觉不自在,从另一个角度来看,除了妒忌
之外就只有自身确实有很多不足之处
了。
如果文章对你有帮助,不妨动个小手,给文章点个赞吧。如果有不懂的地方可以看我资料加微信进行交流。
本文首发:掘金技术社区
作者:wangly19