点击有惊喜

前端工程师是互联网时代软件产品研发中不可缺少的一种专业研发角色。从狭义上讲,前端工程师使用 HTML、CSS、JavaScript 等专业技能和工具将产品UI设计稿实现成网站产品,涵盖用户PC端、移动端网页,处理视觉和交互问题。从广义上来讲,所有用户终端产品与视觉和交互有关的部分,都是前端工程师的专业领域。(web前端学习交流群:291851189 如果你想学习前端可以来这个群,里面可以学习和交流,也有资料可以下载) 
2005年的时候大多数网页长这样: 

现在的网页一般是这样的: 

前端工程师的发展之路和前景是怎么样的? 
前端是一个相对比较新的行业,互联网发展早期(1995年~2005年)是没有专业的前端工程师的。随着互联网的发展,大约从2005年开始,正式的前端工程师角色被行业认可,到了2010年,互联网开始全面进入移动时代,前端工程师的地位越来越重要,前端领域的技术发展也越来越快,各种新的思想、设计模式、工具和平台都快速发展,对前端工程师的技能要求也越来越高。 
有一些数据可以说明前端行业的发展迅速。 
在2010年之后最流行的新编程语言中有相当部分和前端有关,比如 Dart、Clojure、CoffeeScript 和 TypeScript。 
作为前端最重要的编程语言 JavaScript,在最近几年里不论是代码量还是关注数都稳居 Github 平台热门编程语言榜。 
行业对前端需求量持续增加,前端程序员薪水在行业里面处于较领先的位置。


近年来最流行的编程语言很多都是JavaScript替代语言


JavaScript在最热编程语言 TOP10


近几年互联网公司前端团队每年扩张一倍


JavaScript工程师平均薪水排名在程序语言工程师收入前10

前端工程师需要什么样的知识和技能? 
有人说前端工程师的技术栈是这样的: 

还有人说是这样的: 

实际上前端工程师最核心的技能还是: 

在一个典型的互联网公司的产品研发流程中,前端工程师和其他角色的关系大致上是这样的: 

前端是最接近产品和设计的工程师,起到衔接产品和技术的作用,前端为用户可以看到的部分负责,所以也是最接近用户的工程师。 
在多终端的时代,如果一个产品同时支持PC、移动端,前端工程师还需要和更多的角色打交道: 

JavaScript 对于前端是最重要的技能,所以优秀的前端工程师要有扎实的JavaScript基本功。而JavaScript这门编程语言也是目前程序设计领域炙手可热的宠儿,如今的它不仅仅只是用来开发Web,还可以用在各个方面。 

JavaScript 可以用在“树莓派”这类智能硬件芯片开发

前端工程师也是软件工程师,所以软件工程师的基础知识也是非常重要的,这些基础知识包括: 
数学 
计算机体系 
操作系统 
数据结构和算法 
编译原理

HTML和CSS也是前端工程师非常重要的基本功,很多同学,尤其是喜欢写代码的同学容易忽视 Markup Language,实际上 ML 也是 UI 相关的领域里面很重要的内容,不应该被忽视。 
HTML: The Living Standard 
HTML & CSS

有同学问说:“前端工作需求很多,老是改来改去,实际的技术点并没有多少,产品决定业务逻辑,从事底层基础服务会不会更有挑战和职业未来?” 
的确,越贴近业务和产品层面上的工作,需求差异性越大,可能改动越频繁。不仅仅是前端改来改去,PHP服务端做业务的同学也面临这样的问题,业务逻辑改来改去。越底层通用性越强,改动相对较少。 
不过事情都是有两面性的,首先可以这么想想,是底层基础服务的市场大还是互联网业务和产品的市场大。其次,基础服务的通用性很容易达成,而产品层面上如何通用化,如何在业务驱动的产品研发中利用工程化和工具化提升开发效率,这其实是一个很难的问题。丰富的互联网产品已改变和正在改变着我们的生活,然而作为产品的创造者,工程师们怎样让自己过得更好,这个领域值得研究。

如果你想学习前端可以来这个群,首先是291,中间是851,最后是189,里面可以学习和交流,也有资料可以下载。 
另外,不要觉得实际的技术点没有多少,举几个例子:实现曲线和曲面动画,计算地图的最短路径,让png静态图片类似于gif图一样做局部的运动,抽奖游戏,物理效果的HTML5游戏,3D图表,增强现实的WebGL视频流处理等等,这些都是在前端领域中遇到的实际问题。

就 JavaScript 来说,在实际项目中设计最合适的模型高效率解决现实问题本身就很有挑战。作为一种典型的新生代编程语言,JavaScript 特性丰富,使用灵活,性能优良。面向对象、函数式编程、各种设计模式、MVC 和 MVVM,这些本身就有足够的吸引力。 
前端要解决界面和交互问题,实际上UI层面上的问题一直是软件工程方面的一个难题,因为UI不停地在变化。浏览器各个版本的兼容性、Web 标准、移动设备、多终端适配,给了前端工程师很大的挑战,对前端工程师的能力也有很高的要求。许多UI问题有不只一种解决方法,许多问题有非常巧妙的思路和精彩的解决办法,前端在工程师群体里是属于非常有创造力的一个群体,因为这个行业需要丰富的创造力和想象力。 
前端工程师还是Web标准的制定者、实践者和推动者,而现在的W3C标准不仅仅局限于浏览器,还包括各种手持智能设备,车载设备、智能家居等等。在未来万物互联的时代,前端将不仅仅是网页上的工程师,而是所有人机交互领域的工程师。 
前端工程师的学习和成长 
前端领域发展很快,各种新技术新思想不断涌现,这是一个好现象。但是前端发展太快也带来一些问题,比如有同学就问到我究竟应该学些什么,Angular.js、React、Node.js、ES6、ES7、CoffeeScript、TypeScript……似乎永远有太多东西需要学习,有些东西好像还没学明白就被另一些新的技术取代而“过时了”。

其实还是那句话,前端工程师首先是软件工程师,基础是最重要的,如果基础不扎实,一切应用技能就都是“浮云”。前端的基础是什么?HTML、CSS、JavaScript基本功,数学、算法、数据结构、操作系统、编译原理基本功。 
一个优秀的前端工程师必须要有自己擅长的领域,并且钻研得足够深入,同时要有眼界,能“跨界”。可以以前端作为职业,但千万不要把自己的技能限制在前端领域,因为有很多东西,只有站在前端之外,才能看得更清晰,更透彻。 
学东西千万别盲目跟风,大家都在谈AngularJS就立即跑去学习,过几天大家都谈React了,就又放下AngularJS去学习React。前端领域知识点很多,值得学的东西也很多,聪明的同学懂得花时间学习成体系的知识并且研究得足够深入,因为只有这样才能从中总结出规律,形成方法论,这样才能最大化学习的价值。 

知识的正确用法 —— 一个领域里面的大师永远不会是另一个类似领域的菜鸟

这次前端星计划布置的一个实现带有农历和节气的万年历,有些同学卡在农历计算上,大约70%的同学懂得去网上找代码,但只有不到1%的同学真正弄明白农历计算的原理。 
在面试的时候,面试官问到如何做前端性能优化,有的同学能够拿雅虎的性能优化军规回答得头头是道,反复强调使用工具压缩静态资源,但是自己搭建的博客的nginx服务却没有开启gzip。都知道说要合并静态资源,要减少HTTP请求,然而为什么要减少HTTP请求,减少请求之后预计能改善多少性能,获得多少收益呢?需要弄明白这些问题,也需要深入了解HTTP协议本身。

点击有惊喜

写给想成为前端工程师的同学们 —— 前端工程师是做什么的?相关推荐

  1. 写给想成为前端工程师的同学们―前端工程师是做什么的?

    前端工程师是做什么的? 前端工程师是互联网时代软件产品研发中不可缺少的一种专业研发角色.从狭义上讲,前端工程师使用 HTML.CSS.JavaScript 等专业技能和工具将产品UI设计稿实现成网站产 ...

  2. 写给想成为前端工程师的同学们 ―前端工程师是做什么的?

    前端工程师是做什么的? 前端工程师是互联网时代软件产品研发中不可缺少的一种专业研发角色.从狭义上讲,前端工程师使用 HTML.CSS.JavaScript 等专业技能和工具将产品UI设计稿实现成网站产 ...

  3. 英特尔前高管的IC职业生涯分享(文字版)写给想进入IC设计的同学们!

    英特尔前高管的IC职业生涯分享(文字版) 欢迎大家来到今天的直播,我是IC修真院的李翼,木子李,如虎添翼的翼.是一个做了17年芯片设计的老司机,一直在世界一流的芯片公司做芯片设计.17年当中做过几十款 ...

  4. 写给想成为前端工程师的同学们

    本文转载自:https://www.h5jun.com/post/to-be-a-good-frontend-engineer.html 前端工程师是做什么的? 前端工程师是互联网时代软件产品研发中不 ...

  5. 写给想成为前端工程师的同学(转)

    本文转载自:https://www.h5jun.com/post/to-be-a-good-frontend-engineer.html 前端工程师是互联网时代软件产品研发中不可缺少的一种专业研发角色 ...

  6. 360月影写给想成为前端工程师的同学

    编者按:本文由360副总监.奇舞团负责人月影编写,文中解释了什么是前端工程师,前端工程师的发展之路.前景.需要的知识体系.以前前端工程师的学习与成长等内容,在最后,还提到了关于在校大学生学习前端的一些 ...

  7. 写给想成为前端工程师的同学

    本文转载自:https://www.h5jun.com/post/to-be-a-good-frontend-engineer.html 前端工程师是做什么的? 前端工程师是互联网时代软件产品研发中不 ...

  8. 转: 写给想成为前端工程师的同学们 (from 360前端团队)

    转自:     http://www.75team.com/post/to-be-a-good-frontend-engineer.html 前端工程师是做什么的? 前端工程师是互联网时代软件产品研发 ...

  9. 想成为一名优秀的Web前端工程师,这5点你要知道

    很多刚学Web前端的人都会有这样的疑问:"怎样学Web前端才能成为一名优秀的Web前端工程师"?想成为一名优秀的Web前端工程师,这5点你必须知道.下面跟着小千一起来看看吧. 1. ...

最新文章

  1. C#使用ICSharpCode.SharpZipLib压缩后进行web批量下载文件
  2. linux系统基本操作命令
  3. JavaScript入门(part4)--简单数据类型
  4. P3911 最小公倍数之和 (atcoder C - LCMs)(反演)
  5. 计算机网络【0】概述
  6. redis有序集合sorted set详解
  7. 西安外国语大学计算机基础,西安外国语大学教务处.PDF
  8. Spring cloud 微服务架构之Ribbon/Fegin连接超时ReadTimeout问题
  9. @PropertySource读取properties属性 中文乱码问题
  10. 图像处理-图像尺寸变换
  11. 设置盒子背景色透明度
  12. 视频教程-GO语言打造区块链视频教程-区块链
  13. excel 双纵坐标 图文介绍excel 2007如何画双纵坐标图
  14. 论文写作中Word设置公式居中编号右对齐保姆级教程
  15. LaTeX中实心圆点列表的一点经验
  16. 技术党求生骚操作!手把手教你做一只口红色号识别器!
  17. Debian 官方发文庆祝 28 岁生日
  18. 我用python实现了一个量化选股程序
  19. 人人商城,资金转账功能开发,让余额可以在会员中心自由流通
  20. eco淘客机器人-ECO云返利系统淘客

热门文章

  1. Unity3d使用FairyGUI 自定义字体
  2. VUE项目WebPack打包删除注释和console
  3. Chrome“插件英雄榜”
  4. Dynamic Wallpaper Mac版 视频动态壁纸
  5. html设编码为中文简体,node.js将html字符实体编码转化成可识别的简体中文汉字
  6. Java 数据结构和算法 - 递归
  7. excel插入html文本,带有标签的HTML文本,用于Excel单元格中的格式化文本
  8. 20元造一个运行Linux和Python的名片
  9. 有关1024的冷知识
  10. ArcGIS教程:将时间可视化对象导出为视频