儿时的梦想,是做一名老师;中学时,想做一名医生;大学时,学了计算机,就这样踏上了IT民工的不归路。
有幸进入了互联网行业,成为了一个互联网产品的页面“代码仔”,这几年我也一直在想:为什么会成为一名重构?一直坚持下去的动力从何而来?重构的将来又是怎样?这也是我这几年一直酝酿的思绪,也一直想写这么一篇文章,想为自己已经走过、正在走的和即将到来的人生做一个梳理与总结。
每天对着电脑8小时以上,每天写页面、测试页面、改BUG;每天和开发、设计、产品打N个电话,开各种会议,各种PK;加班是家常便饭,逐渐的,我们处于亚健康状态,脾气变得暴躁,生活变得枯燥,幸福感荡然无存。我们的选择是错的吗?为什么活得这么累,重构真的是一个苦逼的职业吗?
前一段时间《非你莫属》一位前端工程师登台求职,可是让人大跌眼镜的是姚劲波(58同城CEO)根本不知道前端是什么,这也瞬间成为全国前端们在微博上吐槽最热的一个话题。其实,想想也不奇怪,一个公司人太多,CEO不可能每个人的工作都是那么清楚。就像整个中国的环境下,有数不清的互联网公司,数不清的小建站公司,数不清的网站设计工作室,这里面最不可或缺的就是“美工”了(在“前端”不引起重视的地方会被称为“美工”)。但大多数人只会认为美工的工作很简单,只要随便写写html代码,DW拖几个表格,做出来的页面不用考虑性能、不用考虑兼容性、不用考虑易用性,说白了就是老板看到的OK的就是OK的,那么在这样的氛围下,“美工”能够得到好的发展吗?可能自己也会觉得苦逼吧。
目前国内还没有一个高校开设了前端相关的课程,而进入前端这个行业的要么就是歪打正着不小心转行进来的,要么就是自己真的爱这个行业而进来的。我记得我在高中那会还在用frontpage拖table来做网页,自己只是兴趣所趋,写几句代码就能为用户展现出一个页面,的确是很神奇的一件事。说实话,如果不是自己对前端这个行业感兴趣,自己也不会选择了计算机专业,毕业后也不会一直从事着前端行业。
前端入门容易,但说实话精通真的很难,无论哪个大牛都不敢说自己是精通,因为前端知识体系不仅有广度还要有深度,每天跟代码在一起生活,唯一能支持下去的动力恐怕就是兴趣了吧。如果你不爱一个东西,如何将它做好?
以下是我根据自己的经历总结的一些中肯的建议,疏漏之处难免,请各位拍砖。
知道自己是什么,正在做什么,正在做的会改变什么。
如果你把自己定位为一个“美工”,可能你一天的工作中有一半在用PS做设计稿,一半在用DW拖表格,到了晚上还可能写写后台程序。你的工作时间被各种需求塞满,甚至到了晚上还会占用你的私人时间来处理后台程序,这时,你会只管页面是否最终完成,根本没有时间在页面的性能上做考虑,自然也不会去考虑页面的易用性,甚至不会去在每个浏览器中去测试,因为你知道老板用的是IE6,IE6下正常就OK了。
这样的工作以结果为导向,每天是重复劳动,可能同样的代码每天都在重复写,一个很有名的“DRY”(Don’t Repeat Yourself )原则告诉我们不要重复自己的工作,可是我们就是这样像机器一样每天重复自己的工作,生活变得没有激情,于是变得厌倦这样的工作但又无可选择—我们不会其他的。
要知道重构不是“页面仔”,不是“美工”,重构直接面向了最终用户,重构是针线活,需要细心和耐心,重构需要不断地学习新知识,重构需要不断研究出现的问题,重构需要关注用户体验,重构需要了解用户心理,重构也需要了解程序员的心理,重构还需要了解设计师天马行空的想法,但不是什么都要由重构来完成。永远不要把自己当做一个代码机器,不然每天会活的很累,其实你是一个设计师!
目前国内将前端分为重构和JS开发的并不多,可能有腾讯、新浪、搜狐等,虽然PS是重构必用的一个软件,但要知道重构不是切图仔,切图只是重构工作内容的一部分。我们没有理由因为自己是重构,而不去学习其他技术,因为你知道你不会干一辈子的重构,JS不能丢,同样的对前端新技术要熟知。重构页面时应该把大部分的时间花在页面模块的抽离、性能的优化、易用性的探索上,而应该花最少的时间去写代码。也许你写出来的页面有百万级的用户在使用,所以你要考虑各种用户的感受与体验,而不仅仅是局限于代码的完成度上。
可能大家认为做网站的是技术含量最低的一份工作,随便找一个学生培训几天就能上岗,但那样做出来的东西质量又是如何?想必大家心里都清楚。如果你想在一个大的互联网公司做好重构,请务必注重一下前端的基础知识的把握。
前几天有个微博:前端的基础知识就像一个城堡的各扇门,哪边的门造的不好,敌人的枪火就可以马上攻破,所以打好基础是前端学习更多知识的基石。
重构 = PSD转html + css + js,有很多同学在写页面两栏布局时只知道用浮动,其实有个很经典的面试题,很多公司都问过,两栏布局有多少种实现方法?其实这个问题不仅仅是你要知道有哪些方法,而是要知道哪些方法适合于哪些场合。如果连包含块、块格式化上下文、层叠上下文都不了解,那么你在选择一个很简单的两栏布局的实现方法时便会力不从心。
W3C是一个不错的组织,至少现在各大浏览器厂商都已经加入了共同制定相关标准,其实我们平时涉及到的很多的BUG都能在上面找到根本原因,没事可以尝试去翻译一些上面的东西,能够在翻译的过程中学到很多东西。W3C在线教程是前端基本都知道的一个网站,列出了前端各技术的基本知识点,但又有多少同学认真的看过,至少在你出现问题的时候,很有可能是一个基础知识点没有掌握牢固,w3school有TIY模式,TRY IT YOURSELF!
正如我们熟知的一样,前端业界有很多牛人:有像彪叔、克军一样的布道师;有像玉伯、拔赤一样的技术专家;也有像神飞、阮一峰一样的高质量博客文章分享者;还有专门将自己的心得出书的小志、嗷嗷等。
那 么我们对待这些大牛的态度是什么?大牛说的就是对的?其实能成为牛人只不过比正常人积累了更多的经验、经历过更多的项目,每个大牛都是普通人,他们也有自 己的生活,也要生儿育女,也要吃喝拉撒,也可能在面对一些专业的细节问题上不是很清楚,牛人是人,不是神。大牛们分享出来的东西一定有可取之处,但一定不 要把它当作权威,请经过自己的尝试,多动手去写代码实战,抱着一个敢于去怀疑的态度,不要盲目崇拜前端界的任何人,可以欣赏一个人,但请不要盲目崇拜,其 实,你自己不是很烂。
互联网发展日新月异,前端技术更新也很快,当我们在学css2时,css3已经风靡全球,当我们在学css3时,css4已经被提上了日程。学的完吗?知识永远学不完!学无止境。那么当新技术到来时,我们的态度是什么?
在做好自己本职工作的同时,保持一颗学习的热情,新技术可以尝试使用,但请先一定了解为什么要用这个新技术?使用这个技术能为我们带来什么改进?在前端技术上,永远没有最好的技术方案,只有最合适的技术方案。最新的不一定是最好的,旧的也不一定是最差的。现在追求一个“大前端”的概念,在做好自己本职工作的同时,尽量的去了解一些新的技术,多了解一些产品设计、用户体验方面的知识,但不是盲目的去跟风学习新技术,要知道自己正在学的是否能够学以致用。
如果自己呆在一个小公司,前端人也不是很多,没有一个很好的氛围,那么这时我们就只能通过两种方式来拓宽人脉:网络和论坛。网络如QQ群、蓝色理想等,而面对面的论坛无疑是最真实的一种拓宽人脉的方式。其实现在国内大的环境下,前端类的技术论坛我自己都数不过来,这时有选择的参加一个论坛显得尤为重要,而不该不管自己懂不懂、免费还是收费什么论坛都去参加,其实适合自己的是最重要的,挑选自己感兴趣的。
推荐几个:
webRebuild 成立于2007年,腾讯的彪叔、Ghost等是创始人,目前每年在广州、深圳、上海、北京、成都都会举办分会场交流会
D2 由 淘宝网 发起,淘宝的圆心、小马等是创始人,每年在杭州举办交流会和年会
W3ctech 成立于2009年,崔凯和林毅等是创始人,每年在广州、上海、杭州、长沙、北京都会有分会场交流会
NodeParty 成立于2011年,朴灵、老赵创始人,每年在深圳、杭州、上海、北京有分会场交流会
html5研究小组 成立于2011年,田爱娜创始人,该组织已加入W3C,每年在北京、上海、广州、南京、成都、深圳、杭州、武汉、大连9个城市有分会场交流会
以上几个论坛分享质量比较高而且也是免费的,运气好的话还有额外的奖品哦,不过奖品基本都是图书类,这也是前端们最喜欢的。同学们可以根据自己的兴趣所在关注相应的交流会的动态,其实在前端界混,有时人脉真的很重要,你丫的不是程序员每天只要埋在后面写代码。
收费的推荐QCon和Velocity China,前者是全球软件开发大会,由infoQ主办,门票价格很贵哦,不过分享的东西的价值远高于门票价格,后者是web性能与运维大会,由大名鼎鼎的动物书公司oreilly主办。
10年前,IE统治了大半个地球,如今,其他的各大浏览器厂商已挤进全球化份额争夺战,最离不开前端的就是浏览器,关注浏览器厂商的动作与格局可以让你拥有前瞻性的视角。一些浏览器厂商的开发者库:微软的MSDN,火狐的MDN,谷歌的开发者库,欧朋的开发者库。另外可以关注下各浏览器厂商的推广活动,像火狐中国会在每一次推出新版本时有体验活动,微软的最新的IE10推出时国内也有推广活动,可以了解这些新版本浏览器的特性以及对css3\html5的支持性如何。安装完最新版的浏览器可以来这里对HTML5的支持性测试打分。
阅读,不仅仅是网络上的电子阅读,更多的纸质书籍的阅读,我比较喜欢传统的实物书籍,电子书一不小心可能就没了,但纸质的永远存在。
除非你把它烧了,而且纸质的可以留下你阅读时的圈圈杠杠和备注。当然我这里提到的保持阅读的热情,不一定是技术类书籍,也可以是小说、人文、地理、风土、经济等各类型的书籍,选择你感兴趣的,保持每天都在吸收新知识的状态。
有人说,现在都什么时代了,网络可以解决一切,但要知道网络始终是虚无的,网络的信息是碎片化的,在我们没有很好的梳理碎片能力的时候,一本实物书籍对于慰藉我们的心灵显得尤为重要。有时生活、工作会让人压的喘不过气来,这时,我们需要去寻找一种方式去释放压力,嗯,阅读是一种很好的方式。莫言大师得诺贝尔了,中国第一位诺贝尔文学奖得主,其实,我之前并没有读过他的作品,可能看过《红高粱》,最近可能要去拜读一下他的《丰乳肥臀》。
每天朝九晚五上班下班,有时晚上和周末还要加班,似乎重构的生活被某种东西压的变形了,个人时间也变少了,于是,我们变得很少运动了,于是,我们从毕业到现在基本都变肥了,没有小肚子的出现小肚子了,大学时期很健康的现在都亚健康了。
不要到我们突然哪天通宵了几晚挂掉时才发觉—我们已处于极度的危险状态!又要套用鲁迅先生的老话:“时间是海绵的水,挤挤总会有的”。
平时工作太忙时,切记一定要改变自己的工作方法,梳理好需求的优先级,预留出一定的时间来放松自己,这个放松一定要让自己的筋骨活动开,可以是去打打羽毛球,或者去跑步,再或者去健身。只有让自己的身体变得强大起来,才有更多的能量值去砍怪升级。
虽然我们活在了拿着世界最低的工资却交着世界最高税的天朝,但我们没有理由因此每天垂头沮丧。有些东西改变不了就得学会去适应,让自己内心变得强大起来,把有些东西就当作浮云,自己开心才是最重要的。
善于发现身边微小的幸福,做一个幸福指数略高的前端人士,也许哪一天你加完班回到家发现你的老公已经帮你煮好方便面,也许哪一天你发现自己期待已久的海贼王玩偶集齐了,又也许哪一天你发现上班时前一天没洗的杯子被阿姨洗掉了。这些都是生活微不足道的幸福,如果你忽略它们,那么你的期望值就会变高,一旦现实与期望的落差很大,你会变得沮丧,进而影响你的工作效率。
有时,生活中的一些细小的幸福颗粒,只要我们善于捕捉,我们就会经常活在幸福中。上次在腾讯健康加油站听了一次关于生活的分享,其中提到“生活就像炖鸡汤,有时需要加点调料和沾料”,的确,这些沾料就是发现生活中的细小幸福,做一个乐观、豁达、开朗的前端人士。调节好工作和生活的平衡,让自己不要再活的那么累。
————————————-
其实说白了,重构或前端是一个大学没有这门课程的行业,所以我们需要保持一个乐观、热情、积极的心,不断学习,同时注意工作与生活的平衡,让自己活得简单、快乐,此足矣。