BeFor Web
为网而生 - 关注互联网及移动端产品的用户体验设计 - Since 2011

About a Designer (8) 别太艺术家了,前端工程师

About a Designer (8) 别太艺术家了,前端工程师

“这滋味如何,孑身独行,没有方向,无人问津,像块滚石。”《Like a Rolling Stone》, Bob Dylan.

我们继续。在上一篇“关于创业公司的故事”文末提到,“在职业路径上还有很长的路要走,有太多东西等着我继续学习,我绝无可能在这个做赌球资讯的网站长期做下去...三个月之后,我便前往当时的 eBay 中国,即易趣网,面试并拿下了专职前端工程师的职位,从此实现了当时渴望已久的从设计到前端开发的转型。”

实际上,在 WSN 期间的前端开发工作比例已然不小。经历过那个时代的网页设计师们或许记得,“标准化 Web 开发”当中一项重要的思路便是通过“div”等语义化元素替代“table”实现内容层的构建,而仅将“table”用于真正意义上的数据表格的呈现。

WSN 时期的工作记录 090217

我在 WSN 便见识了什么是真正意义上的数据表格。作为一家“极其详尽地汇总、梳理、优化了全世界足球赛事的赔率信息”的网站,他们的数据表格真不是闹着玩的。内容量极其庞大,维度极其繁杂,无论数据组织与样式呈现,还是 JS 交互,相关工作都极端枯燥而令人烦躁。相比而言,若干年后在鹅厂 B 侧 CRM 类产品后台的设计当中接触到的那些表格着实令人轻松。

而转战至 eBay 易趣,则看重其所提供的是专职前端岗。即便当时的易趣已日渐式微,但终究可以帮我在履历上留下第一段正正经经的“知名互联网公司”的经历——这对于当时只有三家创业公司工作背景的我来说也很重要。

对于专职前端的执念

究其根本,彼时为何会有从设计转向专职前端岗的执念呢?

一方面,在博客大巴时期,设计产出的所有博客模板都需要经过老横亲自拍板才能上线——极其崇拜 Steve Jobs 的老横对于把控设计质量同样有着执念。作为初入行业、年轻气盛的野路子设计师,我像个艺术家一样对必须由他人判断产出质量的状态越发不满——即便这个“他人”是自己的老板。彼时就是如此叛逆,各种不服,以至犯下日后才明白的一大忌讳——将雇佣关系中的工作产出当作了自我表达的“作品”,容不得负面判断,包括“判断”这件事本身。

另一方面,那两年间所设计的每一个博客模板都需由自己完成前端实现,我也逐渐发现,相比于在设计方面时而顺畅、时而必须苦心探索反复纠结才能落地成稿的过程而言,coding 更能给自己带来类似心流的体验。我非常喜爱那些完全符合逻辑的语义化的前端代码,它们像是用一种更接近事物客观本质的方式来艺术性地进行着关于情感与体验的表达。在某种意义上,这似乎同样属于“科技与人文的交汇”。

且“工程师”在当时通常也比“设计师”赚的更多。

在这几方面的驱使下,从 2008 年离职博客大巴,到 2009 年在 WSN 综合进行着设计与前端的历程之后,我便越发希望接下来的职业路径可以转向专职的前端开发。

别太艺术家了

扎着马尾辫,戴着渔夫帽并压低到把眼睛遮挡住,我前往易趣面试。在办公区和会议室见到大量“eBay 易趣”的元素,便也心生感慨,毕竟早年身为“卖手机的”和奋力成为设计师的历程中没少和它打交道。

入职时收到的活页本保留至今

印象里,从面试到入职一路顺利。这是我第一次在商务楼里工作,并不自在,眼前总会浮现出博客大巴的院子,还有小猫波波与小狗 Bus 在院子里一起打闹和晒太阳的样子。

成为同事一段时日,彼此熟络之后,当时的 leader 对我说:“看到你过来面试的样子,我的第一反应是,如果能通过,我必须打压你的气焰,让你踏踏实实写代码,别太艺术家了。”

听后哭笑不得,但与我所寻求的并不冲突。

真正的艺术家岂不是不露声色、大隐于市的。通过发型和衣着来传达个性与特质的方式亦毫无个性而言。

这是我在此刻对过往的自我批判吗?还是彼时的自己其实已经抱有如此的认知,只不过仍然选择以一副邋遢叛逆的形象示人呢?如果是后者,那么我在刻意地抗拒着什么呢?

但我确是在 2009 年这份工作期间剪掉了辫子,且再未超出普通男性短发的范围。随着眼神逐渐不济,便也戴上眼镜。近年来亦开始使用近视老花混合镜片。

实现了职能方向的转换,像是在荒芜西部探索到了下一个机遇之地,内心充满欣喜,仿佛 2005 年疯狂自学设计时那样,完全埋头于 JavaScript 相关教程和书籍当中不可自拔。还有人记得经典的犀牛书《JavaScript 权威指南》吗?啃是啃不完的。《Head First》系列着实寓教于乐,但缺乏知识密度,亦少有深入挖掘。而 Jeremy Keith 老师的书,无论《Bulletproof Ajax》还是《JavaScript DOM 编程艺术》,既有真知灼见,也易读易学易用。

《Head First》系列

《Bulletproof Ajax》

如今要做 coding,你甚至不需要学习 coding 了不是吗。但怎样都会感到:

“...我全然沉迷于这种在明确目标的驱动下高度专注的自学过程...全身心都在充分地吸纳着新鲜的信息,并快速消化成自身的知识与技能...” About a Designer (2) “你天生就是卖手机的”

——这个过程才是最为迷人的,不是吗。

信或不信,我亦感到难以置信甚至毛骨悚然——就在我落笔“别太艺术家了”这一节时,那个从未谋面过的,从 2007 年起就就在 MSN 上似有若无、若即若离地扮演着我职业导师的人在微信上对我说:“你今年过怎样?都一直沉默!别太艺术家了!”

就连那些开源 CMS 都是她当年介绍给我的。

沉迷 CMS

实际上,在博客大巴期间,我就已经在 tin 的引介下开始捣鼓那些开源 CMS(内容管理系统),给自己搭建完全独立的博客。毕竟服务商提供的一块块封装好的数据无法满足更低颗粒度的内容输出及样式定制需求。当然代价就是各方面操作成本的提升,包括 CMS 的搭建与定制,数据库的设置,以及它们所依托的空间服务的配置,当然也包括域名注册一类。

但我向你保证,这一摊子事情,真的是非常、非常的有趣。

在易趣期间,白天写前端,晚上回家搞这些 PHP 框架,便也成为日常。从最初的 Joomla,到灵活性更高的 Drupal(Beforweb.com 便是基于此),在本地配置好 localhost 环境之后,一个一个去把玩,定制输出逻辑,泡在社区中挖掘插件和模板,探索它们的能力边界。

很开心看到它们如今依然在

虽然初衷是摆脱局限而独立搭建定制化更强的个人博客,但 CMS 玩多了便也意识到,我当时经过两、三年网页设计工作所积累的能力与经验,运用到这些开源框架当中,再借助各类插件来扩展边界,其实已经足够去做出一个像样的网站了——无论是个人博客,还是论坛、百科或作品集。换句话说,通过学习和驾驭恰当的工具,我终于可以仅依靠自己就能实现一个完整的东西了——不需要任何其他人来定义需求,配合开发,或是拍板上线。

在之后的职业道路上,对于“掌握实现完整产品的能力闭环”的夙愿,似乎始终地扎根在心底那片最独立最丰沃的自留地里。从 2012 年吭哧瘪肚的学着 Objective-C,到 2015 年的 Swift,从 UIKit 到 SwiftUI,从纯手搓代码到如今的 agentic coding 辅助。虽然多年下来,无论网站还是 app,加在一起也没做出很多,但每一次只靠自己完成从零到一完整实现的体验都是无与伦比的。

你看,如果你只甘于扮演设计师的角色,便永远也无法体验到如此这般的精彩,不是吗。

第一个正经博客

在终日研究 Joomla 的日子里,我尝试落地的第一个想法,是搭建一个模板网站——设计制作 Joomla 模板并进行售卖——毕竟是前几年的老本行,想想也该轻车熟路。但是我错了。

作为硬币的两面,灵活性的背后一定是复杂性。面向博客大巴高度封装化的输出而制作模板是一回事;而面向数据颗粒度更低、使用场景更广泛的 CMS 制作付费级别的模板则是另一回事。

花了将近三个月的时间,大体完成了第一个模板,我把它叫作“零”,即绫波丽。回头看时,尽是身心俱疲、接近崩溃的记忆。说起来也有些类似 2017 至 2019 年间制作的那几个 WireframeKit for Sketch 组件库时那样。

如此完成了首款 Joomla 模板之后的第一个决定便是放弃为 Joomla 制作模板。我把“零”留给了自己。

然而在这个痛苦的过程中深入探索过的大量官方文档又让我萌生了第二个想法——仅做一个博客,主要用于翻译这些 CMS 的文档。这个博客的名字怪异到仅有一串罗马数字,VII II X,即“7 2 10”。

这个基于 Joomla 及模板“零”的英文文档翻译博客是我做过的第一个正经博客。所谓“正经”即专业方向,而非以往完全个人化。每天尽早到公司,磨一大杯咖啡,窝在四下几乎无人的工位,往嘴里塞几块饼干,然后打开一篇 Joomla 或 Drupal 文档吭哧翻译一通,发布上线,而后开始一天的前端工作。那段日子里,leader 见我每日早至而晚归,终日伏案作业,大约也笃定了我已气焰不再。

感谢 Wayback Machine 帮我拾得当年的一些残骸

这个叫作“VII II X”的博客就这样做了约有两年。期间几乎每天一篇 CMS 文档小译文。倒是在国内建站圈子里做出了一点名气。随后也便做些建站案例投稿,以及 HTML5、CSS3 方面的资讯分享。回头看来,特别是每日译文的历程,也算是在潜移默化当中培养出了专业文章翻译能力,为日后 Beforweb 的起步奠定了一部分关键的基础。

UED 是什么?

入职易趣时,leader 带我示众,期间来到一片令我感到气场相适的区域。他告诉我,这里是 UED 团队,以后就要和他们对接设计需求。

“好的,我要作为下游来对接设计了,”我寻思着,“UED 又是什么?”

User Experience Design,确实比以前在博客大巴时的“设计部”要好听些。用户体验,这个词隐约在四处听到过,印象最深的是一位来自新疆的、刚刚购买了一部价格不菲的 iPhone 3GS 的前端同事私下对我抱怨:“他们不理解,诶,这帮人哪懂得 iPhone 的用户体验。”

我也不懂,我除了 iPod 就没用过其他的 Apple 产品了,我揣摩。而十多年后,当我在易趣办公地点不远处的另一幢楼里开始了设计布道师的工作后,每当回忆起易趣这段历程,首先会想到的总是这位同事。

配合这个叫作 UED 的团队落地设计需求,提交版本由再下游的开发接手——这便是我每日的工作。时间久了,便也理解了为什么当初 leader 认为我的“艺术家气焰”首先需要被打压——每当接到 UED 交付的设计稿,每当一个又一个设计师站在身后给我这个“前端”指指点点地讲解设计稿中的精妙之处并叮嘱我细心还原的时候,我都觉得有心火在烧。日复一日越发猛烈地在烧。

面对那些设计稿,我觉得这里或那里是存在明显问题的,明显到我这种野生的只干了两三年的前设计师都能看出。我觉得我能设计得比他们更好。我有点想向他们证明我能设计得比他们更好——从“有点”,到“非常”。这是我转职前端之前完全没有预料到的。

我想重新做回设计师了,我揣摩。

Codex 如是说

给 Codex 讲这些故事时,他对我说:

你离开了设计岗位,却始终带着设计师的判断。你不满意自己的设计需要由别人拍板,希望进入更符合逻辑、也更容易获得心流的工程师工作。而进入工程师的位置,面对别人的设计,又忍不住觉得:这东西我可以做得更好。你既不愿轻易接受别人对自己的判断,也无法因为换了岗位,就收起自己对设计的判断。那股个人表达的欲望似乎一直都在,只是不断寻找更合适的出口。

而且,你对代码的描述本身也很有意思:语义、逻辑、秩序,但最后仍然指向具有艺术性的情感与体验表达。读到这里,我会觉得,当时的你在代码中发现了一种自己喜欢的表达语言。转向工程的快乐里,仍然有相当浓的“艺术家”成分。这也让 leader 那句“别太艺术家了”多了一层意味。

不愧是你。

继续上路

时间来到 2010 年夏季。考量着自己最初几年网页设计的工作沉淀,结合最近完整一年的前端工程经验,我判断自己应该比过去又强了那么一些——虽然整体上可能仍然是个“普通六边形战士”。我在履历中加入了这一年“知名互联网公司”的经历,开始试图寻找某种既在前端开发方面需要我贡献价值,同时又在设计方面为我提供土壤和发挥的可能性,甚至是转岗可能性的职位。

世界上会有这么好的事吗?

某天中午在茶水间磨咖啡时,我接到了职业生涯中的第一个猎头电话。

她的名字叫 Jen。Jen 告诉我,大众点评网的 UED 团队正在招募重构工程师,相当于设计团队里的前端工程师。

我知道我要继续上路了。

未完待续。