什么是“前端”工程师
我在招聘广告和办公室的一些对话中,听到了一个新的角色:UI Dev,事实上我在知乎上还回答过一个关于ThoughtWorks的UI Dev的问题。简而言之,UI Dev可以快速的把设计师的作品实现为HTML/CSS/JavaScript代码。
如果按照这个标准,我觉得UI Dev对自己的要求太低了。毕竟要学会HTML/CSS实现mockup并不困难,但是成为一名前端工程师则需要掌握更多的知识:
会用PS来进行图片的处理(比如切图,微调等)
用HTML/CSS实现mockup(可能还有SASS/LESS等工具)
熟悉JavaScript(比如前端的MVVM框架,客户端模板)
前端开发的工作流程(代码检查,精简化,模块化CSS,LiveReload,调试)
编写测试(静态检查,单元测试)
跨浏览器、跨设备的解决方法(不同分辨率,不同厂商)
会根据项目的特点选择不同的前端技术栈(移动端,Web站点,响应式设计等)
在有了基础的HTML/CSS/JS技能之后,你会尝试做的更好:
如何更高效的操作DOM
如何将CSS写的更加清晰易懂
如何编写更加易于维护的代码(更有意义的单元测试)
如何组织大型的项目结构,模块化,组件化等等
这些要求事实上已经不那么容易做到了。它可能会花费你2到3年时间来完全掌握。但是2到3年之后,即便你已经成为了一个“合格的”前端工程师,这也还远远不够。在现实世界中,一个软件产品除了前端,还有非常广阔的空间,还有很多有趣的东西值得学习:
HTTP协议本身(缓存,鉴权)
Web容器/HTTP服务器如何工作
无状态的Web应用的工作原理(如何让网站正确地运行在集群上)
动态,静态内容如何分离部署(反向代理配置)
安全机制如何配置
监控机制如何配置
有了这些,也算是有点端到端的意思了。这时你也已经不是一个“纯前端”工程师了,系统中的大部分问题你都可以搞定,不过日常工作中可能更多的职责还是做前端的开发。但是这些还不够,软件除了交付之外,还有一些非功能性的需求:
端到端测试(UI测试,比如selenium server/web driver)
devops(比如数据库环境,测试服务器,CI服务器的自动化provision)
基本的UI设计原则(在某些页面确实的情况下,根据系统的已有UI做设计)
数据库性能优化
性能测试
这时候,你才能算是一个严格意义上的“前端”工程师。不从系统的角度来思考,不真正做一些后端开发/配置,并不能算是前端工程师,或者可以被称为偏前端工程师(partial frontend developer)。但是即使称为上边这样的“前端工程师”,我想这离一个优秀的工程师还是有很大差距的。
现在,51CTO高招邀请你,加入这些公司。
职位 | 薪资 | 地点 | 公司 | |
1 | 前端开发工程师 | 12K-18K | 北京 | 金联储 |
2 | 软件测试工程师 | 5K-10K | 上海 | 东普科技 |
3 | C++软件工程师 | 12K-35K | 广州 | 多益网络 |
4 | PHP开发工程师 | 15K-30K | 北京 | 优酷土豆 |
5 | HTML5前端开发工程师 | 8k -16k | 北京 | 星火金融 |
6 | iOS开发工程师 | 10K-15K | 北京 | 智网易联 |
>>来高招查看更多<<
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。