前端工程师的将来在哪里?

摘要:
阿里妹导读:不少童鞋在上次的问卷调查里表示,但愿多推出一些前端方向的内容。今天为你们分享一篇关于前端工程师职业发展的文章,抛砖引玉,期待与你们一块儿交流探讨。 我是成曰,目前在蚂蚁金服数据平台部任职前端工程师,从事数据中台产品的研发。

b8d486ada444fa7b75d74a194d6ffdb36384829c


阿里妹导读:不少童鞋在上次的问卷调查里表示,但愿多推出一些前端方向的内容。今天为你们分享一篇关于前端工程师职业发展的文章,抛砖引玉,期待与你们一块儿交流探讨。
前端


我是成曰,目前在蚂蚁金服数据平台部任职前端工程师,从事数据中台产品的研发。目前对前端架构与质量、用户体验、TypeScript比较感兴趣。
程序员


如下我说的都是我的观点,比较宏观粗浅,主要针对的是前端工程师自己,没有深刻技术和业务细节,请谨慎参考。 算法


职能概览


1e13089fd665126fd07b2d85778cf2d8568a23a5


前端工程师首先是个程序员,其次也是个软件工程师,他们工做在离用户最近的地方,负责人机交互和用户体验,虽然叫“前端”,但其实他们的工做边界其实已经很宽了。编程


展望将来,我想前端的工做会继续分化,也会继续融合,分工是工业革命以来社会高效协做的主要推进力,之后很长一段时间应该也会维持这种形态,融合的原始推进力也是提升效率。分化和融合是不断的演化和互吸取转化的,不过核心的东西我想仍是不会有太大变化。小程序


观点


1.继续分化(领域、行业、技术栈)后端

2.继续融合(端技术、Web全栈技术、人工智能与端技术)设计模式

3.核心不变(计算机科学本质、软件工程思想与实践、程序员职业素养)浏览器


f0d8606e4d75a4f12f03c5575bb7c9058b572093

1. 继续分化


领域


前端领域会继续分化,例如阿里内部的前端就已经有中后台、图形、端技术、泛Node、开发者服务5个大方向了,每一个大方向也会细分,举一些例子:微信


  • 中后台:有云控制台、信息&资产管理平台、内部研发&项目管理平台、人工智能&机器学习平台、数据研发分析平台,企业内部信息平台等。具体产品如阿里云控制台、ERP、PAI、DeepInsight、阿里内外、Basecamp等。前端工程师

  • 图形:有基础图形库、3D图形、数据可视化、流程图等。具体产品如G二、DataV、阿里云城市大脑、滴滴智能交通调度图、双十一大屏等。

  • 端技术:有移动端(iOS、Android、MobileWeb、PWA、小程序)、PC端(客户端、Web端)、触屏电脑、各类监控大屏、智能手表手环,智能汽车&家居屏幕等。具体产品如淘宝支付宝的App、PC主站、移动H5站,阿里郎、VS Code、双十一大屏、UC浏览器UWP版本、各类智能手表、手环、汽车、家居屏幕等。

  • 泛Node:有工具链、Web框架、IoT、客户端(Electron、NW)等。具体产品如DEF/Atool/F2E-Test(阿里前端开发者工具)、Egg.js、阿里云的IoT应用、VS Code等。

  • 开发者服务:有应用开发运维平台、组件市场等。具体产品如阿里云的应用搭建平台Boat、Fusion-Design组件市场,支付宝小程序开发者工具等。


行业


  • 2B

    • 信息管理、财务、建筑、航天、水利、金融、制造等传统行业软件以及阿里提出的五新:新零售,新制造,新金融,新技术和新能源,新技术赋能传统行业

    • SAAS软件及服务:如Teambition、Trello、钉钉企业版、Basecamp、Growing.io

  • 2C

    • 移动App:如微信、微博

    • PC工具应用:如Google Doc

    • 产品展现类网站:如阿里云、支付宝官网


技术栈


  • React(Native)

  • Angular(NativeScript)

  • Vue(Weex)


2. 继续融合


端技术


  • 前端、客户端技术思想的融合

    • 组件化(组件化搭建页面)

    • 组件生命周期钩子函数(如iOS ViewController)

    • MV*(如MVVM设计就来源于微软客户端开发框架)


  • 大前端的统一

    • 虚拟DOM技术:React/ReactNative/ReactCanvas

    • 各类移动设备内核和引擎的统一:WebKit/V8

    • Web技术文档的统一:Mozilla Web Docs

Web全栈技术


  • 前端、后端技术思想的融合

    • MV*(如前端的第一个MVC框架Backbone.js就来自于Ruby on Rails开发者)

    • AOP、依赖注入(Angular)

    • GraphQL(SQL)

    • IndexedDB(Database)


人工智能与端技术


  • 人工智能、前端技术的融合

    • 端是最终触达用户的节点

    • 端数据采集->后端机器学习、数据分析->智能推荐呈现

  • 物联网、前端技术的融合

    • 智能家居/汽车/工业设备多是有屏幕的,同时能够基于如JerryScript这样的JS执行引擎使用Node.js开发联网应用

3. 核心不变


计算机科学本质/软件工程思想与实践/程序员职业素养。

计算机科学基础:如基本的操做系统概念和计算机组成原理,算法和数据结构基础等等。

软件工程思想与实践:如软件开发模式,设计模式,架构思惟,自动化思惟,单元测试集成测试,UML等等。

程序员职业素养:如对代码整洁和可读性的追求,对软件开发的热情,对编程技艺的自我提高等等。


历史回顾


回顾过前端的演化,主要参见最底下的相关资源,下图简要回顾一下95年以来软件开发和前端历史:


2fa7b1de2c5fedb2406c483ad5d9d4ce75eae972

前端的将来


那些生存空间愈来愈小的产业


  • 小规模移动App:移动App市场被一些巨头把持,小规模App生存空间愈来愈小

  • PC信息导航类网站(网址、购物、论坛、生活):如今移动优先,并且有智能推荐,而且是强社交

无界面交互


Web前端能作一些事,主要是大前端的范畴

  • 会话式界面(视频语音会话、语音搜索:WebRTC,开源语音库:Common Voice)

  • 感官式界面(视觉:WebAR/WebVR)

  • 无界面,将来会有大量IoT设备(IoT有本身的通讯协议和规范,前端的工做是在用户看不见的后台)

富界面交互

大量工做须要前端来作:


  • 平常办公软件(复杂应用,而且慢慢从桌面程序演化为Web):Office、Email、文档管理、产品设计、项目管理、代码编辑器

  • 大数据/AI配套软件(复杂应用,而且慢慢从桌面程序演化为Web):须要大量的后台系统来作数据分析/机器学习

  • 播放器/游戏:H5代替Flash,如Web Audio、Web Video、Canvas

  • 容器/DSL/内核/小程序:支付宝/微信/钉钉容器,内核(也就是UC、QQ浏览器内核),及其自定义DSL(若是未来手机的底层能力均可以上浮到小程序,颇有想象空间)

  • 产品信息展现类网站(炫酷应用):各类智能设备官网、大企业官网

将来在哪里?


5e1cc9950fc9b9169940d9e08c722f10153b143b

回顾观点


  1. 继续分化(领域细分、行业细分、技术栈细分)

  2. 继续融合(端技术融合、Web全栈、人工智能与端技术的融合)

  3. 核心不变(计算机科学本质、软件工程思想与实践、程序员职业素养)


一些建议


  1. 关心人工智能的发展,思考TA在前端领域可能产生的应用场景

  • 视觉稿自动生成代码

  • 根据用户使用习惯自动排出最符合该用户习惯的界面

  • 收集用户数据在前端实时作学习和分析,如deeplearn.js

相信前端的将来,Web的力量

  • WebKit

  • V8

  • Flexbox:Yoga

结合公司业务特色有重点的关注前端的某些方面,毕竟技术服务于业务


后记:前端的发展超出了全部人的想象力,将来确定是难以预测的,也没有作预测的必要,咱们要作的仍是踏实作好眼前的事情,“过往不恋、当下不杂、将来不迎”,与君共勉! 如对咱们团队有兴趣,能够发送简历至tao.qit@alibaba-inc.com,期待你的加入~


原文发布时间:2018年01月23日

做者:成曰

本文来源:微信

如需转载请联系原做者

原文连接​​​​​​​

相关文章
相关标签/搜索