前端开发都需要哪些能力?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了前端开发都需要哪些能力?相关的知识,希望对你有一定的参考价值。
1、三大基础技能,js、css、html这三项技能是前端工程师能力中的基础,任何框架、工具、库都是基于这三者只上的。这是硬实力,决定了整个前端生涯能够达到的高度,以及在后面的技术栈拓展中的顺畅程度和能够达到的效果。2、工程能力要有,前端工程师首先是个工程师,做项目就是在做工程,所以懂得如何把一个项目的前端部分的工程运行起来,是另一项必备技能。
grunt、gulp、webpack都是著名的工程类工具,这些工具只要能熟练使用,就基本符合工程能力的要求。但是如果想要拿到更高一个层次的offer,理解工作原理必不可少。这些工具的根本作用,就是对资源的处理,包括代码的压缩打包、本地服务器的架设等。
3、调试能力要必备,如果还在用alert、console来调试程序定位问题,那么你还不符合要求。
学习chrome调试工具的使用,Elements查看元素、Network查看网络请求、Sources查看代码,设置断点定位问题、call stack查看调用栈。这个能力很少有人提到,但是掌握这些技能,不仅能在面试时加分,更重要的是在日后实际的项目中发挥的作用。
4、团队协作能力指的就是git,在项目开发中必不可少,熟练使用git,掌握常用的命令,学会解决冲突。
5、热门框架的使用vue、react是当前两个最热门的框架,能够熟练使用是基本要求,如果你想在众多求职者中脱颖而出,你还需要理解原理,还是那句话,你跟offer的差距就是使用与实现的差距。试着理解virtual dom的原理,响应式的原理,双向数据绑定的原理。
6、项目经验要可靠,不是“仿了几个页面”,而是“项目”的经验,是经历过整个项目从0到1全过程的经验,在这个过程中遇到了什么坑,如何解决的,解决的过程中是如何思考的。 参考技术A Web前端:
1、精通HTML,能够书写语义合理,结构清晰,易维护的HTML结构;
2、精通CSS,能够还原视觉设计,并兼容业界承认的主流浏览器;
3、熟悉javascript,了解ECMAScript基础内容,掌握1到2种js框架,如JQuery;
4、对常见的浏览器兼容问题有清晰的理解,并有可靠的解决方案;
5、对性能有一定的要求,了解yahoo的性能优化建议,并可以在项目中有效实施;
Web后端:
1、精通jsp,servlet,javabean,JMS,EJB,Jdbc,Flex开发,或者对相关的工具、类库以及框架非常熟悉,如Velocity,Spring,Hibernate,iBatis,OSGI等,对Web开发的模式有较深的理解;
2、练使用oracle、sqlserver、mysql等常用的数据库系统,对数据库有较强的设计能力;
3、熟悉maven项目配置管理工具,熟悉tomcat、jboss等应用服务器,同时对在高并发处理情况下的负载调优有相关经验者优先考虑;
4、精通面向对象分析和设计技术,包括设计模式、UML建模等;
5、熟悉网络编程,具有设计和开发对外API接口经验和能力,同时具备跨平台的API规范设计以及API高效调用设计能力
作为前端项目负责人需要具备哪些能力
因为业务线比较多,所以公司内部每一个项目当中都是一个中级开发在负责项目。所以也是给与一定培训和指导。以下内容全是从个人角度的理解去给与一些参照。
负责人能力.png
技术能力
基本的日常开发需求。前端技术体系。
image.png
快速掌握和上手新技术的能力
每一个负责人都有可能面对某个系统需要用到其他的新技术,或者以前没有接触过的技术,这里需要负责人有着自己的学习方法和学习能力,可以在短时间内掌握一门技术,快速进入开发,并在开发的过程当中继续积累和提高新技术
指导和帮助初级同学解决问题
这个环节不能缺失,这里就要求技术全面和思想指导。当在帮助初级同学解决问题的时候,不是仅仅只是在给他们解决问题,更重要的一点是双方之间在进行技术沟通和思路解决方案。对大家都有提升。
-
提升负责人的技术全面性,和沟通能力,问题解决能力
-
提升初级同学的知识面,了解其他人对于这个问题的思考
规划能力
规划能力,在于负责人对于工作的计划规划,是不是胸有成竹。
image.png
技术体系规划
选型考虑
-
是否可以满足业务需求
-
当前团队熟系技术栈的难易程度
-
当前技术体系搭配相关的技术体系
-
亲自去玩一玩,看看
相关技术文档的输出
在调研新技术的时候,形成技术文档输出的习惯,可以将一些坑或者使用方法,记录下来
人力资源规划
人力梯度规划
根据项目的体量,复杂度,需要规划具体的高中初级几人。
-
复杂度 决定高中级人数
-
体量决定初级人数
人力数量安排
肯定存在重复性劳动动作,这部分具体的数量安排。
任务划分规划
-
任务难易程度 划分不同的开发人员
-
可复用性考虑
-
任务时间安排
前面两个决定具体的时间划分。
风险规划
-
任务完成量
-
任务完成度
风险分为两种:任务完成了多少,任务完成的怎么样。
开发完成和任务完成是两回事情。
突发情况应对能力
其实正常情况下不会出现这种情况,但是在人力条件下,可能出现这种情况。借助现有的资源,解决相对的问题。
业务能力
前端同学其实对于业务能力因为各种原因,普遍没有后端了解的多。
image.png
梳理业务流程
利用泳道图或者流程图去梳理业务流程
系统功能泳道图.png
业务关键字段和数据在我们系统上的体现
关键字段和数据是基于业务逻辑流程梳理之后,知道对接接口的时候,一些关键数据的重要意义。
有效的参与业务评审,考虑业务和技术实现的结合
不是将业务评审当成是一个过场,需要有自己的思考,以及梳理,别人的讲解始终都是别人的,如果自己不了解,是无法在开发过程中了解业务实现是否有问题。
具体如何参与业务评审,后面会有其他的培训。
协作能力
协作能力,分为两个部分。一个是项目团队,一个是部门团队。
image.png
和项目团队
开发维度
这里的几个部分后面会有专门的session大家一起探讨。
-
产品评审
-
后端联调
-
交付测试验收
前端小团队
-
任务分配
-
任务check
-
任务风险
合理分配,及时check,预知风险
管理维度
-
项目经理 沟通 任务进度
-
汇报风险 & 以及应对
-
周报工作体现
总结
-
汇报人:项目经理
-
汇报内容:进度和风向
-
汇报方式:周报
和部门团队
因为在我们公司,前端部门是一种虚线的状态,大家可能分步在不同的项目组里面,但是前端还是要从整体技术方向上去做统一的提升和信息共享。
-
统一技术栈
-
配置化开发协作
-
信息共享,插件或者业务组件沉淀,节省其他项目成本
前端工具化发展:bitsun-inc.yuque.com/vghmle/yuf2…
组件沉淀
image.png
业务沉淀
image.png
沟通能力
沟通能力可以体现一个人的思维方式,以及是不是有着自己的表达方式。
表达方式
表达方式决定是不是 在有效沟通,有的时候可能大家沟通了半天还不是在讲一个东西。
谈任何问题的时候,不要直接上来讲问题,将上下文同步清除,然后在进行沟通。
为什么有的时候在讲一些问题的时候,讲了半天没有重点,听得稀里糊涂,就是因为自己本身就没有将问题梳理好,就直接拿出来讲。
任何事情:都是会有输入 -》过程 -》输出。
那我们将输入,输出讲清楚,中间哪个过程出了问题,就直接将前因后果的上下文自己理清楚,然后清楚的表达出来。
表达对象重点
-
项目经理,领导汇报工作:重点是进度和风险,细节不必特别强调。
-
部门人员:主要在于共享信息,和人力资源风险。
-
团队人员:和内部团队人员沟通则是要,大的方向同步好,细节一定不能放过。因为着重于技术的实现。
输入输出
我们在和不同的人沟通的输入不同,输出也不同。
-
输出指的是:我们想要达到的目的。
-
输入指的是:我们需要传到给对方的信息。
判断能力
image.png
判断能力决定于,一个人是否已经可以全局把控项目。判断能力在于有底气在项目当中对于事项进行判断和决策。
框架能力
框架能力决定一个人是否可以处理项目当中非业务逻辑的处理能力。
分析问题,解决问题能力
这一个东西极为重要,这是一个人的综合能力的体现。
技术广度,深度,逻辑分析能力【一部分结构化思维】的体现。
架构能力
image.png
心理能力
image.png
关于心理能力,这里没有和上面放在一起,但是也提一下,因为团队当中之前有同学和我反映过一些心理活动。
场景:可能我们在计划任务的时候,一切都计划好了,但是最终的结果还是延期了。可能有各方面的原因。团队人不原因加班,联调没有很好的完成,前期技术方案没有很好的实现,或者有问题。然后感觉自己是不是不行。产生了自我的认知否定。
我们不能决定所有的事情,事情也不一定会按照我们设想的去发展。我们唯一能做的就是,把我们需要做的事情做好,至于结果可能有所偏离,那我们继续努力就好。不必针对我们自身,产生不好的情绪。
尽人事,知天命。
所以我们更注重是做好自己的事情,遇到的情绪有自己的情绪处理方式
以上是关于前端开发都需要哪些能力?的主要内容,如果未能解决你的问题,请参考以下文章