我为什么从媒体转行做Web开发

兴趣爱好

接着【我的工作为什么失败】系列上一篇记述的,从腾讯大楚网离职前的“愚人节项目”中,唯一外包的工作是移动端小游戏页面。创意工作是为每位参与者提供一个自由发挥的机会,所以外包这种更适合完成某项具体固定需求的合作,产出差强人意的结果,成为我圆满“这份工作的夙愿”中的遗憾,不过它另我重拾对网页制作与计算机语言许久以前的兴趣。

回到2002年,从玩文曲星(80后应该都熟悉这些电子词典)的GVBasic,结缘了编程语言,到跟随个人站长热,结缘了网页制作。那时候我在的小城市宜昌似乎互联网还未普及,也或者是我没条件接触到,根本无法找到Basic的教材,因为我甚至不知道自己要找的是什么,只有不断翻看文曲星上的帮助,然后把语句记下来打进去看效果。后来读书和工作中也持续保持关注这些领域,为自己、朋友做一些小项目。

回到原点

转行做Web开发,只是终于又回到原点。毕业后我找的第一份工作就是“网页制作”,2010年那时候我还没听说过“前端开发”这个职业。只是这份工作仅做了两个星期就根本没算作职业经历。内容是给武汉一私立家幼儿园做网站。那段时间媒体上一窝蜂“报复社会者进幼儿园行凶”的新闻,于是园长说给我做个袖章,叫我上学放学时候站门口当保安,可笑之余我正好得到搜房网的offer,离开Web开发领域,回到宜昌开启一段媒体生涯。

务实、进步

再者我越来越意识到,技术开发类工作中少有务虚成分,每一分努力都是为让设想中的产品更加展现出它应该有的样子。交互流程不合理、界面设计令人畏惧、代码逻辑有误都是无法回避的问题,做开发的人起初只有硬着头皮接受错误,逼迫自己正视错误、拥抱错误,然后用优雅的方法来解决之,这才是工作的价值所在。当然最后还要反思和采取措施来杜绝类似问题再次发生。

这样的工作循环会将人的思想或能力不足暴露无遗,同样也更能推动个人与团队的成长。我爱这样的循环,那么转做Web开发也是我选择的必然了。

返回【我的工作为什么失败】系列目录

我为什么离开媒体行业

7年做7份工作,跳槽中有成功有失败,但是最后的离开的原因多是失望与失败,可以分【我的工作为什么失败】系列来记述了:

  1. 我为什么离开媒体行业
  2. 我为什么从媒体转行做Web开发
  3. 上一份工作离职语录

前几天读新闻《硅谷文化风行中国,影响力不输好莱坞》,如下的几段话让我陷入思考。

近些年,中国的科技产业蓬勃发展,充满创造力,在某些方面,它利用互联网的能力甚至超过了美国。不过,这些成就的背后是儒家从众思想主导的文化和XXX的严格统治。

两者都不赞赏反叛或扰乱,所以中国的年轻企业家和投资者只好从倡导这些精神的地方寻求指导和鼓舞,而这个地方正是硅谷。

中国科技界仿效硅谷,建立了由孵化器、加速器和风险投资者组成的创新和投资网络。初创公司员工和领导者积极质疑权威,跳出固有思维模式——这两种品质在中国企业普遍遭到遏制。

在武汉这座城市里,光谷软件园附近特别能令人感受到,互联网在推动改善人们生活,毕竟这里是互联网人才与企业的聚集区。这里路口卖炒栗子的小摊上都写支付宝送2元。我曾尝试过完全不带现金的生活,2周下来也几乎没遇到过不便,于是渐渐成为习惯,现在出门我身上也只带很少的现金。

img_20161207_120016_1

科技飞速发展,人们的生活方式也主动或被动随之改变,但“不赞赏反叛或扰乱”和,对质疑权威、跳出固有思维的遏制长久不变,这正是我离开大楚网,离开媒体行业的原因,甚至是我所有工作失败的根本原因

1

发展需要创新,而创新首当其冲就是对现状的反思和质疑。我身边朋友少有人会对生活、工作中真正重要的事情有所反思,而寥寥几个反思过的人都因思虑变的沉重。如传道书提“智慧多,犯愁就多;只是增加,痛苦就增加”。

提出奇特想法的人常被视为怪人和当作玩笑,批判现状的人有个标签叫“愤青”。凡俗场合大家只能闲聊房与车,谈论严肃话题最后都陷入迷茫和无奈。反思和质疑足以淘汰大部分人,有幸培育出创新的嫩芽者更为稀少。

 

2

留在大楚网最后的时间里,我一直在完成“愚人节专题策划”,我称这项目为“这份工作的夙愿”。内容上线后,作为考量KPI的常用指标UV不高,主编在我分享完项目经验后,以此为例鼓励大家大胆创新、无惧失败,公司会提供宽松的空间为大家提供试错机会。

有主编支持的态度,我已经非常满足了,只是他无法理解完成这件事对我个人成功的意义。伴随做这件事,我尝试探讨我对人生的思考。近1年时间里,我花费大把美好青春时光去思考、撰写、拍摄、建模、动画、渲染、剪辑、配音,表达对“复制粘贴”工作的反思,对好奇心的追求,和对创意的大胆实践。也让我理解“人类创造工具,工具反过来塑造人类”的深刻含义。

这件事之后没有任何同事就这些思考来与我讨论,或者讨论将这些新技术应用于创作其他有趣媒体内容。所以就这一点与UV来看,我感到孤独与失败。

从腾讯大楚网出来,也是离开媒体行业时,有幸和CEO通过一次电话,他问我为什么离开,我答“有很多想要做的事情没办法开展”,他也认同。

在国内,媒体是一个特别受管制的行业,行内人多是迂腐官僚。每次审视我手头的工作,脑海总浮现Mc Hotdog所唱——“粉饰太平,沉溺情爱,世上的不公平一点也看不出来”。我想,我要去做一些有意义的事情!

3

转行Web前端开发后到卓尔新成立不久的电商集团,跟着一帮香烟不离手、大腹便便、吹牛皮大谈资本运作的领导做事情,后来卓尔在香港的股票大涨,却不是因为我们开发出什么有价值的业务,而是请公关公司进行成功的媒体炒作。对我而言真是莫大的讽刺啊。一次次打鸡血似的会议后,开发人员依然埋头苦干,可他们的努力到头来只是为泡沫经济添砖加瓦。我曾想找寻的意义与自我实现在这里同样无处可寻。

这已经谈远了,以后再写新的日志,叙述后面两份工作的失败。

武汉Web前端开发工程化实践观察与感受

这是一篇在博文“前端工程——基础篇”中的回复。如下是回复正文:

我在武汉,这里做Web开发不少企业依照几乎是10年前的方式进行:操作DOM节点、纯服务器端渲染、form表单提交、表情拽拽的把AJAX挂在嘴边说……这正是我身边每天发生的,而我所在的单位推进前端工程化则遇到很多奇怪因素的阻碍。

我最近待的2家企业,一个做自有电商平台,在使用react+redux+webpack短短一个季度后,退回了jQuery+纯服务器端模板引擎时代,原因有两个:新上任领导不会、员工培训跟不上(这两个原因好像是同一个事)。

另外一家单位外包做电商平台二次开发,据称为国内电商系统市场占有率第一,搞了近半年后我已经失望的提辞职。这一回的原因除了前家企业相同的两个原因外,还有个更有意思的:服务器端开发人员怕前端抢了他们的地盘。我最终选择离开是不愿再同整个团队通宵鏖战处理那些静态资源依赖关系,反复迭代内联样式直到! important都用上,最后将糟糕的产品连骗带哄交给客户。

有天周一旁边同事抱怨修改别人的样式和模板好难受,第二天我问他有没有想过如何改变这个问题,他沉默了。

这些事情每天在我眼前重复发生,实在忍受不了,心痛又无语的曾提交一个commit:

d8e4109 Berlin Chan on 16/5/24 at 下午6:07
我已经经过了绝望而变的无可奈何,想要呐喊却又无言。大家都很努力依次处理bug,就像对待每件日常平凡无奇的工作,他们并不着急避免这种事,而是冷静在处理问题中留下更多问题,这种冷静让我感到绝望。
In 5 branches: HEAD, master, develop, origin/master, origin/develop

阮一峰博客里面看到一句话,类似是这样:

在中国你不想骗人不想做坏事,那你就只能去编码了

我是从传统媒体转行做前端开发,之所以转行正是对这句话的充分实践。可是没想到在我这个Web开发圈子的人,让我再同样的失望一回。

近期参加的一些面试,偶尔会碰到有的企业意识到要做前后端分离与前端工程化,而已经深入实践的多为小型创业团队。曾经面试一创业公司,对方问我有没有写过“单元测试”“自动化测试”。后来我没去这家企业,现在想来很后悔。因为如果一个团队会用上这些工具,可见他们对代码质量(至少已经意识到)是如何的重视。

《黑客与画家》前言里面的一个例子:旅游网站Orbitz成功打入竞争激烈的网络订票市场,主要原因就是使用了更好的编程语言。引用这个例子不为说明语言的孰优孰虐,而是说技术选型的结果会直接影响一家企业的兴衰。

小型创业团队要在同一市场与人力财力更强大的企业竞争,技术方案是少有的可以成为优势的因素,当然何其珍贵了!

刚才我的愚蠢而善良的领导召集前后端开发人员开会,总结上一个项目的得出以下经验:

  1. PHP模版中的<{header}>中的内容一定是要公用的静态资源才能放进去
  2. 切图定义样式类只用class属性,后台开发人员只用id属性
  3. JS脚本资源引用,要按照切图静态页的顺序放进去
  4. 表单提交不要用button标签,以防有的服务器端开发人员不知道如何屏蔽submit事件
  5. 所有的JS交互直接写在HTML页中,方便服务器端开发人员定位交互代码

然后演示了服务器端开发人员,将我已经用vue写好前端渲染的页面,重新用JS渲染出来的页面后,获得了在座一致认同——下面就这么搞!服务器端开发人员玩转前端的自豪感难以掩藏挂在脸上(包括我那愚善的领导),殊不知将整个团队拖入泥潭。而我这个习得性无助的人只能淡然视之。在一个封闭的圈子里面,经验和知识是如此的难以取得。若我们失败了,一定是败给了人性的弱点。

若武汉是个稍微封闭地方,但从我面试过一些求职者来看,也许这个范围更为广泛(或是我单位很容易吸引初级开发者)。有2位从北京、上海回来的前端开发,从业4年有余,从交流中得知他们依然看到前端是做一些切图的工作。后来我跟一位优秀的实习生讨论,觉得这是一件多么可怕的事情:呆在一个地方,被蒙蔽了视野。做一个岗位,应当与整个行业同步,而不仅限于跟圈子站在一起。

互联网是如此开放的环境,又有那么多优秀而慷慨的乐于人分享他们的智慧。这是我最喜欢互联网的原因之一,这让“身在小镇,胸怀世界”成为可能,并且能始终与“巨人”们站在一起。做互联网的人是最有资源利用好这一点的人群。

我专职做前端开发的时间不长,短短1年,但从2000年初的个人站长热就开始接触网页三剑客,持续关注Web开发也有十余年时间。当我在报社、门户网站做过记者、摄影师、编辑后,又回到了Web开发领域,看到网页三剑客已衰落至死;看到ES6标准使Javascript拥有更多高级语言的特性;看到NodeJS拓展Javascript程序员的空间;看到npm成为前端开发的大宝库;看到React、Angular这些优秀的JS框架;看到Sass将老旧的CSS焕发新生;看到webpack将Web应用打包的干净优雅……最初看到这些事物的时候,每天都有新东西思考、探索和研究,就如同看到“一个全新的世界”,这也是为什么我喜欢前端开发。

而此时当我还看到有人在操作DOM节点,找“父亲的兄弟的儿子”时,心中着急如猫抓。

上个月我在infoQ的微信公众号看到一篇文章ThoughtWorks前端架构师为AngularJS2布道的文章,还听说他们参与举办了一次武汉前端开发交流会,为武汉Web前端开发圈技术革新的推广付出努力,在武汉真是难能可贵。

希望武汉的Web前端开发圈能够更好,下一份工作我能更优雅的编码。