Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

前端开发深水区讨论 #193

Closed
linhuiw opened this issue Aug 9, 2019 · 3 comments
Closed

前端开发深水区讨论 #193

linhuiw opened this issue Aug 9, 2019 · 3 comments

Comments

@linhuiw
Copy link
Contributor

linhuiw commented Aug 9, 2019

文章链接:技术路线:前端开发已进入深水区

由这篇文章引发的前端已经进入深水区的讨论,大家可以讲一下对于前端深水区的理解,同时披露下目前自己接触到的前端深水区。

欢迎讨论


精读《前端深水区》

@camsong
Copy link
Contributor

camsong commented Aug 15, 2019

深水区的理解首先需要达成一致,并不只是一个维度的加深,而是全方位多方面的困难同时加击,压强升高、光线减少、温度剧变等等。

对应到文中总结的解法就是需要『技术创新、流程优化、团队合作、影响大盘、驱动业务、商业决策和团队管理』。但你展开想一下,把这个角色换成后端、无线端、甚至是UED,是不是也能完美匹配。所以这些能力应该是技术人员发展到一定程度面临的普遍问题而不仅仅是前端。

但这些能力是否有个更好的概括?当然有,就是明确一个方向并带领一群人完成目标并实线商业价值。这其实就是商业或者说业务的整个运作过程。

这其实也在抛一个命题,前端发展到一定程度就一定要转业务吗?
是也不是。当然要转,但并不是全转。全转业务你过去的积累有什么用?不转业务单纯前端能发挥的影响力就会受限。所以答案是利用前端技术优势同时补充业务能力推动商业流程。

所以此文并不是严格上讲前端技术的深水区,或者作者肯定认为他能接触的前端技术已经到瓶颈,且没有想到突破口。

其实从05年Ajax标准前端岗位诞生开始,前端从以前的小河逐渐长大为江河大海。
问题在于你当前处在小河还是江海。对于大多数业务来讲,使用小河里的能力CRUD就能支撑业务。

但对于我所处的大数据环境来说,确实接触了前端技术深水区。来源于端计算能力 + 网络基建 + 大数据的爆炸式增长。

  1. 编辑器:复杂的开发离不开代码,前端们一直孜孜不倦的把 IDE 引入 web,VS Code 做了很成功的尝试但还是需要一层壳套着。且对于大数据处理这样的领域,需要定制的能力远超过通用的 Manaco editor 等能提供。
  2. 表格类数据处理能力:比尔盖茨最引以为豪的微软软件是 Excel。你永远不知道Excel有多少种酷的用法来解决用户问题。能否把 Excel 引入到 web?同时对数百万条数据做交叉分析,这对性能和架构都有很大的挑战。
  3. 可视化数据展现:大数据的一个典型特征就是价值稀疏性,如何把蕴含的价值展现出来,需要了解图形学、统计学、交互色彩等各种能力。大学老师教的内容终于能派生用场了。

当你的代码库几千行的时候,选择任何一种框架都能解决你的问题;达到几万行直到十几万行的时候,你需要了解些工程化。但达到大几十万近白万行,一个小的变化可能就对团队效率产生大的影响,这个时候你会开始培养更谨慎和全面的考量。

跨过深水区,让其他人处在浅水区就能做事,这或许就是你走出深水区的标志。就像Alan Perlis说的一句话『简单不先于复杂,而是在复杂之后』,也许未来看来你今天挣扎的深水区只是个小泥坑。

@arcthur
Copy link

arcthur commented Aug 18, 2019

对于过去前端只需要掌握 HTML,CSS 和 JS 就可以开始 Web 开发。而今天各式框架,类库,工程工具的丰富,Web 开发可以完成更复杂的功能,而研发成本提高并不显著。从工程的角度越发进入正规,但这并不表示所谓进入深水区。

怎么去定义深水区,我认为是需要建立技术壁垒或学术壁垒。当我们看待一向技术,如果在投入一到两年就可以对齐,那么显然技术本身的深度是可观的,如果是十年才能对齐,这时候除了会影响经济或政治外,不会有人会去重做,只能使用。用另一个类似的概念反摩尔定律来对应深水区说,每隔两年,技术不能显著带来效能的成倍提升。

从未来看,在端上发展的技术的确会延伸向深水区的工作,比如

  1. 数字孪生。那么在端上的仿真能力需要大幅提高,那么结合模型自动生成,不同物体的建模能力等都是很大挑战
  2. 虚拟实现。这点上就不赘述,从 FB 重点发展 Oculus,微软发展 HoloLens 可以看到这个趋势,从互动的未来来看,这不是终局,但是最适合今天要突破的技术。
  3. 可视分析。数据在人类面前还是过分难懂,结合数据的分析系统在各行各业正在渗透,端上结合可视化的能力就显得非常重要。
  4. 更多的,像边缘计算,前端安全等领域都是非常深入的领域。
    这些问题,已经不是一年就能完全突破的,需要 3-5 年,甚至 10 年时间。

在局部领域前端已经有可能深入,当然前端技能上说这些也不能用 HTML, CSS, JS 来解决,需要开发者有深入学科的背景。但今天前端面向还是产品功能的需要,在端上更强调的还是产品功能为主。我们做一款复杂产品,更多还会在工程上纠结。没在功能的深入性上思考更多,以对应真正技术发展,那么深水区还远。

@ascoders
Copy link
Owner

前面两位总结的都很到位,我站在自己的角度重新理解一下 “前端深水区”。

之所以叫 “前端深水区”,对应着一种焦虑,这种焦虑来自职业发展瓶颈,也来自于对前端价值如何进一步提高的疑惑。

对标较为底层的数据库技术、云计算技术、深度学习技术等等,做这些技术方向的同学技术天花板很高,不管自己能走多远,至少探索方向是较为稳定的。前端单从技术角度来看,天花板还不够高,单凭技术深度不足以让优秀人才深挖十年,所以主动寻找 “前端深水区” 是一种危机感,也是对业务的责任心。

原文提到的深水区能力确实如 camsong 所言,是一种通用业务领导力,业务领导力就是在明确的方向领导团队达成业务目标,或者说实现商业价值,这种 TL 路线是阿里前端达到 P8 的主要途径。

是不是想要突破就必须转 TL?不全是,你可以不是团队 Leader,但必须有带领团队的能力。通用业务领导力是任何技术职业深水区的必经之路,有的技术深度够深,可能在很高的 Level 才会要求业务领导力,而前端领域水比较浅,会更早接触到业务领导力的要求,我们需要以积极的心态应对这个改变,早一点培养领导能力是一件好事,任何技术人向上发展的过程中,如果不能协同团队,带领团队,仅凭自己的价值发挥不了太大的能量。

技术既然走进了深水区,评判标准就不单单是技术了,所以我认为前端深水区可以分为三部分:

  1. 业务领导力。
  2. 业务价值。
  3. 拓展前端外延。

业务领导力

也就是原文提到的 “技术创新、流程优化、团队合作、影响大盘、驱动业务、商业决策、团队管理” 等能力,一个拥有领导力的人发挥的价值远超自身孤立的价值。

业务价值

发挥业务价值是技术人的最终目标,比如数据库技术想发挥业务价值,就要做到高效、稳定,价值越大往往技术难度就越大。

值得庆幸的是,前端的业务价值与技术难度往往不成正比,有时候将客户的业务场景固化成一套模版,整合起来赋能给更多客户,这等于将商业模型作为能力赋予了其他客户,但本身并没有用到一些高级技术。前端能做的不仅是内部提效和外部体验,因为前端是人机交互的入口,才有机会将业务思考打包到代码中,直接透出给客户。

拓展前端外延

虽然前端基础技术只有 HTML + CSS + JS,但正如前面两位所说,编辑器、大数据处理、可视化、前端安全、智能化、Serverless 都是前端技术能拓展到的有足够技术深度的领域。当然有技术深度不代表有等量的业务价值,所以我们大部分工作还是在处理业务需求,而不是投入智能化、Serverless 等领域开发。

随着这些外延技术成熟度逐渐提高,未来能发力的地方会越来越多。我们等待一项技术成熟,是在看对这项技术的投入是否能带来对等的业务价值产出,在技术价值不明显的早期,投入少量人员调研,在成熟阶段大规模在业务应用,这样就综合了业务价值判断与技术外延的探索。能根据自己团队、业务的情况,在上面这三点进行合理投资,是我对进入前端深水区的理解。

@ascoders ascoders closed this as completed Sep 4, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants