作为极少数的还活着的纯flash枯骨之一, 在经历了从mm到adobe,从as1到as3,从当年flash等同于动画的代名词,到当今的flash程序员大批的崛起的时代,一直想抽时间写一个职业发展总结来给新学习flash的,以及对于flash职业很模糊的同学同事同乡同人类们分享下这方面的心得,让大家少走一些弯路,能重新认识下flash技术和flash行业。
首先,我是一个幸运的flash开发者,我所在的公司一直都把flash作为公司最主要的技术之一,所以我有机会从很早的时候就一直深入接触flash和相关技术并从事as开发职位以及相关职位的招聘。不过这在5,6年前来说,是很难找到这种公司的,那时中国市场依然普遍对flash不感冒,但是随着flash的普及以及flash游戏和网站项目的市场进化和发展,flash程序员现在有了很好的契机,很多新公司都有对flash人才重视起来,各种职位层出不穷,让热爱flash技术的人们有了很多更适合自己的选择。
那么如何区分用人单位招你过去是否偏重于flash技术呢?很简单,从职位title的名字可以过滤多数,如UI Designer(UI设计师),网站设计师(很含糊的一个职位),软件工程师等。 这些职位描述多数也都包含flash,但却很少使用到flash,多数是让你作为一个技术备份,如果选择这类职位,将直接让你走出flash行业。
那么让我们看看正规的flash行业内的圈子是怎样的:
#注:上图从左至右依次表明了flash职位的发展道路, 从上至下表明了从设计师到程序员的偏重度。
在flash行业内
{dy}阶段:
当你刚学习flash时,无论你是作为设计师还是之前从事别的程序的程序员,都是一片空白,所以都在一个模糊混沌的起点,这个阶段统称为flash newbie(新手) 阶段,在这个阶段内,你会根据你自己的喜好,选择适合自己的技术,如设计师会偏重动画,motion graphics以及手绘,程序员会偏重as,网站编程和视觉{tx},设计和程序都会一些的人学的就比较杂,各方面的技术都会搞一些,在{dy}阶段内我推荐尽量让自己多学习一些各方面flash技术,多发掘自己的综合潜力,这对你后面在职位选择时就多一些范围。
第二阶段:
随着你对flash的逐步深入,你会发现自己的特长会被凸显,这时会有一些职位适合你入行
Flash Designer(设计师), 这个职位在以前很常见,是美工专职做flash的一个特殊职位,会一些简单的as,并且会画动画,做一些motion graphics,同时也会做一些平面设计。
NewMedia Developer(新媒体开发者),新媒体开发者的概念是公司需要综合能力的人才,需要会as,但不需要特别强,也要会做一些动画,拼装素材以及会写简单的js,通常是flash网站项目的公司多一些这类职位。
Actionscript Programmer(纯as开发),纯as开发者多见于程序员出身的背景,这两年比较多的java和javascript前端开发者加入了flash阵营,这个职位的个性就更加明显:xx不需要管界面,甚至有不会用flash ide的人,使用flex以及第三方编辑器直接运行flash项目,但这类人群对flash的综合技术认知不够,还需要时间深入了解flash,不能xx用java和js的想法开发flash项目,这个阶段的as开发者,暂时还没有显著的职业特性来区分。
第三阶段:
慢慢的,随着经验的积累和对flash的了解深入,和公司项目需要,已经慢慢走出了flash的范畴,出现了三个更明显的职位:
Interactive Designer(互动设计师),这个职位是因为设计师随着个人发展的喜好以及对于程序的了解深入而有的一个职位,广告公司这种职位多一些,除了会设计外,还需要你写一些程序,但偏向前端表现,如粒子{tx}和tween动画。这类职位并非一般意义上的交互设计师。
Interactive Programmer (互动程序员),这个职位和上面的职位很类似,但是偏重点偏程序多一些,但平时的工作也会做一些动画,但可能是video(aftereffect),有时也会涉及到director lingo编程和网页js和flash小游戏,这个职位其实很累,需要会很多的技术,但是通常职业选择面会广一些。
Game Programmer (游戏程序员),这个职位就在08年之前都很少见,而且是纯flash游戏开发,但这两年就随着sns游戏的普及以及webgame的投资增多就很抢手,导致现在看flash简历基本都说自己会写游戏。这个职位的基本需求其实很多人没有搞清楚,下面我略微详细的说下以便大家能多补充下知识。 首先你要热爱游戏,如果你不爱玩游戏那么你也开发不出什么好体验的游戏。技术方面还要会很综合的各种游戏算法,如A*,各种排序,数据结构,地图技术以及需要你对性能优化有一定的经验,如知道矢量图和位图在flash中运行时的差异,地图的按需加载,如何写程序才更有效率(苛刻到毫秒级微秒级)等,并且需要一定的设计模式知识,如果是3d项目,还需要有一定的3d知识,还需要对客户端服务器端传输有一定的优化经验,客户端安全性,防外挂以及协议安全等,如果是海量服务还需要针对流量优化。 所以想要成为一个真正的flash游戏程序员,你背负着n多需要挑战的使命(不归路?),但如果你有一颗热爱游戏的心,上面所列的各种技术都会迎刃而解,会慢慢兴趣式的攻破,所以这也是为什么我把热爱游戏放到首要条件之一。
就这样慢慢走出了flash……
进入到了第四阶段,也是你flash职业生涯的黄金时段
这时因为你在flash之路所接触到的经验,已经不在拘泥于flash了,但仍然以flash项目为主。当然如果你选择了转行,就不是本文所谈论的范畴了。
黄金阶段里面所出现的几个职位是这样的:
交互设计后,通常其实直接进入到了art director/newmedia director,但本文没有画出这两个职位。这里是一个发展瓶颈,交互设计师、程序员走到了这里已经在业界有了一定的资历和名气,也就自然走出了flash,万精油类型的发展适合开一些studio和广告公司合作,做单子或在一个大一些的公司做director走管理路线长期发展。
如果对管理路线不感冒,下面还有更深入的”职位“,这些职位可能你在市场上看不到,但能进入到此,你也是能独当一面的超级flash人才了:
3D Programmer,这个职位现在还不多,但是随着硬件以及flash技术的发展,这个职位也许在未来会火起来,也是游戏开发者的一个比较好的进阶选择,偏重于图形学和前端表现多一些。
Architecture,构架师,随着经验的积累以及对设计模式等框架技术的深入发掘,一个flash开发者最终会把自己定位成构架师,框架设计师,通常有一些企业型项目需要这类人才来建造项目框架,学过java的人很容易的走进这里,相当于在flash之路中仅仅是个过路人。
Evangelist,flash传教士,这个其实不算一个真正意义的职位,是一类人群,早期是积极推广flash技术,并有影响力的一批外国人,如flashguru,gskinner等。这类人群的技术其实很全面,前后端技术都会懂一些,但深浅不一,对flash技术也很痴迷,能够对业界产生影响。这类人群在中国现在依然比较少,希望多一些技术全面的中国flash开发者能发扬此类精神弘扬flash文化。
说了这么多,也许有人会问,楼主是哪类人呢?
其实我的路非常曲折,在上图中窜梭不同职位多次,否则也很难有这么多感慨,呵呵。
{zh1},希望此文能对热爱flash的你有帮助,祝你们在flash的职业生涯中一帆风顺。
补充下,本来不太想在本文说最近热门的adobe,但是adobe对于flash的定位和之前mm的定位已经产生分歧,这对于坚持热爱flash的人和新学习flash的用户并不友好。
我个人认为adobe偏浮躁一些,从他们的cs系列工具进化上看,就已经慢慢把用户的使用门槛越拉越远,导致很多人不愿意升级,如果用我的图来标示,那就是他们对cs5和flash platform的想法已经直接默认为他们的大部分用户已经进化到了第三阶段了,并且把用户的电脑默认配置都是当前流行的{dj0}配置,门槛已经远比之前高了许多,希望adobe也能反思下,为什么flash的过去是如此快速的发展,多回顾下90%市场占有率背后的故事。