前端程序员如何做职业规划

对于零基础的前端新手来说,早知道前端的一个入门规划知道的越早越好。
1.确定目标
人之所以迷茫和焦虑就是因为没有目标,不知道自己该往哪里走。
对于任何一个技术岗位,都有固定的两个方向:技术专家(架构师)和 项目经理。
前者偏重技术,需要你在当前领域钻研得很深;后者偏向管理,需要你在对技术有很深掌握的同时,可以带领团队完成项目的开发任务。

哪个更好,这边没有一个合适的答案,每个人的经历不一样导致的选择会产生很大的差异,如果你对技术感兴趣,那么技术专家是个很不错的选择了,如果对于跟团队一起做业务更有信心,那么项目经理比较适合你。如果你对两个都不怎么感冒,可以尝试换个赛道,比如产品经理这个岗位,而且产品的岗位是真正离前端比较近的岗位。

方向确定了那么就得向这个方向努力了,那么怎么才能达到那个地步,理论显示要成为某个领域的专家,需要积累一万小时。也就是注明的一万小时候定律,这个定律的背后的理论依据是人可以通过重复练习使得大脑中的神经元产生某种联系。

在这里成为技术专家和开发经理过程中,关注的点略有差别。成长为技术专家,要更多关注技术本身的实现,包括逻辑、架构、设计模式、等;而成长为技术经理,则要更多关注技术开发的过程,考虑如何提高开发效率、降低开发成本、提高开发质量等等。每个人的精力是有限的选择性的关注一面有利于自己能真正的深入专研。

2.做业务还是做架构
做业务,时间要求比较紧,代码质量要求高,可参考的代码比较多,业务知识需要学习。做架构,时间稍微自由,对经验要求比较高,无可参考代码,专业基础知识需要深刻理解;最主要的,做架构的你既是开发,又是用户,还是 PM ,只有 80% - 90% 的明确目标,并在开发过程中不断微调最终的目标。

对于一个新人,其实不用纠结,做业务才是好的选择,而且做 技术含量高、使用流行技术 的业务才是最好的。原因很简单,架构的最终的目的是解决业务当中的问题,你没做过业务,哪能知道业务的问题在哪,你都不知道要解决什么问题,如何做好架构。

所以,从业务做起,是新人最好的选择,也是唯一可行的选择。而选择有技术含量、使用流行技术的业务的原因更多在于成长,这样你的成长可能会更快、成长道路可能会更直。当然,这只是『可能』,不同的人适合不同的业务,所以不要强求一定『技术含量高、使用流行技术』的业务,更多的而是改变自己,去 适应团队、适应业务,这样才能 更快地成长。

事实上,很多时候,你会遇到很业务工作很繁重没有额外时间学习的情况。而如何在这样环境中更快地成长呢?说白了就是复制。将学习融入到工作中,是最好的方法。做新项目,参考老项目代码;做新需求,参考老需求的代码;没有同类型的代码,参考别的业务的代码。参考前人的经验,在巨人的肩膀上,成长才会变得更快。

这时候你的导师和公司的领路人,在实际开发的过程中给你点指导你也能及时处理完成业务。
总结一下,在繁重的业务环境下快速成长,你需要 很优秀的学习能力、很持久的耐心 【这也是一个优秀的程序员需要的能力】以及 一个好的导师和同事,这样才能在技术成长的路上事半功倍。

3.技术的学习

这是最核心的问题了,对于一个新人如何学习技术?笔者给的建议是:千万不要囫囵吞枣,先把当前使用的技术学透用熟,才是最重要的;千万不要在还没把当前使用的技术吃透之前,去学新的东西,不管新的东西有多火。就像上文所说,不同的框架,有不同的核心,有不同的思想。两个框架代码相似之处的思想不一定相似,例如 Angular 和 Vue 都有双向绑定,虽然效果相似,但是实现思想和内部实现方式是截然不同的。还在入门阶段的你,会被各种思想充斥头脑,反而会更不清楚。

一定的时间后,当你理解透一个架构体系后,你可以 类比地去看 更多的架构体系。这时候,你会发现不同架构很多东西都是殊途同归,理解得很快。

当然,理解透一个架构体系,有人需要一年,有人需要三年,还有人可能需要更长时间。为什么有这么大的区别呢?因为有些人在开发中,并不认为完成就可以了,会在开发中,追求代码的优美,会不断优化自己的代码,让自己的代码性能更好、可读性更高,并通过长时间的积累,达到 量变导致质变 的程度。即使一个特别聪明的人,没有『量』也不可能『质变』的,也是只是说的一万小时定律,只不过他的量可能比其他人少而已。

同时在学习架构的同时,不要忽略两样最基本的东西,一个是 技术基础,一个是 开发规范。
技术基础是一切开发、架构的前提,没有一个好的基础,是无法让你自身的技术水平达到足够高的维度。例如你对于继承理解的并不透彻,你很难理解清晰 React 的内部实现。

对于开发规范,我在培训学员的时候特别注意让他们遵守。对于零基础学生一般来说代码并不多,还没有形成自己的编码习惯。这时候,开始遵守一定的规范,会促使他们养成一个较好的编码习惯,为后续的成长打好基础。下面,列举一下开发规范的几点好处,让大家明白代码规范的重要性:

规范的代码可以促进团队合作。
规范的代码可以减少 Bug 处理。
规范的代码可以降低维护成本。
规范的代码有助于代码审查。
养成代码规范的习惯,有助于程序员自身的成长。
这些细节是别的培训不会去强调的,只有我自己真的做过开发,并且有一套自己的开发规范,才能真正的去教授给其他学员。

4.其他方面的学习
作为一个前端,最该学习的两个方面是 产品 和 设计 。学习这两个东西相当于你增加了一个维度去和别人去竞争

学习产品思维,会帮助你从用户的角度审查你开发的产品,找出用户体验不优、交互不好的地方;而学习设计,则帮助你分析不优的地方的原因,并找出解决方案。当然,每个人的精力有限,不可能把这两个方面学得特别深,但最好都要有接触,有一定深度的学习。

总结
前文并没有直接跟大家说明怎么做职业规划,而是从发展方向、技术学习、主要业务场景、来给大家分析:作为前端,哪些需要做、哪些不需要做、哪些必须做、哪些可以做。大家可以根据自己的兴趣、能力等特性,并且和自己在公司所做的项目结合,决定做哪些、不做哪些、强制自己做哪些、有空余时间做哪些等等类似的决定。这里可以举个例子,例如:我的目标是成为一个技术专家,因此,我要深植业务一到两年,严格控制自己的代码规范,深入了解 React 体系,在移动端主攻 React Native,而且有时间看 Node 及 Babel 相关工具,目标是彻底理解 React 的技术实现和 Web Component 的开发思想。当你有这样一个目标时,你可以清楚知道自己做事的目的,可以清晰看到自己的成长。

要注意的是,如果你已经有工作的话,你的职业规划绝对不能脱离你现在的工作。实践出真知,工作带给你的实践环境,才是你成长的营养来源。

前端不管演变成什么,它所关注的永远是 用户体验,这其实也只是互联网的本质只不过端增加了,开发的方式也增多了而已。

结尾:
作为一个初入前端圈的新人,你或许对上面描述的东西并不完全理解,这没有任何问题。做一个适合自己的职业规划,并不急于一时,其实最好是在工作一段时间后,才能真正确定自己的真正感兴趣的东西。
另外本人目前的小班化前端线下课程已经开班了,目前由我亲自授课教学,主打前后端教学,帮助你在转行开发的时候少走弯路。

发布了25 篇原创文章 · 获赞 61 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/webicketang/article/details/104501522