前端工程师的技术进阶点在哪里?

单纯讲技术进阶点意义不大,脱离场景都是耍流氓。我举个实际例子,今天的阿里大文娱优土,阿里接管2年,底层替换差不多了,由内容为王慢慢转变为产品技术驱动。这种情况下,前端如何进阶呢?业务很多,历史问题很多,老板迫切希望创新,赶超对手。

  • 端上,我有pc、h5、小程序,播放器

  • api代理层,我有node,可以快速实现api保证,1、内部有直接用,2)内部没有,自己写,3)不够用,我自己包装,不会让api层限制我的发展

  • 历史问题,我可以快速的想办法吃掉,尤其是老的php,这部分要做的是1)稳定改造2)提高团队技术栈

  • 我有端,我有api,即所有应用层面的事儿我都可以做。那么,新业务如何应对呢?根本还是在产品技术2个方面,对于团队技术,慢慢培养就好了,对于产品摸清他们的水平。

有哪些方向可以突破

  • 全局方向: 做业务整体架构,进可攻退可守,技术不行做技术,产品不行做产品,不要给自己设限

  • 深度方向: 做性能调优(前端、node)、高并发(node)、分布式(node)等专业要求很高的领域,node完全可以做任何java可以做的事儿,别抬杠

  • 延伸方向: 以js 和node为中心很多大神转移到大前端,移动端、ai、区块链、大数据等方面,算是传统Web的延伸方向

前端不该只写页面,node也只是基本技能,最重要的一点,技术要驱动商业,否则没有任何价值。你是一个工程师,征途是星辰大海,何苦给自己设限?

计算机教会我很多原理,我却用它来更好的生活


就觉得最好笑的事情,一方面口口声声称前端不应该被语言局限,跑过去用nodejs做后端,一方面说前端的进阶就应该是懂算法懂底层懂框架懂所有后端要懂的东西做了
几乎所有后端要做的事用nodejs做服务器端渲染还继续声称自己是前端仅仅是因为用了js。
  • 前端和语言关系不大,而是通过预编译、转译来提高效率。

  • 用node做后端,明显是理解有问题,随便举个前端库,node在里面是什么定位,想必大家都懂。node是辅助提效的,虽然理论上它应该做后端。

  • 前端是open的,只要最终编译结果是js就可以,至于用什么语言编写无所谓,所以typescript、kottlin、webassembly等等都可以,黑的点不对

所以明确一下,前端是指在用户端运行的代码,
后端是指在服务器端运行的代码。
你用nodejs做什么中转层,你的nodejs只要不是在浏览器端运行的,它就归属于后端。

这话挑不出毛病。如果非要挑,今天大环境下,前端和api之间关系越来越复杂。于是才有了我们经常说的bff(backend for frontend)和api proxy。这是历史必然性。

  • 端不一样,ue不一样,所以api不一样,h5和pc共用一套api就很恶心。很容易理解

  • 业务发展,今天强调速度,二周一个迭代,如果前端过度依赖后端,几乎是很难快速的迭代的。这种情况就比较坑了。那么,又要有kpi,又要快速实现,无疑组装api和服务是最快的方式。不得不承认,这世界不是完美的。敏捷和微服务的结合点是完美小组,万能,但却可遇不可求。

  • 前端是背锅侠,后端api宕机或者重启或者api字段变化等,故障都要前端先查,其实是非常浪费时间。前端是要有能力反制的,api代理层是有能力做到这点的。

  • 最后说一下api mock,多端并行开发,明显提高效率的,可以看看yapi做法

如果不理解node做中间层的意义,可能不了解一线痛点,对前端指指点点不太合适。

你可以说招募一个JavaScript工程师用nodejs来做后端开发,兼做着前端开发,不要再说我们招一个前端工程师,但是要你去做nodejs了。
最不喜欢PHPer和前端er的就是他们永远都学不会什么场景下用什么语言或工具解决什么问题,
一个好的工程师不会是语言的奴隶,
后端架构师之所以是架构,
在某种程度上就是包含了异构的元素。
你把自己始终束缚在JavaScript的层面上,反反复复的去争什么JAVA做到的,nodejs也能做到纯属扯淡和赌气。

前端会写js这是基本技能。至于对后端了解多少,能否直接编写后端代码,这是另外一个话题。我的做法,先培养node小弟,把node底层服务、devops和开发框架搭建起来,前端在上面实现具体业务,真是毫无难度。

如果非要扯淡,公司所有人都不了解node,然后前端去用node写后端代码。。。存在不确定性是必然的。

在我看来,PHPer和前端er都是勇于面对自己问题并积极寻找解决方案的职业。非常棒。学习能力超强,“永远都学不会什么场景下用什么语言或工具解决什么问题”,这话说的真的很傻,能用一种语言解决的问题,为啥一定要学那么多呢?

一个好的工程师不会是语言的奴隶,能focus不focus的工程师也不是好工程师

“后端架构师之所以是架构,在某种程度上就是包含了异构的元素。“,说的好像前端不够复杂,不需要架构师一样。不同端,不同api,以及各种复杂的业务逻辑,稳定高效的输出,不需要架构师,只能说不够复杂。

node和php都是具有后端的基础,比如io,理论上java能做的事儿,它们都能做。这话没毛病。唯一的问题是积累问题,比如node处理excel就是比不过java,比如node做大数据,不是不行,是你真能投入那么多精力然而roi不高,你也能接受么?

前端的进阶有两个方向,横向来说,去做Android,iOS,vr,动画,js这些。这才是真正的大前端,
你的领域就应该是在用户这一方,
需要我做什么,就应该做什么,
这三个部门就应该合并在一起,
统一安排,统一规划。
这种横向发展可以帮助你更深入的理解语言的差异,
也可以帮助公司更好的控制成本和进度。
纵向发展就是复用性和扩展性。前端变化快,不确定强,
那么到底有哪些内容是可以本项目复用,
跨项目复用的?能支持到什么程度的需求变化?
这是你的业务,你的架构思想,
你的编程能力和视野决定的深度,
你的功底越深,抽象能力越好,封装的越强,写出来的代码越赏心悦目。

这个大前端的定义是狭隘的。

  • 去做Android,iOS,这话不能这样说,不是让你写oc或java。而是基于react、vue这样的组件化方案,让前端能够主导移动端开发。对于前端来说,掌握react、vue之外,如果能够编写Android,iOS插件,了解sdk是加分项。

  • 至于vr、动画,js,这明显前端基础,列出来不合适

  • 前端能做更多,可以帮助公司更好的控制成本和进度。这话是没错的。而且更能应变,快速迭代。

大前端只考虑端,不考虑api,是不全面的。1)端(各种端,pc、h5、移动端、小程序、iot等等) 2)api聚合能力(有开发能力更好) 3)辅助提效,对团队发展,技术栈升级,开发效率等提供保障。

这段话,横向和纵向分法是没问题的,也很会拿话套路大家,唯一的问题的是理解的深度不够。

工程师除了性能,稳定性,扩展性之外,还要考虑的就是开发效率,什么方法能让我一天之内完成过去两周才可以完成都事情?
算法切页面不也是一个很开心的方向么。如果你乐意完全可以做这个啊,虽然更偏算法工程师,但你是用它来应用在前端。
也许未来有一天前端工程师的职责就是跳个参数重跑算法和简单调整。

这又是套路话,前端开发效率,大家都是拿node做的。我们在讨论前端解决的时候,必然会提到node,无论工程化还是基本技能都躲不开。前端热衷于造轮子,其实都是在提效的。比如一个大组,没有人做基础设施,我不相信他们开发速度能多快。业务开发和基础支持是2个开发方向。

算法切页面是个方向,但问题是,前端来做还是后端做。后端做,就没前端什么事儿,意图干死前端。前端做就是创新,辅助自身开发,减少重复劳动。如果前端做,不用node,你要再学一门语言么?只能呵呵了。node做DeepLearning,也需要了解算法,这点上,所有语言都是互同的。不是不能做,不过你的成熟度,各种文档,学习资料真的能拼过py?

最后那句更傻,不是前端工程师,而是所有工程师都可能面临的问题。ai究竟能如何,我们要有这个危机意识,也要积极的想好应变办法,这一定是难不倒大家的。

系统的性能,扩展,复用和研发效率的提升,是前端目前来说最重要的四个方向。
后端来说多了一个稳定,对复用的期望程度略低于前端。
所以这就是前端工程师的技术进阶,做出angular这种工程化思维强烈的框架,大概就是长期期内的努力反向。

系统的性能,扩展,复用和研发效率的提升,是所有工程师都要关注的方向,拿这个绑定前端,呵呵。

后端就只有稳定性么?呵呵,我想问,为什么后端要现有架构?不是因为过于复杂嘛?如果不是为了复用,为啥会出现ssh、ssi、spring boot等等框架,如果不是为了复用,为啥会出现rpc,soa、以及微服务?如果不是为了复用,为啥要提倡敏捷?

其实,复杂到一定程度,架构出现是必然的,和前端后端有关系么?

最后再说工程化思维,我不认为只有angular算。从grunt、gulp到webpack到ykit,我们到底在折腾啥?难道react、vue就没有工程化思维么?组件复用都不算么?很明显写这句话的人是不太了解前端的。

少抱怨,多思考,未来更美好

全文完

欢迎关注Cnode官方公众号【node全栈】

如果想参与评论,请点击阅读原文链接,进入国内最专业的cnode论坛

你身边如果有朋友对Node.js或全栈感兴趣,可以转发给他们看看哦,O(∩_∩)O先谢过

前端工程师的技术进阶点在哪里?相关推荐

  1. 初级Web前端工程师是什么?初级Web前端工程师的技术体系有哪些?

    今天小编要跟大家分享的文章是关于初级Web前端工程师是什么?初级Web前端工程师的技术体系有哪些?本篇文章为大家整理出来了Web前端工程师初级阶段需要掌握的内容,很全面,希望大家好好阅读,看看自己掌握 ...

  2. 一份【超级全面】的前端工程师的技术知识自检清单,初学者请收藏

    开篇 前端开发是一个非常特殊的行业,它的历史实际上不是很长,但是知识之繁杂,技术迭代速度之快是其他技术所不能比拟的. 到现在为止,前端工程师已经成为研发体系中的重要岗位之一.可是,与此相对的是,我发现 ...

  3. 前端工程师的CI进阶之路

    女主宣言 本文的作者为奇舞团前端工程师怡红公子,他是基于ThinkJS 开发的高人气开源博客平台 Firekylin (over 1.2k Stars) 的作者,今天他分享的是使用 Drone.io ...

  4. 2019年,为什么Web前端工程师薪资越来越高?

    随着最近几年来互联网的迅猛发展和普及,web前端工程师已经成为互联网时代软件产品研发中不可缺少的一种专业的研发角色. 特别是电商领域的互联网项目不断兴起之后,激烈的竞争让这里面的玩家对于用户体验提出了 ...

  5. 高年薪的Web前端工程师经常思考哪些问题?

    为什么同样从事Web前端开发工作,有的人能拿到较高的薪资,而有的人却只能达到行业平均水平.优秀的Web前端工程师除了技术更高超之外,他们在思考问题上也更全面,那么想要成为一名高年薪的Web前端工程师需 ...

  6. 一个初级的前端工程师需要知道些什么?

    一个初级的前端工程师需要知道些什么? 按照我的想法,我把前端工程师分为了入门.初级.中级.高级这四个级别入门级别指的是了解什么是前端(前端到底是什么其实很多人还是不清楚的,底什么是前端后端.后台),了 ...

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

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

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

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

  9. 前端工程师是做什么的?

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

最新文章

  1. Deep Learning 9_深度学习UFLDL教程:linear decoder_exercise(斯坦福大学深度学习教程)...
  2. org.hibernate.hql.ast.QuerySyntaxException: ? is not mapped
  3. 基于Java的RDMA高性能通信库(五):JXIO
  4. 5区块链机会没有公司可以错失
  5. Linux学习笔记(三)|Vim编辑器
  6. mysql gz 安装_Linux下安装mysql 5.7.17.tar.gz的教程详解
  7. 我去,这几个Linux指令太装B了|动图展示
  8. LeetCode 10 Regular Expression Matching(字符串匹配)
  9. 【文献阅读】ResNet-Deep Residual Learning for Image Recognition--CVPR--2016
  10. 移动前端开发之viewport的深入理解 --- 待续
  11. 如何拷贝工程_如何获得微信小游戏跳一跳源码以及源代码组合包括哪些
  12. 关于Android平台上面is not valid; is your activity running?
  13. 算法篇(一)直接插入排序与快速排序
  14. excel数据分析 - 10个清洗文本类函数
  15. Html+css仿淘宝页面练习
  16. android 定位 闪退_Unity3D研究院之全方位定位Android闪退(九十三)
  17. C语言rewind函数返回值为空,C语言rewind和fseek函数的用法详解(随机读写文件)...
  18. 常见的网站攻击以及如何防御自己的网站被恶意攻击
  19. 明日之后服务器崩了最新消息,《明日之后》崩了是什么原因?明日之后崩了怎么登陆服务器...
  20. monkey稳定性测试详细介绍

热门文章

  1. java集合的接口和类层次结构图
  2. CSP认证(2022-06-12)
  3. 每日一诗词 —— 定风波·莫听穿林打叶声
  4. JavaScript实现双色球随机一注
  5. 汉字编码中区位码、国标码和机内码的区别
  6. QQRobot一款基于Java的娱乐qq机器人
  7. linux主ip地址 网络信息不可用,win10 安装虚拟机提示 主IP地址显示网络信息不可用...
  8. jQuery中添加与删除元素
  9. spss分析方法-多个独立样本检验(转载)
  10. 如何学习大咖的经验?看这篇就够了!