淘宝前端工程师:国内前端行业10日谈

时间:2014-09-14

  真正的高手用记事本就能写出高质量的代码、用cvs就能做到完美的版本控制、用字典式的分解就能做好系统架构,我想,这正是剑宗一派的最高境界吧。

  第五日:寻找突破

  动心忍性

  技术流派看上去是如此吸引人,高手就像侠客一般,来去如风潇洒自如。但反观自己怎么看怎么没有侠客那股范儿。尽管上文提到了一些道理,了解这些尽管不是坏事,但缺少实践总感觉是纸上谈兵。更何况,日常的工作又是枯燥无味、繁杂单调。每个人都盼望更高的目标、接触新鲜技术、将新技术运用到日常,在探索尝试之中寻找成就感。这种感觉可以理解,但却缺少更深层次的思考。因为越到最后越会发现一线的工作才是最有挑战的。当然,我说这话的前提是,你能如前文所说具备合格的软技能,需要一些技巧让工作变得工整有序、节奏健康,这样你才能将注意力放在纯粹的代码中,摆脱了外界的烦扰,方能从技术的角度思考突破。这也是从初级到高级的进化过程需要大量的历练的原因。正如玉伯所说,"枯燥是创新的源泉。如果你发现自己没什么新想法,做事缺少激情,很可能是因为你还未曾体验过真正的枯燥的工作"。

  关于如何寻找突破,我的建议是马上动手做、不要等,相信自己的直觉(这里和上文提到的先思后行是两码事)。比如,Slide幻灯控件理应支持触屏事件以更好的适应移动终端,或许你在用的Slide幻灯版本很旧、或者时间不允许、再或者你害怕对Slide改造而引入bug,不要担心,大不了多花业余时间,只要想,只要感觉合理和必要,就去做。因为这个过程带来的编程体验才是工程师们独有的美妙体味。我现在还时常深夜写代码,没有打扰、思如泉涌、代码也更加工整严谨,不失为一种享受。因此,用眼睛去观察,用心去感触,"所以动心忍性,才会增益其所不能"啊。

  得与失

  互联网的发展的确太快,Web前端技术也在花样翻新,有人经不起诱惑,开始做新的尝试。前端技术虽然范围广,但各个分支都还比较容易入门,比如服务器端脚本编程、再比如纯粹的WebApp,我认为这两者都是前端技术的范畴,毕竟他们都没有脱离"浏览器",或者说类似浏览器的环境。NodeJS依赖于 V8,WebApp更是软件化的WebPage。只要打好基础,这些方向都是值得深入钻研的,因为,互联网的形态越发多元,新的技术总能找到用武之地,这就要凭借自己的技术嗅觉和产品直觉,寻找技术和业务的契合点。

  这看上去是一种放弃,放弃了自己赖以生存的铁饭碗(熟练的切页面至少不会失业),实则不然。这种想法是一种误区,新的选择并不会让你放弃什么,就像学会了开车,并不意味着就不会骑车了。其实改变的是思维方式而已,是一种进步,如果你能想通这一点,你也能跟得上互联网发展的脚步了,打开你的思维,让技术变成你的金刚钻,而不是包袱。

  所以,所谓得失之间的权衡,其实就是"解放思想"。做到了这一点,那么你已经在做"技术驱动"了。

  误区

  但是,不要高兴的太早,"技术驱动"是需要大量的积累和经验的。在入行初期,很多人过于着迷与此,从而陷入了迷途。比如有人纠结于是否将dt、dd 的样式清除从reset.css中拿掉,原因是觉得这两个标签的清除样式会耗费一些渲染性能;或者是否需要将for循环改为while循环以提高js执行速度。尽管这些考虑看上去是合理的,但并不是性能的瓶颈所在,也就是说,你花了很大力气重构的代码带来的页面性能提升,往往还不如将两个css文件合成一个带来的提升明显。就好比用一把米尺量东西,没必要精确到小数点后10位,因为精确到小数点后2位就已经是不准确的了。这种技术误区常常让人捡了芝麻丢了西瓜。

  话说回来,这里提到的怀疑权威的精神是绝对应当鼓励的,但不应当止于表象,如果怀疑dt的清除样式会对性能带来影响,就应当想办法拿到数据,用事实来证明自己的猜测。数据是不会骗人的。而求证过程本身就是一种能力的锻炼。

  技术驱动

  说到这里,你大概对"技术驱动"有那么一点点感觉了。身边太多人在抱怨"公司不重视前端"、公司不是技术驱动的、技术没机会推动产品业绩、我的价值得不到体现?

  什么是技术驱动?简单讲,就是技术对业务有积极推动作用。更多的是工程师发起、工程师影响、工程师负责。刚才提到的用数据说话只是一种"驱动"技巧,那么我需要何种数据,数据从哪里来?我来分享一个实际的场景吧。

  工程师A被委派一个重要的频道首页,因为是新年版,所以要赶在年前上线。A学了一点点响应式设计,想在这次重构中加上,但谁也没做过响应式设计,需求方根本不懂,设计师也懵懵懂懂,交互设计师太忙,做完交互搞就忙别的去了。A纠结了,按部就班的把项目做完上线发布,尽管不会出什么问题,但总觉少点什么。这时A做了两个决定,1,我要按时完成项目,2,趁机实践我在响应式设计中的想法和思考,若成功,作为附加值赠送给需求方,若失败,权当技术玩具耍一耍罢了。所以A熟练的提前完成了项目,剩下的时间开始考虑如何将首页适应到各个平台中,视觉设计是一大难题,他用吃饭的时间找了设计师收集建议,对窄屏中的内容模块做了看似合理的编排,代码上hack一下,能够正确适配,就发布上线了。这件事情需求方不知道,视觉设计师也不了解,交互设计师更没工夫操心。 A感觉挺爽,开始给工程师弟兄们到处炫耀这个好玩的功能,B看了问,手机端访问量如何,A觉得这个问题有道理,就去部署埋点,一周后拿到数据出奇的意外,首先,移动段的访问量稳步增加,趋势健康,再者,移动端首屏焦点广告位的点击率较PC端高了近一倍,这个数据让A喜出望外,兴奋的拿着报表找到交互设计师 C和市场研究的同事D,D看了报表之后立即启动一个项目,专门调研公司全站响应式设计页面在PC端和移动端的点击率、PV、UV趋势方面的影响……后来发生的事情就都水到渠成了,设计师C开始注意设计页面交互时(至少是有条件的考虑)对移动端的适配,D的调研报告也放到了UED老大的案头……接下来的事情,你懂得。A被指派要出一套响应式最佳实践和规范,最终,A走在了技术的前沿,也因此拿到了好绩效。

  这件事情就是一个典型的技术驱动的例子。谁不让你玩技术了,谁不重视你了,谁把你当工具了,谁觉得你的代码没价值?这世界只有自己把自己看扁,谁想跟你这个蝇头小卒过不去?用实力说话,用数据说话,用独到的见解说话,想不做技术驱动都难。

  第六日:码农的宿命

  青春饭

  "码农"是IT从业者一个自嘲的称号,也有从事没有发展前景的软件开发职位,靠写代码为生的意思。但我认为码农是一个爱称,编码的农民,和农民一样有着执着纯真朴实豪爽的共性,仅仅分工不同而已。就好比农业社会对粮食的依赖,工业化进程对计算机应用也有着很强的依赖,大量的需求催生出这样一群人。他们有智慧的大脑,对于编程,设计,开发都有着熟练的技巧,但多数人看来,码农的特点是:

  1,收入低

  2,工作单调

  3,工作时间长

  实际上这个描述非常片面,或者说是外行看热闹。第一,全行业比较来看,软件开发领域收入为中等偏上,第二,程序员一般都是有癖好的,沉浸在自己的癖好中是不会感觉单调的,第三,程序员有一定的时间自由度(如果你是一名合格的程序员的话),至少不会像流水生产线工人一样。其实,通过几十年的发展,我们对程序员的定义更加科学,比如很多IT企业都开始建立详细的JM(Job Module),即职级模型,程序员沿着专业方向可以走到很高,甚至可以说,程序员是可以被当成一生的事业的。

  然而,有一个非常普遍的观点是,程序员和做模特一样是吃青春饭的,到了三十岁就要考虑转行或者转管理。尽管这种观点颇具欺骗性,但至少它对一种人是适用的,即入错了行的人。如果你骨子里不想写程序,就算年纪轻轻为了生计写几年代码,之后肯定会另有他途。心非所属则不必勉强,但问题是,即便如此,你知道你的心之所属吗?

  我们知道,一个成熟的产业一定需要各色岗位来支撑,若要成熟,则需要时间的沉淀,比如实体经济制造业,创意、生产线、高级技工、技术管理四个方面都产出大量的高级人才。因为历史悠久,我们能看得到。而软件产业则不然,九成以上是刚出道的新手,并没有太多"高级"和"资深"的具体样板可供参照,在前端开发领域中情况更甚,绝大部分人根本搞不清楚什么样才是"资深"前端工程师,相比传统软件行业近四十年的进化,我不相信仅有几年光景的前端技术岗位能产出多少货真价实的"资深"。但互联网崛起速度太快,还没有等技术基础打牢,互联网形态就又花样翻新了,这种变化是一种常态,而岗位的设定也在这种变化之中自然的优胜劣汰,比如两年前可能还难以想象数据部门会需要前端工程师,他们甚至不直接和浏览器打交道。前端工程师需要适应这种变化带来的观念冲击,不要以为自己只能做切页面、或者只会给页面搞重构、只会搞兼容性,要把自己放在整个软件行业来看。

  所以,由于历史"不悠久"导致的岗位模糊本身不是什么大问题,岗位的演化本身就包含在互联网的发展轨迹之中。所以,当今的互联网IT状况,就好比移动终端的大哥大时代、云计算的肉鸡时代、或者桌面操作系统的DOS时代。因此,前端工程师当前要务是要想清楚看清楚,在互联网中我能做什么,而不是作为前端工程师我能做什么,所以,从这个角度讲,技术是一个工具,放大来看,技术也只是你职业生涯中很小的组成部分,而你的从业积累、和知识面的广度深度才是你随着时间的推移慢慢步入"资深"的原因所在,而不是写了个什么框架就变"资深"了。如果有一天互联网形态固定了,它的岗位可能真正就定型了,才会有真正清晰的职能边界,就像蓝色巨人IBM中的各色岗位一样,边界清晰,权责分明,普通程序员只能实现接口而无机会设计接口、低层级的工程师也无机会跃进式的接触项目架构、技术经理人也不能轻易对产品有决策性影响,到这时,人的能力才真正的被限制在方圆之内,容不得越界,这种环境下人的成长非常缓慢。根本不会有像今天互联网乱局之中所提倡的创新、革命、成长和思想解放。简单讲,一旦产业定型,就不太需要很多"创造"了,更多的是"维护"。所以,我个人宁愿互联网 IT"黑暗"的中世纪越久越好,至少对于年轻气盛程序员来说,黑暗的丛林环境才是真正的自然进化最理想的土壤,这时我想起了狄更斯在"双城记"中的开篇。

  "这是最好的时代,这是最坏的时代;这是智慧的时代,这是愚蠢的时代;这是信仰的时期,这是怀疑的时期;这是光明的季节,这是黑暗的季节;这是希望之春,这是失望之冬;人们面前有着各样事物,人们面前一无所有;人们正在直登天堂,人们正在直下地狱"。

  • 共4页:
  • 上一页
  • 3/4
  • 下一页
  • 上一篇:前端工程师新手必读:掌握基本技能弄清概念 下一篇:网站视觉设计:情绪板携手视觉设计

    相关文章

    最新文章