写在开头
拖延症是病!得治!
——其实注册这博客好几个月了,每每想起得给自己写点啥,然后这里忙一下那里懒一下地过去了,眼看2013就要过去,想想还是不要把东西拖到明年吧。
为啥要来注册博客? 想起一句话:当你选择了一种语言,意味着你还选择了一组技术、一个社区。——Joshua Bloch
PO主的情况是,大学既不是计算机专业,所以鲜有走码农路线的同学;从事的第一份工作也不是码农,之前少有会编程的同事,所以如上面那段话所言,我需要一个社区。
既然现实中没有这样的好圈子,希望能在网络上瞅瞅吧。
在做前端之前
PO主09年本科毕业,电子信息科学技术专业(嗯,学校是有计算机学院,但我们专业在物理学院里);
第一家公司里干游戏运营,公司还算大,应该国内前三甲里靠前吧(匿去公司名=_=),度过了踏上社会的第一年,至于偶尔写写稿子赚点稿费、玩玩业余级的视频剪辑和后期,看似一切和前端无关;
第二年公司内换岗位做资料管理员类似的活儿,开始玩Wiki(就是维基百科的那个开源代码啊,copy个下来自己都能搭一个平台的那种),从此时懵懂踏上前端之路(这也能算前端?0_0当时都不知道啥叫前端),从维基的代码开始拓展学html、css(Wiki不够用啊,那帮人总有奇怪的期望和需求orz...这岗位又只有我一个人,对,是新开辟的那种╯﹏╰),由于公司限制公网,只自己拿着些资料摸索研究试验,踩了无数的坑(问都没处问啊,身边都是业务向的同仁,有那么个技术的组,但都是像python和java那些没有前端啊┑( ̄▽  ̄)┍),但因为用得多,踩的坑多,也为后面的前端之路打下了不错的基础。
半年后,还是公司内,转岗到了一个有点网站编辑性质的位置,用CMS后台编辑内容,属于给用户帮助的那种信息,另外还有一些类似用研的工作练了一大把excel函数和sql查询语句的技能,写程序需求、跟程序接口的这种活则又常常被PPT和visio折腾(工作内容很杂有木有,离职后有次去另一公司面谈我花了接近两个小时解释我是干嘛的,至于最后有没有完全解答对方“你是算哪方面”的疑虑,我也不得而知了,囧)。
在这样的岗位上干了2年,也是在这时候开始学习和熟练了Jquery和javascript(对,是这个顺序),CMS编辑时越来越多地用源码模式往里写各种css和javascript,后来那些技术的哥们也会在一些项目里来求救前端的活儿(部门没前端嘛┑( ̄▽  ̄)┍),有时作为写案子的需求方,要是对方敢请假拖进度啥的也开始会直接踹掉他们自己干一些页面重构的活儿。
那段时间里,我越来越往一个Web前端靠拢了,但当时部门毕竟不设前端的职位,需求量也不大,大的project就跨部门做了,而因为转岗机制的一些零零种种的问题,我如果想在前端的路上继续走下去,最后不得不做一些选择。
在2012年底,离开接近干了三年半的第一家公司,开始正式踏上前端工程师的工作,因为之前能拿得出手的有关前端的项目着实寥寥(原来的公司限网络啊,连U盘都限啊,与世隔绝啊ಥ_ಥ,几乎只有编辑的活儿外面能看到啊),自己当时也有点忐忑于是否能胜任(没有圈子没有人能告诉我我当时的水平够不够干前端啊,我只是看看别人写的网站觉得自己也能写,就这样),所以自降了一点薪水去了一朋友的公司,想想这种状况还是熟悉和了解比较重要一点吧,Whatever,至少算上道了。
2013前端之旅
2012年12月干上前端,到现在整好一年,如前描述,一路基本自学而来(有一成算是靠指点吧,毕竟有这么些热心的技术大哥会说“那个jquery不错建议你去学学”),到新公司也只有PO主一个前端(据说前任刚走...),这种状况持续了近一年,后来业务繁忙招了一位刚毕业的小哥,PO主作为师傅还教起别人来了,这都是后话,囧。。
新到前端的岗位上,第一件事情是在网上找新手教程恶补了photoshop(切图啊+_+,每个前端的爱与恨),虽然之前也会一些,但刚开始这PS水平比较影响效率,之后慢慢切多了对PS也就了解多了。
新到的公司比较小,作为跨游戏和广告业的公司(继续匿去公司名m(_ _)m),会有很多的网页制作需求,所以练熟练度不是问题,由于业务量不是很稳定,所以偶尔也会有一些空闲的时间来继续自学,PO主觉得这种一松一紧的状态非常适合学习进步,学习后马上有大量的工作来练手,再学再练,一步步的,不会忙得找不到北,也不会完全没项目来实战进步。
在新公司的这段时间里,PO主除了切了不晓得几十个页面,收获还包括:
- 和其他公司联运游戏产品、做外包项目,接触认识了不少行业链上其他大大小小公司的人,和……各式的后端程序员们(“诶,这个页面拿去部署一下,这个方法是这样用的……记得覆盖图片清缓存啊……”等等orz..);
- 接触了更多种的CMS后台,大多是php写的,有时候要写写模板之类的开始了解后端语言;
- 浏览器兼容性的了解和熟悉,这也是刚开始入行就要搞掂的东西(PO主与ie6的怨念从此拉开序幕...),熟悉各种css属性在不同浏览器下的特点,然后还可以用js等一些手段针对不同的浏览器差异化地处理css;
- 构建游戏产品的一整个官网,css和js的结构也很重要,哪些共用哪些不共用,直接影响到后期的维护修改工作,相比下帮别人网站改东西才是麻烦的事儿,那些不是自己写的结构要抽丝剥茧地了解后修改,有时候遇上结构比较奇葩的站点会有不如直接重构一遍整站的冲动;
- 熟练使用浏览器的开发者工具,对调试和修改页面很有帮助,以前常用firefox,现在用chrome;
- 跨平台时开始学会和后端程序沟通实现异步处理数据,getJson、Ajax,目前用getJson比较顺手一些;
- css3和html5的学习,因为要兼容旧浏览器,开始只能做一些锦上添花、可有可无的东西,但在后面做的移动端页面中就可以用很多了,canvas只是学完基础用法,还没有正式的项目敢用,一些大公司下的设计团队会有自己的博客,他们在这方面的研究会更多一些(比如PO主在腾讯的页面源代码里看到了腾讯设计团队的博客地址,里面就有不少针对新技术的案例);
- 粗粗了解了php和asp,最后决定从python入手后端,看完了基本的Django教程,能在本地搭个架子测试了,上次在博客园受帖子指点去百度开发者那里申请了个地方,打算整个小应用,还在building (拖延症是病啊..)
- 带了一个新人,把一名刚毕业的大学生拖进了前端的行当(其实PO主当初还期待能招个NB点的前端带带自己的@_@,结果来了个两年前的自己,也是自学的主,PO主也不确定自己教得好不好,反正现在进步很快,倍感欣慰)。
- 开始尝试用svn来管理俩前端间合作的项目;
- 最近开始接触移动端的页面制作,大概才做了十来个单页面,开始看jquery mobile和一些零散的技术,移动端是以后学习的方向之一,前端的一个特点是技术更新快,不论是自学的还是科班出身的,都要不断学习,也正是这个特点,让我觉得其实自学的前端和那些科班出身的差距并不会很大,尤其越到后面越如是。
马上2014年,这就算正经的一年前端工作经验啦,仍需打磨,且行且琢。
等有空写几套这博客园的自定义css样式,回馈涩会啊\(╯▼╰)/。