关于前端开发这份工作

标签: 懒得分类 | 发表时间:2009-10-26 00:39 | 作者:小麦 paaboo
出处:http://www.mikkolee.com

一直想写点关于前端开发职位本身的文字,但写了好几次都没发。最近又在持续的招聘,对应聘和招聘有些感想,零散的写多少算多少吧。

关于“前端开发工程师”这个职位
当一个词开始泛滥,就会被人忘记它的本意。我只讲我认为的解释。首先,它是“开发工程师”,也就是程序员。其工作内容的本质,就是写代码。所以,程序员应该具备的素质,比如逻辑能力,写代码的水平等等,算是它最最基础的要求。

在此之上,则是另一个要求:“界面开发”。对“看得见”的东西的感觉要敏锐。这偏偏是大多数重于理性思维的普通开发工程师,所无法具备的一项能力。坦率的说,这也是前端开发工程师与众不同,可以引以为傲的地方。前端开发职位,正是一个将看不见的逻辑转化为看得见的图形的重要角色,也可以说,一个优秀的网站产品,“最终”的成败系于前端开发这一环。

如何入行前端开发
由于现在这个劣币驱逐良币的年代,前端行业里滥竽充数太多,真正优秀的又都各占着坑不大挪窝,所以有必要仔细回答一下这个问题,以期更多有潜质的人能加入我们。我按当前状态来分类:

如果,你正在从事“网页设计”、“网页制作”方面的工作。我得先说明一下,“会做网页”不等于“前端开发”。再重复一遍:前端开发是写代码的,是用代码来构建网页界面和交互。如果还不明白,我举个例子。在宜家买个电脑桌,带回来需要自己把几块板拼成电脑桌。这个过程你会做,但绝对不会有人把你称作家具木匠。这只不过是有现成的材料,按照图纸把成品拼装起来而已。前端开发,就相当于给一块木头,要从刨木头弹墨线开始做。也不要以为今后WYSIWYG工具发达了,就没前端堆代码这碗饭。但凡纯手工打造的都是上乘精品,再过一百年,这个道理都会在的。(这样说,感觉自己好像深山里的老师傅,hoho)

如果,你正在从事“软件开发工程师”方面的工作。那你遇到的就是另一个问题了:对于界面的敏锐度。其实前端开发也不用做设计,所以不需要知道该如何“做菜”,但一定要知道好吃不好吃。能够知道什么界面的是好看,什么界面是不好,这其实并不容易。我其实也很困惑,为什么大多数人对界面好看不好看没有什么感觉。但苹果告诉我们,界面好看到极致,确实是可以比一般的产品多出一些价值的。

如果,你正在从事“前端开发”方面的工作。那就需要问问自己几个问题了:对于前端开发所必须的技术,你掌握多少?“够用就行”的知识量,是无法胜任“真正的前端开发”的。这里有一个很重要的问题:我接到的很多简历,确实可以看到对方过去一直在从事前端开发工作,但给我的案例都是非常糟糕的。如果说,过去的工作环境让你无法做出自己想做的东西,我认为这不是值得体谅的借口。我也面试过很多来自不好的公司的人,他们同样给了我他们自己平时做的实验性作品。诚然工作环境局限会让一个人很容易止步,但我真正欣赏的其实是对前端开发本身充满热情的人。之前的“堆代码”,只是我的一种戏称。如果你真的觉得前端是无聊的堆代码,那其实也无法指望在将来有不断的进步。其实,任何一份工作都是这个样子的,只有热情才能将人推向完美。

如果,你只是一个“前端开发爱好者”,比如,只是一名学生,还没有工作经验。其实我经常会遇到这个来自菜鸟的问题:怎么学CSS或JS。那,如果认真的打算作为职业来学习,有几个简单的忠告:

1. 通读权威指南。不要瞎读,外面烂书太多。倒不是说烂书学不到知识,它们之所以是烂书,是因为它们缺乏一种“正确的价值观”。什么是卓越的方法,什么是优雅的代码,这些都是有“品味”和“格调”的。由于我近期看的书不多,也不想为别人打广告,所以我只能给出一个简单但绝对不会错的答案:看《权威指南》。

2. 多做自己想做的练习。比如自己做一个简历网站或是博客,把想用的技术都用上去,做了一版再做一版。不要指望通过接外包项目之类的能给你带来技术上的提高,替他人做嫁衣其实让你很难很好的发挥的。

3. 多向他人学习。这不是说你得缠着个高手整天帮你解答问题。但凡技术高手,都是自学、google、自己琢磨+和人讨论的。计算机技术,向来不存在“教会(呃,第一个字念一声)”这一说。多和别人交流,共同提高,这才是正确的做法。

我还会其他的技能
我也时常会接到简历,声称会设计,会flash,会PHP或.NET。淘宝倒是一直要求应聘的前端开发一定要会一门非前端编程语言。我想他们的本意或许是在强调我开篇的第一点:前端开发是开发工程师。回到开初的问题,会一些周边的技能,对前端开发是否有帮助?答案当然是肯定的。但我在面试时从来对这些方面只字不问。对于一个优秀的前端开发,最重要的仍然是对前端技能本身的精通,而我相信,当你全身心投入在前端技能上时,是不大可能将其他的技能也同样做到精通的。既然不精通,我也没必要测试了。如果来者说会这些,我知道了,我也相信,就可以了。反过来,如果你真是对前端技能精通,是不可能对这些周边知识一无所知的。其实,它们都是和前端开发工作紧密结合的,很容易触类旁通。就像一个优秀的网页UI设计师,是不可能对HTML一窍不通的。

只会CSS或只会JS
一般而言,前一种情况比较多:CSS简单嘛。aoao同学说,百度是愿意要的,当前前提是“足够精通”。而淘宝的招聘广告则是狠狠的说:两者都要好。我个人是觉得,可以容许在前端开发中再细分为界面工程师和JS工程师的。但前提是,这个team已经有足够的钱来养一个大大的前端开发团队。至少对于小公司(比如偶们公司),仍然希望来者身上有足够多的剩余价值可以被榨取(hoho)。

先写这么些吧。其实,还有一些关于前端开发职业发展的想法,等我下次无事可做时再说吧。

相关 [前端 开发 工作] 推荐:

关于前端开发这份工作

- paaboo - 小麦的自习教室
一直想写点关于前端开发职位本身的文字,但写了好几次都没发. 最近又在持续的招聘,对应聘和招聘有些感想,零散的写多少算多少吧. 关于“前端开发工程师”这个职位. 当一个词开始泛滥,就会被人忘记它的本意. 首先,它是“开发工程师”,也就是程序员. 所以,程序员应该具备的素质,比如逻辑能力,写代码的水平等等,算是它最最基础的要求.

前端自动化开发工作流模板

- - 氪星人
每种项目都有自己特定的开发流程、工作流程. 从需求分析、设计、编码、测试、发布,一个整个开发流程中,会根据不同的情况形成自己独特的步骤和流程. 一个工作流的过程不是一开始就固定的,而是随着项目的深入而不断地改进,期间甚至会形成一些工具. 例如当年大神们在Linux写C语言,觉得每次编译好多文件好麻烦,就发明了makefile.

前端开发大众手册

- Ran - FeedzShare
来自: xilo's blog - FeedzShare  . 发布时间:2009年03月09日,  已有 3 人推荐. 一直觉得前端开发缺个手册,这是个体力活. 今天闲来无事,把一些工具(online和client的)、常用网址、以及经验总结等罗列出来和大家分享下. 这个标题起地大了点,肯定会有很多地方没列到,包括类目的分法也可能考虑不周,所以还请大家积极补充指正,可以直接留言,也可以发邮件给我.

前端开发 – 我们的职业

- aoao - 崔凯,前端开发
写给“正在纠结”、“准备纠结”的前端开发们,希望对大家求职有所帮助:. 很多人提出薪资要求的时候,会说:“现在房租是多少多少、吃饭要多少多少、泡妞会多少多少”,所以,至少拿多少多少的工资,才满足自己的需求. 如果说这些话的人,已经是公司的老员工,和老板私人关系很不错,那这么讲还凑合. 但如果是职场新人,首次过来应聘,谈这些就很不在点上.

CssGaga:前端开发和部署利器

- Anew - 前端观察
涛哥@ytzong 开发的cssgaga用了好久,确实是个好工具,早想把它推荐给大家用了. 今天就做个简介,涛哥网站有详细的介绍,这里不多说. (工作量)一般都能减少20%以上吧,没怎么统计. 一个极端的例子:某人使用了CssGaga后从原来早9点到晚11点下班,午休都在做到现在晚5点半下班,中午还能看一部完整电影 (via twitter).

前端开发流程自动化

- Lee - 《程序员》杂志官网
如今前端工程师需要维护的代码变得极为庞大和复杂,代码维护、打包、发布等流程上浪费的时间精力也越来越多. 精简流程、提高效率,是每一个前端团队都会遇到的问题. 大部分前端团队使用Ant脚本进行这一系列流程的自动操作. Ant主要用于代码构建、打包、部署的自动化操作. 早先主要用于Java开发,但由于它具有接口开放、便于配置、Java跨平台等特性,在前端流程自动化方面同样可以发挥强大的功用.

前端开发中的MCRV模式

- 亚威 - 百度泛用户体验
MCRV设计模式 Javascript MVC Web开发标准. 1.Web前端开发面临的问题. 早期的Web页开发(Web前端开发)中,Web页面较为简单,大多数Web页面的功能仅限于用HTML和简单样式展示静态信息,或向服务器发送数据,Web页面与用户的交互较少. 随着Web的发展,DHTML、CSS、javascript等技术出现,Web页不再仅限于展示静态信息,动态、交互成为Web页的主流功能之一.

前端开发大众手册

- Ease - 膘叔
很明显,这段内容是ctrl+c,ctrl+v而来的,做备份和资料查询用,挺好的. 原文来自:http://www.chencheng.org/blog/2008/10/25/f2e-manual/#f2e-manual-s1. 另外还搞了个Firefox插件《前端开发工具集》,把资源整合到一个菜单下,方便查询.