什么是前端工程师?前端工程师需要掌握什么技能?

什么是前端工程师?前端工程师需要掌握什么技能?

前言

前端工程师是一个出现了10年左右,而颇受重视则是最近这五六年的事情。受到重视到前端从业人员井喷,也就是这一两年而已。因为前端工程师这个职位出现得太晚,导致各大学校均没有系统的相关教学,我们所熟知的各个大牛均是自我研究自我学习的。而随着google推出v8引擎以来,尤其是gmailajax的应用,再随着jquery的出现,解决了各大浏览器的兼容问题,而nodejs则将js推向服务器端,javascript从一个边角料的语言变成了一个性能强劲,前后端通吃的强大语言。

技术的发展紧紧是一个方面,更重要的是这几年万众创新,互联网+的概念深入人心,因此大量资金涌入互联网领域,大量的创业公司如雨后春笋一样涌出。大量的公司需要前端工程师的加盟,因此大量后端工程师开始转向前端。

而这些后端工程师因为其深厚的编程思想,他们完全无法忍受毫无逻辑可言的html+css+js的原始编程状态,因此又开发了各种前端工具以及语言。如针对htmljade模板引擎,针对于csslesssassstylus等。而为了便于项目部署,又有了所谓的amdcmd标准。一直发展到browserifywebpack等打包工具。而自从Misko Hevery开发了AngularJS之后,破天荒一样的整出了双向绑定的概念,自此,前端江湖真是百花齐放,争奇斗艳,一发不可收拾。

晕了,真的晕了。难怪真阿当同志在2016年年末在csdn上痛心疾首的指出,这已经乱到乌七八糟,再不是他熟悉的那个亲切的前端世界了。世界潮流浩浩荡荡,不会因为真阿当这样的前朝遗老就停止发展的步伐。在npm上各种组件、框架、工具每天都在上架,已经上架的不断的在升级,甚至,有的升级是以小时计!

而由于前两年前端工程师的紧缺,导致薪资颇为水涨船高,大量不明所以的路人涌入前端行列,以至于在知乎上关于如何入门前端,前端学五个月能不能工作,以及各种咨询如何从事前端行业的奇葩问题如沙滩的贝壳一样俯身可拾。

在这混沌乱世,我不禁要问,到底什么是前端工程师?到底掌握什么技能才能称之为前端工程师?

什么是前端工程师?

现在的前端工程涉及的面实在是太多了。以至于很多人搞不清楚,以为会点html+css就是前端工程师了。我把前端工程师分为以下两类:

前前端工程师

此类工程师的工作主要是和设计师对接,将设计师的设计稿像素级还原成html+css的网页。也就是说,很多所谓的老前端工程师,或者自认为学点html就能成为的前端工程师,只不过是前前端工程师而已。

htmlcssjs三门语言中,很多人认为困难的是js语言。对吗?对也不对。

js语言的困难在于他是一门真正的编程语言,所以写js编程是需要逻辑能力的。而这个逻辑能力是相当一部分人欠缺的。所以认为js语言难也就不足为怪了。但是,我认为js语言是这三个语言中最简单的。为什么呢?正因为它是一门逻辑语言,所以他是可以推导的。如果你本身逻辑能力不差,又或者学习过其他编程语言,入手js语言并非一个很困难的事情。

真正的难点在于htmlcss这两个所谓的语言。很多工程师嘲笑前端工程师说,htmlcss算编程语言吗?

我回答你——不算!

正因为其逻辑不强,是一个非常松散的语言状态,才导致其无比之难。你没有什么可以推导的。这样写也行,那样写也行,无论怎么写,只要能实现效果就行。问题是,优雅吗?

好比几乎所有中国人都认识3000个以上的汉字,任凭谁都能写点东西,但是真正能够让人感觉写得好的,寥寥无几。这是两门感性的语言,和其他编程语言完全不是一码子事儿,所以,这才是真正的难语言。

有人说,实现效果就行呗!对,正如我们每个人都能把话说清楚,不求堆砌华丽的辞藻一样,这样是能够与人交流了,上街也能买卖东西做生意。但是,在对前端工程师要求越来越高的今年,你还真心以为就会俩标签div+span就可以给自己戴上一个所谓的前端工程师的帽子,然后就月薪过万,当上CEO,迎娶白富美走上人生巅峰了吗?

做梦去吧!

如果你逻辑能力确实不强,但感性,理想化,尤其是文章写得还不错,如果还是个爱浪漫的女生愿意从事前端工作。那么如果你把html+css这两门语言深入进去学习,也是颇有可为的。

另外,虽然现在各种前端框架热火朝天,但是你看看现在主流的大型网站,新浪搜狐网易腾讯,是不是基本上都是老一套,除了页面设计越来越美,我没见哪个大型网站会使用angularreactvue这些东西。所以前景还是很美好的。

但如果你是个抠脚丫子的糙汉子,咱还是别了,咱们有重体力活儿可以干!

后前端工程师

什么是后前端工程师?上面的前前端工程师其实就是原来的前端工程师,而这两年炒得火热的前端工程师实际上是把原来属于后端工程师的活儿给抢过来了。所以我把它命名为后前端工程师

后前端工程师需要至少了解一门后端语言,了解json数据交互格式,了解至少一个前端框架,当然js语言基础绝不能差。了解项目构建,路由设定,数据库原理,服务操作等等一系列的基础知识。

具体负责的工作就是将前前端工程师开发好的网页,基于某种前端框架,与后端接口对接,并部署调试等。当然,在大部分公司,是不会把前端工程师分成前前端工程师和后前端工程师的,所以,页面制作的工作也需要由你来实现。

这才使真正的前端工程师。

当然,如果你希望往全栈去发展,那么服务端Node.js编程也需要掌握,我大前端牛逼啦!站在泰山之巅振臂一呼,还TM有谁?!

如果你真心如此牛逼,那早已走上技术巅峰了。只是,纵观火热的前端圈,又有几人能达到如此境界呢?高处不胜寒啊!

我想从事前端,我该如何入手呢?

首先,基础的html+css是必须掌握的,就好比学习中文一样,你必须先掌握3000左右的识字量,才可以说略懂中文。但是,在掌握了html+css基础之后,如何发展,取决于你自身的特点。

如果你比较年轻,大学刚毕业,自认为逻辑能力不错!,那么建议直接进入后前端的学习,深挖js语言,再根据你所在的公司的实际情况,选择一个主流的前端框架进行深入,在js不断深入的过程中不断的开发项目,如果能遇到一个好的公司,好的团队,你将快速的提升自己的技术能力,建议你从后前端的不断深入,然后不断提升前前端技能,最终达到真正的大前端。将来往全栈发展都是很有希望的。

如果你比较年轻,喜好文学,感性浪漫,建议深入学习html+css,再附带了解js语言,如果在一个不错的团队中,可以接触到那些后前端非常厉害的同事,你未必能如它在这些方面如此牛逼,但是你依然可以进步不小。不过,html+css是毫无捷径可言的,都是慢慢打磨出来的实力。你在js方面可能确实不如别人,但是要做到,同样的一个页面,你写的html+css就是比别人的简洁,整齐,优雅,那么你自然有你的存身之道。建议从前前端入手,深入后再往后前端靠拢,具体能提升到何种境界,要看你的天赋与努力的。

我是后端工程师转前端,咱别费那个劲了,以你多年的后端经验可想而知,你的html+css水平一定是垃圾,就是因为你这样的后端工程师的存在,才导致前端工程师奋起争先,往大前端发展的。不过没有关系,你可以扬长避短,利用你无比牛逼的逻辑能力与后端变成语言天赋,直接入手js语言以及某一个前端框架。推荐angular或者react。因为这俩框架就是你们后端写的。你会无比亲切。至于html+css这种小事情,教给别人去写啦!当然,你还可以深入研究node.js,往服务端发展,也是很不错的职业栈。

我是什么类型的前端?

吹了这么多牛逼,肯定有很多人不服。好,我简单说下我的情况。

我学得是中文。前端工程师这块基本全部自学,擅长html+css。目前从事vue技术栈的开发工作。04年入行从事网页切图仔的工作,国内第一批研究所谓div+css的人。擅长seo优化网站,语义化书写网页。12年以前没有关心过js语言。

目前在后前端的路上奋起直追。说我的前端经验,12年从业。但是真正在js语言上用功,也就是这两年的事情。所以,我是一个老菜鸟。

废话不多说了,本文由FungLeo原创,允许转载,但转载必须附注首发链接。谢谢。

时间: 2024-10-26 14:17:44

什么是前端工程师?前端工程师需要掌握什么技能?的相关文章

[web建站] 极客WEB大前端专家级开发工程师培训视频教程

极客WEB大前端专家级开发工程师培训视频教程  教程下载地址: http://www.fu83.cn/thread-355-1-1.html 课程目录:1.走进前端工程师的世界HTML51.HTML5与HTML4的区别2.HTML5新增的主体结构元素3.HTML5新增的的非主体结构元素 4.HTML5表单新增元素与属性5.HTML5表单新增元素与属性(续)6.HTML5改良的input元素的种类 7.HTML5增强的页面元素8.HTML5编辑API之Range对象(一)9.HTML5编辑API之

前端工程师(前端书籍推荐,前端知识结构)

一.技术的必须的 作为一名最基础的前端工程师你必须掌握HTML.CSS和JavaScript.三者必须同时精通,对前端知识一知半解的,一遇到问题就停下工作就四处搜索解决方案的,首先就算不上一个合格的前端人员.这样的如果当了前端工程师那工期肯定是不能保证的.合格的前端工程师第一要学会的就是在没有任何外来帮助的情况下(包括搜索引擎),能够完成大多数任务. 以下知识点是作为一个前端工程师必须了解和熟悉的: DOM结构——两个节点之间可能存在哪些关系以及如何在节点之间任意移动. DOM操作——怎样添加.

前端WEB开发工程师面试题-基础部分

1.Doctype作用? 严格模式与混杂模式如何区分?它们有何意义? (1). 声明位于文档中的最前面,处于 标签之前.告知浏览器的解析器,用什么文档类型 规范来解析这个文档. (2).严格模式的排版和 JS 运作模式是 以该浏览器支持的最高标准运行. (3).在混杂模式中,页面以宽松的向后兼容的方式显示.模拟老式浏览器的行为以防止站点无法工作. (4).DOCTYPE不存在或格式不正确会导致文档以混杂模式呈现.2.行内元素有哪些?块级元素有哪些? (1)CSS规范规定,每个元素都有displa

【前端】前端工程该干的事儿!!(网络笔记)

大多人都认为前端开发是一个「相对于其他模块来说更简单的领域」,在他们心中的前端工程师是这样工作的: 1.把 Photoshop 文件.图片或者线框放进一个网页:2.偶尔设计 Photoshop 文件.图片或者线框:3.用 Javascript 编程,为网页制作动画.过渡效果:4.用 html 和 CSS 编程,确定网页的内容和布局. 事实上,前端工程师在做的是: 1.在设计师和工程师之间实现可视化的语言:2.用可视化的设计,定义一组代表内容.品牌和功能的组件:3.为 Web 应用程序的会话.框架

初学者应该怎么学习前端?前端发展路线大剖析!

写在最前: 优秀的Web前端开发工程师要在知识体系上既要有广度和深度!应该具备快速学习能力. 前端开发工程师不仅要掌握基本的Web前端开发技术,网站性能优化.SEO和服务器端的基础知识,而且要学会运用各种工具进行辅助开发以及理论层面的知识,包括代码的可维护性.组件的易用性.分层语义模板和浏览器分级支持等. 前端工程师至少都要满足四类客户的需求: 1.产品经理. 这些是负责策划应用程序的一群人.他们会想出很多新鲜的.奇怪的.甚至是不可能实现的应用.一般来说,产品经理都追求丰富的功能. 2.UI设计

高级网络工程师 系统工程师

网络工程师职责,定员定岗 1 负责IDC机房托管的网络设备,服务器等资源的运维(故障排查:维修:更换)2 负责公司,机房之间网络正常运行,日常的网络监控,网络调整,维护,紧急的故障处理3 负责业务变更设计网络时,给出合理规划和设计4 负责公司数据中心网络架构设计,建设,运维,网络设备规划,设备的配置变更,合理引入新的技术,保证业务系统平稳7*24运行5 负责对项目,工作内容进行文档编写,方案指定,组织协调网络异常的事件处理,沟通汇报事件进展,负责问题跟踪6 配合应用等部门提供网络技术支持,对出现

初级工程师-->中级工程师

背景:2014年7月毕业,8月上班,眨眼间,半年过去了,过完年回头一看,自己都工作半年了,时间真的好快.这半年来,最多的想法就是,自己刚出来,先不去考虑太多现实的问题,如生存.以后的生活,更长远的如家庭等都没有过多的考虑.所以这半年豆过得比较任性,想怎么过就怎么过,想买什么就买什么,总的来说,想怎么就怎样,都没有去考虑过在开发技能上进行提升,更没想过更多的未来.  直到2015年4月,一个临时的谈话,一个差点的岗位变动,瞬间敲醒了还在混沌的自己.当时很怕去想象,如果当时在这公司真呆不下去,自己拿

详解Linux运维工程师应具备的十大技能

Linux系统如果是学习可以选用Redhat或CentOS,特别是CentOS在企业中用得最多,当然还会有其它版本的,但学习者还是以这2个版本学习就行,因为这两个版本都是兄弟,没区别的,有空可以再研究一下SUSE,有些公司也喜欢用,例如我公司. 1.Linux系统基础 这个不用说了,是基础中的基础,连这个都不会就别干了,参考书籍,可以看鸟哥linux基础篇,至少要掌握这书60%内容,没必须全部掌握,但基本命令总得会吧. 2.网络服务 服务有很多种,每间公司都会用到不同的,但基础的服务肯定要掌握,

前端笔记-前端优化简要大总结

个人对前端优化的一些简要总结,参考了一些别人写得资料 服务器方面: 提高自己服务器质量,带宽等方面 开启浏览器缓存,减少http请求 开启gzip压缩 使用内容分发网络cdn html界面 css文件放在head,js文件放在html尾部.下载某一个js时其他任务是暂停的,需要等这个JS下载并执行完毕后再下载其他的 不适用内联css 尽量减少标签,不多用一个标签,如clear清楚浮动用 :after js的延迟加载,异步加载,使用defer标签 . async="true" 减少dns

前端开发必知的7大技能

随着互联网快速成为日常工作生活的一部分,对于从事互联网的职业也有了更加清晰的定位:设计, 前端开发 ,后端,编辑,运营等等. 随着互联网快速成为日常工作生活的一部分,对于从事互联网的职业也有了更加清晰的定位:设计,前端开发,后端,编辑,运营等等.在这里我们以前端开发的人员的角度来看看应该掌握哪些技能. 大部分人会很自然地认为" 页面的开发没什么技术含量,很简单 " .不仅有这种普遍的认知,对从业者来说也有很多疑惑:做页面前端实现,没问题:兼容性,小 case :图片集成,一直都在用 -