能力要求
-
熟悉前端基础知识如 HTML、JS、CSS 。
-
能够使用一门 MVVM 框架进行简单的业务开发。
-
遇到复杂的组件和模块,会找现有的轮子使用。
-
会使用百度、google 等检索工具搜索问题。
中级程序员(阿里 p5)
在必要的辅导或标准流程支持下,能独立负责一个子模块或者一个项目的具体任务,对及时性和准确性负责。通常是 2-3 年工作经验的同学。
能力要求
-
除了前端基础知识外,熟悉计算机、网络等专业基础知识。
-
熟练掌握工作中使用的技术栈开发业务。(除了 MVVM 框架外,还能了解 webpack 的配置)。
-
能了解一个需求从开发-上线整个生命周期,并对各个环节负责。
-
具备基本的逻辑分析、问题分解、归纳总结等能力。
-
了解基本的数据结构和算法,写代码较熟练。
-
知道从靠谱的渠道去查找问题,在找不到合适轮子的时候,会造一些简单的轮子辅助业务开发。
高级程序员(阿里 p6)
具有独挡一面的能力,能够高质量完成工作,能把握一个系统/团队的整体实现,在推行过程中能提炼新的方法或方案,或对现有方案提出改进建议并被证明有效。通常是 3 年+ 工作经验的同学。
能力要求
-
具有独挡一面的能力,能高质量的完成模块级的工作。
-
熟练掌握工作中使用的技术栈,并能了解它们的实现原理。
-
能够在一个需求从开发-上线整个生命周期中找到痛点,并能使用技术的手段解决,提升效率。
-
能在模块维度对问题或需求做出分析和拆解,并做出相对合理的实现方案。
-
熟练掌握基础的数据结构和算法,代码符合规范,逻辑清晰。
-
有较好的技术选型能力。
程序员的进化之路
初级 -> 中级
通常在初级这个阶段,是进步空间最大的阶段,这个阶段是不存在天花板的。
编码
编码是初级阶段最需要经常做的事情,古话说孰能生巧,写代码也是同样的道理。
-
写什么的样代码
-
在公司要多做业务,尝试不同的业务,目标是让自己先成为一个熟练工。 下班后也可以折腾点小项目做,可以选择自己感兴趣的内容,尝试自己实现一遍。
-
如何写代码
-
学会模仿,参考大牛的编码风格,照葫芦画瓢。 如果公司有代码规范,跟随着公司的代码规范走,如果没有,参考业界规范,并用工具(如 eslint)约束自己。 遇到一些不会写的,哪怕找到可以参考的代码,跟着抄一遍也行。
工作
大部分时间都在工作,那么如何合理的利用好 8 小时工作时间呢。
-
熟悉业务 不要仅仅埋头写代码,也需要对业务了解,认真参与需求评审环节,明确自己所做的任务。
-
熟悉工作流程
-
要熟悉从需求-开发-联调-测试-上线的每个工作环节,认真按照规范来执行,对上线要有敬畏心。
-
提升效率
-
工作的时候,尽量不要被打断,可以安排一个免打扰时段,比如下午的 2点-4点,只编码而不去处理其它事情。减少在群里 灌水和斗图的时间。
-
加班
-
可以接受合理的加班(比如为了赶某一个需求加班一阵子),不接受没有任何补偿和调休的日常加班(996),因为日常 加班会压缩你学习和生活的时间。
学习
初级阶段是需要通过大量的学习来提升自己的能力。
-
明确自己的学习目标 学习是为了提升能力,能让你胜任更复杂和有挑战的工作。
-
应该学习什么内容 前端基础,JS、CSS、HTML 反复学习。 工作中用到的一门前端 MVVM 框架。 了解一些广度知识,比如 HTTP、正则表达式、Web安全、性能优化、设计模式,数据结构和算法。
-
找到合适的学习方式
-
看书+编码:购买经典的书籍阅读,并作为平时写码的参考工具,看书和编码是一个反复的过程,基本就是看书->编码->看书->编码循环个 3-4 次,这个过程就是在不断修炼内功。
-
视频:慕课网的入门实战视频,根据自己的需求购买,要充分学习自己购买的每一个视频,认真的跟着老师学习一遍写一遍,遇到不懂的要积极提问,学习在于深入而不在于多。视频比书籍的好处在于更贴合实践,也更贴合公司业务,另外,课程的升级和更新也更加灵活。
-
官网文档:学习每一个新的技术栈,入门最好的方式是通过它的文档学习,可以系统的过一遍文档,手敲它每一个示例。
-
社区:慕课网手记、掘金、CSDN、InfoQ 等中文社区,利用碎片化时间看一些高质量文章学习。
-
GitHub:学会 GitHub 的使用,知道 clone、fork、pull、push 等基本操作。
-
花更多的学习时间 如果想比别人成长的快,就得花比别人更多的时间用来学习(这也是为什么不鼓励日常加班),尤其是初级这个阶段,成长曲线是非常快的。
-
知识沉淀 俗话说好记性不如烂笔头,可以养成写博客的习惯,把学习的内容用文字的形式记录下来,整理成文,并按学习的技术方向做归类。
提问
在初级阶段,免不了经常遇到问题,会提问也是一门技术活,好的提问姿势能让你事半功倍。
-
不好的提问方式
-
“这个报错是什么意思?”;缺乏思考,没有体现自己关于问题的思考过程。
-
“为什么我的代码和你的一模一样,就是运行不了?”;缺乏上下文,应告知代码是编译不过还是运行不起来、错误提示信息、相关代码、可能出错的代码分析。没有足够的上下文,神仙都不知道如何解决相关的问题。
-
“为什么 xxx 能(不能)yyy”;问的问题本身就是一个错误的结论,通常是只是看到了现象,而没有分析问题的本质。
-
好的提问方式
-
首先你在提问之前,自己应该经过充分的思考,并学会把问题拆解,在拆解的过程中就会把问题的复杂度降低。 其次要善用搜索引擎,把关键字提取出来去搜索引擎上去搜索,先尝试自己去解决问题。
-
如果仍然不能解决,可以将问题的相关上下文、截图及必要标识及自己的思考过程、查找到的相关资料,以及自己的分析发送给想要帮助你的人,并能提供最小化复现的问题。
-
最后,请将你的问题及解决方案重新整理,并告知帮助你的人问题已经解决,重新整理解决问题的过程会帮助你理清思路、从而对问题有着更深的理解。
中级 -> 高级
到了中级阶段,基本上意味着你可以在大公司缺人的时候进入大公司工作了,如果想成为大公司不可拒绝的人才, 那你还需要朝着高级阶段努力。
编码
没错,到了中级阶段,你想要提升最重要的途径还是要编码。
-
写什么的样代码
-
和初级不同,除了做业务之外,你也参与开发做一些偏技术类型的项目,比如参与组内组件库的开发,一些通用 JSSDK 的开发,这些会对你的技术要求会更高。
-
有机会去参与平时使用到的一些开源技术栈的共建,比如想实现每个 feature 但现有开源库不满足,实现难度不大的情况下可以去提一个 pull request。
-
如何写代码
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数前端工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
如果你觉得这些内容对你有帮助,可以扫码获取!!(备注:前端)
最后
javascript是前端必要掌握的真正算得上是编程语言的语言,学会灵活运用javascript,将对以后学习工作有非常大的帮助。掌握它最重要的首先是学习好基础知识,而后通过不断的实战来提升我们的编程技巧和逻辑思维。这一块学习是持续的,直到我们真正掌握它并且能够灵活运用它。如果最开始学习一两遍之后,发现暂时没有提升的空间,我们可以暂时放一放。继续下面的学习,javascript贯穿我们前端工作中,在之后的学习实现里也会遇到和锻炼到。真正学习起来并不难理解,关键是灵活运用。
一放。继续下面的学习,javascript贯穿我们前端工作中,在之后的学习实现里也会遇到和锻炼到。真正学习起来并不难理解,关键是灵活运用。
[外链图片转存中…(img-3vBbWLDy-1713720099560)]
[外链图片转存中…(img-eZ3laApI-1713720099560)]