{"action":"created","issue":{"url":"https://api.github.com/repos/lifesinger/lifesinger.github.com/issues/141","labels_url":"https://api.github.com/repos/lifesinger/lifesinger.github.com/issues/141/labels{/name}","comments_url":"https://api.github.com/repos/lifesinger/lifesinger.github.com/issues/141/comments","events_url":"https://api.github.com/repos/lifesinger/lifesinger.github.com/issues/141/events","html_url":"https://github.com/lifesinger/lifesinger.github.com/issues/141","id":12967692,"number":141,"title":"阿里前端的困局与突围","user":{"login":"lifesinger","id":97227,"avatar_url":"https://avatars.githubusercontent.com/u/97227?v=3","gravatar_id":"","url":"https://api.github.com/users/lifesinger","html_url":"https://github.com/lifesinger","followers_url":"https://api.github.com/users/lifesinger/followers","following_url":"https://api.github.com/users/lifesinger/following{/other_user}","gists_url":"https://api.github.com/users/lifesinger/gists{/gist_id}","starred_url":"https://api.github.com/users/lifesinger/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lifesinger/subscriptions","organizations_url":"https://api.github.com/users/lifesinger/orgs","repos_url":"https://api.github.com/users/lifesinger/repos","events_url":"https://api.github.com/users/lifesinger/events{/privacy}","received_events_url":"https://api.github.com/users/lifesinger/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/lifesinger/lifesinger.github.com/labels/blog","name":"blog","color":"DDDDDD"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":121,"created_at":"2013-04-09T11:52:14Z","updated_at":"2015-04-30T01:42:26Z","closed_at":null,"body":"![c9b65e2c86bf60ac89a4bfef2f7cdbc691ae61d41848e-LdbCtj_fw580](https://f.cloud.github.com/assets/97227/356552/8091c16e-a10b-11e2-9bff-a7008ecee73e.jpeg)\r\n\r\n\r\n最近发了两条微博：\r\n\r\n> 想起克军的一句话：前端研究，研究个屁~ 的确如此呀。补充下联：前端设计，设计个屁~\r\n\r\n> 前端目前最大的困境是，如 HTML 一样，无论你承不承认，市场上并不太需要 HTML 高手。\r\n\r\n微博上的回复大部分歪楼了。上面两句话乍看有点激进，却是我的真实想法。\r\n\r\n背后是一个问题：\r\n\r\n**前端的价值究竟是什么？未来应该如何发展？**\r\n\r\n\r\n## 前端的价值\r\n\r\n如果你刚入行，或者从事专职前端工作未满 3 年，请忽略上面这个问题，并且尽量不要再往下看了。\r\n\r\n我知道你会忍不住往下看，那就看吧。负能量有时也是正能量。真实面对所做的事，如实面对自己的真心，这是迟早的。有过痛，才真正懂得乐。\r\n\r\n特别注意，下面说的前端，都是阿里的前端，其他公司切勿对号入座，每个公司的情况都不同。每个公司，前端的定位也会有差异。\r\n\r\n阿里的前端，目前主要分两种：一种在 UX / UED 部门，另一种在技术部门，所做的事大同小异，都是负责界面交互层的开发。上游是 PD、交互、视觉等，下游是后端开发人员、测试等。技能主要是 HTML、CSS、JavaScript，有些前端团队比如支付宝还直接负责 Velocity 等模板层的开发。这是阿里目前前端的现状。\r\n\r\n前端是后端数据的第一消费者，也是最贴近用户的程序员。\r\n\r\n一切看起来很美。\r\n\r\n前端的价值在哪呢？很多人会回答：\r\n\r\n1. **实现界面交互。**\r\n2. **提升用户体验。**\r\n\r\n第一点是前端的本职工作，也是前端岗位存在的原因。第二点也不多说，前端做得好，对用户体验是有益的。\r\n\r\n让人纠结的，是前端有价值，可是，这价值真的很重要吗？真的值得做为一个职业投入一辈子吗？\r\n\r\n做技术的，可能都会有类似纠结。但传统技术，纠结相对少点。比如搞数据库的，有一堆牛人榜样，搞网络、安全等等的，也是如此。这个现实的背后，是因为\r\n\r\n这批传统技术的背后，无论是数据库底层优化，还是网络优化、安全防范等等，做得好，对业务都能直接产生影响，比如大幅度降低硬件成本等等。 **价值是直接的，可见的，不太会被质疑。**\r\n\r\n然而前端的价值，没有人会直接否认，但看得明白的，都知道：\r\n\r\n淘宝的核心用户体验，并非是 UI 层面带来的，而是 C2C 的模式，是同等品质下商品的价格，还有支付宝的便捷等等。前端的确很重要，但真的，也就那么着。比如京东，很多交互细节做得其实不咋的，但京东靠着靠谱的物流、货到付款等方式提升了整体购物体验。对阿里来说，用户体验非常非常重要，但前端在用户体验层面能做的其实很少很少。\r\n\r\n一个事实：\r\n\r\n> 把国内大部分公司的 UX 部门解散掉，也不会太影响产品的体验。在国内，UX 主要还是起到美工的作用，虽然我不想承认。\r\n\r\n前端依旧是美工，而且仅仅是实现工。\r\n\r\n在阿里，我们不得不承认一个事实：**前端的确有价值，但放在全局来看，前端产生的价值并非核心价值。** 在阿里，虽然前端的工作已经不可或缺，但对大公司而言，不可或缺的岗位多了去呢，不可或缺不代表有核心价值，我就不说了。\r\n\r\n\r\n\r\n## 前端的未来发展\r\n\r\n前端，往后是技术，往前是体验。我的理解，前端的未来发展，有两个方向：\r\n\r\n1. **前后端体系的融合，技术平台化。** 范例是 Google、Facebook 等公司的技术体系，不细分前后端，都是 Web Developer，在整套技术平台上，Developer 都可以从后到前高效开发。技术平台本身由 Engineer 维护，有各个领域的高手，包括前端的。\r\n\r\n2. **前端技术带来的体验革新，成为某些产品的核心竞争力。** 典型的比如 Path，国外有很多创新型项目，体验是核心竞争力之一。在这类产品中， 前端带来的用户体验很关键。\r\n\r\n然而，上面两个方向，在阿里的现状下，困难重重：\r\n\r\n1. **技术平台化之路很难。** 阿里现有的技术体系，前端只是薄薄的一层，要靠这薄薄的一层，来渗透甚至改革现有前后端开发模式，非常困难。支付宝算是走在前面，已经摸索了一年多，但越来越觉得，前端的绝大部分问题，其实都需要后端才能解决。去跨团队推动也可以，因为难，所以前行也挺有挑战挺有意义。可是，更悲催的事实是，技术平台化，前后端开发模式的融合，目前来看，并不是阿里的痛点，还没有到这一步，没这个强烈需求。需求不强烈，意味着缺了“天时”。很希望我的想法是错的。前后端的技术平台化之路，还有一个很现实的问题是，马云留下的隐患：平凡的人去做非凡的事。虽然现在有意不提这句话了。这句话很伤人，特别是技术人员，然而事实就是事实。即便技术平台能建成，在平台之上，阿里现有的开发人员，无论是前端还是后端，很多人可能还欠缺了不少能力。Facebook、Google 等玩起来，有个重要因素是精英文化。这话题不多说。现实的残酷，虽然也有方法是改变。\r\n\r\n2. **体验创新之路也非常难。** 在淘系可能相对好点，在支付宝，前几年首要的问题是安全、稳定，接下来几年之内，依旧是安全、稳定。创新受产品形态的影响非常大，没有一个好的产品，妄谈创新。可以有不少微创新，可以有很多小而美，但目前都触不到痛点，隔靴搔痒。真正承担阿里用户体验的，是 CDN 团队、是数据库团队、是 PD、是运营、是大安全…… 继续希望我是错的。\r\n\r\n\r\n以上两个方向，虽然困难重重，但在一些新领域，却充满机会与希望：\r\n\r\n1. **无线领域**。 未来是属于无线的，这话说到心坎上。目前阿里的无线才起步，起步意味着百废待兴。无论是前后端的技术体系，还是产品的体验创新，在无线领域，前端的机遇与挑战都很多。并且其价值，有可能变成核心价值。这一点，希望我的判断是对的。\r\n\r\n2. **Node.js 领域**。严格来说是 JavaScript 程序员的新舞台。通过 Node，前端程序员可以摇身一变，变成传统程序员。数据库、网络、业务架构等等技术核心领域，都可以通过 JavaScript 来达成。Node 社区是迷人的。同样，希望我的判断是对的。\r\n\r\n上面的分类有点混乱，下面继续乱谈：\r\n\r\n1. **创业**。 在很多产品中，前端虽然很难产生核心价值，但在有竞争的地方，附属价值经常会成为核心竞争力。比如出去创业，如何在大量同类产品中脱颖而出，前端界面层的实现非常关键。可是，无论是淘宝，还是支付宝等，目前都已经过了初期创业期。有时真希望，易趣如果还强大着该有多好。\r\n\r\n2. **转行**。 的确，没必要因为懂 JavaScript，就一辈子做前端。没必要限定自己的发展，可以做 2-3 年前端，然后再去做 2-3 年开发，还年轻的话，可以继续尝试各种岗位，说不定，10年后，就变 CTO 了。\r\n\r\n从人的一生来看，前端只是一段很小的旅途。它能带给你我们的已经不少，舍弃惯性，脱离舒适区，长远来看才能走得更远。放弃有时也是坚持，重要的是你心中的梦是什么。\r\n\r\n\r\n\r\n## 感悟与坚持\r\n\r\n纯技术上，前端目前的很多发展，只是在满足业务，并没有真正对业务带来“从无到有、促进变革”的变化。从公司的角度讲，并不需要那么多前端牛人。这是我那条说 HTML 高手是屠龙术的微博的含义。\r\n\r\n另一个角度上，前端技术这些年的变化，无论是 YUI 的发展、还是最近两三年兴起来的模块化开发理念、以及 Node.js 带来的前端工具变革、还有 Backbone 等类库背后的 MVX 的发展，这些都切实推动着前端往前发展，虽然很慢很慢，虽然短时间内很难直接影响业务价值，但我相信，这类工作的价值，也很大。\r\n\r\n一类是直接促进业务发展，一类是缓慢带动人员的成长。这两类工作，都非常有价值。一个着力于现在，一个发力于未来。\r\n\r\n看起来，路都很清楚。然而我们都是人不是神。最后以一段人与人之间的对话来结束这篇充满负能量的文章：\r\n\r\n> 章小新：有一个现实是，如果在这块上长时间的价值不被认可，那很有可能真正产出的价值没有我们想想象的大，是否是我们自己深限其中？ 有时虽然不想往这方面想，但又是不得不仔细深思的问题。\r\n\r\n> 玉伯：毕竟我们都是人，要坦诚面对自己的真心，包括贪欲。比如一个事，如果做了 5 年，依旧得不到直接认可，也没更多物质上奖励，我估计你也很难做下去了，或者就是打着酱油，干着其他有意思的事情去了。\r\n\r\n> 章小新：哈，今天的话题的确是沉了点，今天上午还和同事们讨论过~~~ 先认清自己，再从容微笑去面对。\r\n\r\n> 玉伯：从容微笑谈何容易。从容微笑的一个前提是，认清了自己，找到了今后要走的方向，知道接下来该怎么走下去。\r\n\r\n> 李牧：这么说好像我有多么淡定一样。。其实没有了。会很计较，但是现实面前了。 \r\n\r\n> 玉伯：从容不是有希望，也不是在路上，而是自己喜欢自己做的事情。又变鸡汤了，不过发现很多鸡汤越来越有道理，得真心去信。真正的认可是自己给自己的。\r\n\r\n> 柏林：我不是做前端的，一直在关注大家。 呵呵。看到这句话蛮有感触，要体验过鸡汤的过程，才能品味到真实的味道。（说得不好哈）\r\n\r\n\r\n（完）文 / 玉伯\r\n\r\nPS：把这篇文章发出来，很犹豫\b。把这些想清楚的事情说出来，虽然可能会影响团队士气，会打击工作不久的前端，但隐瞒更不可取。 前端还很年轻，如何发展，如何前行，需要所有前端们一起来思考。我们需要未来，也需要真实。我们不需要的是混日子。我们往哪里去，取决于我们自己。\r\n\r\n题图：路在心里，更在脚下。\r\n\r\n---\r\n\r\n欢迎订阅 WTP（Web 技术与产品交流）微信公众帐号。WTP 关注技术、产品、自由梦，在每个工作日（偶尔休息日）会定期推送一篇原创文字。欢迎扫描二维码订阅：\r\n\r\n![](http://ww4.sinaimg.cn/large/68361562gw1e2xqaox0asj.jpg)"},"comment":{"url":"https://api.github.com/repos/lifesinger/lifesinger.github.com/issues/comments/97630016","html_url":"https://github.com/lifesinger/lifesinger.github.com/issues/141#issuecomment-97630016","issue_url":"https://api.github.com/repos/lifesinger/lifesinger.github.com/issues/141","id":97630016,"user":{"login":"jianzhou520","id":11852997,"avatar_url":"https://avatars.githubusercontent.com/u/11852997?v=3","gravatar_id":"","url":"https://api.github.com/users/jianzhou520","html_url":"https://github.com/jianzhou520","followers_url":"https://api.github.com/users/jianzhou520/followers","following_url":"https://api.github.com/users/jianzhou520/following{/other_user}","gists_url":"https://api.github.com/users/jianzhou520/gists{/gist_id}","starred_url":"https://api.github.com/users/jianzhou520/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jianzhou520/subscriptions","organizations_url":"https://api.github.com/users/jianzhou520/orgs","repos_url":"https://api.github.com/users/jianzhou520/repos","events_url":"https://api.github.com/users/jianzhou520/events{/privacy}","received_events_url":"https://api.github.com/users/jianzhou520/received_events","type":"User","site_admin":false},"created_at":"2015-04-30T01:42:26Z","updated_at":"2015-04-30T01:42:26Z","body":"那你有没有考虑过项目的可扩展性和可维护性？\n\n\n来自 魅族 MX3\n\n-------- 原始邮件 --------\n发件人：Stig <notifications@github.com>\n时间：周四 4月30日 09:12\n收件人：\"lifesinger/lifesinger.github.com\" <lifesinger.github.com@noreply.github.com>\n抄送：jianzhou520 <jianzhou520@outlook.com>\n主题：Re: [lifesinger.github.com] 阿里前端的困局与突围 (#141)\n\n>@jianzhou520  我虽然是做后端的，其实前端最新的技术栈我一般都具备（自吹），但是别人只会看你有没有解决问题，不会在乎你 用了什么技术。\n>\n>---\n>Reply to this email directly or view it on GitHub:\n>https://github.com/lifesinger/lifesinger.github.com/issues/141#issuecomment-97624958"}}