发布网友 发布时间:2022-04-26 16:59
共1个回答
热心网友 时间:2023-10-15 19:36
首先,优秀的Web前端开发工程师要在知识体系上既要有广度和深度!做到这两点,其实很难。所以很多大公司即使出高薪也很难招聘到理想的前端开发工程师。技术非黑即白,只有对和错,而技巧则见仁见智。
再者,优秀的前端工程师需要具备良好的沟通能力,因为前端工程师至少都要满足四类客户的需求。
1、会用PS来进行图片的处理(比如切图,微调等)
2、用HTML/CSS实现mockup(可能还有SASS/LESS等工具)
3、熟悉JavaScript(比如前端的MVVM框架,客户端模板)
4、前端开发的工作流程(代码检查,精简化,模块化CSS,LiveReload,调试)
5、编写测试(静态检查,单元测试)
6、跨浏览器、跨设备的解决方法(不同分辨率,不同厂商)
7、会根据项目的特点选择不同的前端技术栈(移动端,Web站点,响应式设计等)
在有了基础的HTML/CSS/JS技能之后,你会尝试做的更好:
1、如何更高效的操作DOM
2、如何将CSS写的更加清晰易懂
3、如何编写更加易于维护的代码(更有意义的单元测试)
4、如何组织大型的项目结构,模块化,组件化等等
这些要求事实上已经不那么容易做到了。它可能会花费你2到3年时间来全掌握。但是2到3年之后,即便你已经成为了一个“合格的”前端工程师,这也还远远不够。在现实世界中,一个软件产品除了前端,还有非常广阔的空间,还有很多有趣的东西值得学习:
1、HTTP协议本身(缓存,鉴权)
2、Web容器/HTTP服务器如何工作
3、无状态的Web应用的工作原理(如何让网站正确地运行在集群上)
动态,静态内容如何分离部署(反向代理配置)
4、安全机制如何配置
5、监控机制如何配置
有了这些,也算是有点端到端的意思了。这时你也已经不是一个“纯前端”工程师了,系统中的大部分问题你都可以搞定,不过日常工作中可能更多的职责还是做前端的开发。但是这些还不够,软件除了交付之外,还有一些非功能性的需求:
1、端到端测试(UI测试,比如selenium server/web driver)
2、devops(比如数据库环境,测试服务器,CI服务器的自动化provision)
3、基本的UI设计原则(在某些页面确实的情况下,根据系统的已有UI做设计)
4、数据库性能优化
5、性能测试
这时候,你才能算是一个严格意义上的“前端”工程师。可见要想成为一名优秀的Web前端工程师是需要经历一番历练的,有基础的人可以自学,没基础的需要参加Web前端培训课程,这样学起来更方便。