以前见过一些文章描述程序员的层次、水准、特征等等内容,这类文章很好的从广义的角度来定位并区分出程序员的水平和能力。相对于Flex开发者来说,尽管这个群体目前在国内还不是很大(仍然有很大发展空间哟),但是这种高低差别依然存在,如果广大开发者能从这个四重境界中准确定位自己,那对于将来的技术发展是很有帮助的。
第一重 初级程序员
Flex初级程序员是指经过一周到一个月的间歇性学习(自学)和模仿而形成的上手级开发者。这个定义主要从投入精力和学习路线来规定的,这个层次的程序员往往是出于一时的爱好或者项目的需要而进入改领域的学习。其特点是能做一些简单的应用,能搞清楚flex应用的开发过程,使用flexbuilder能拖拽出一个界面来,并能写简单的AS脚本,从而完成一个基本的Flex应用。这类程序员从此就再没有深入研究,而且没有完整的看过官方的所有开发文档,也没有体会到Flex/RIA开发的思想,基本上就在该领域停滞不前了。
第二重 中级程序员
该阶段的程序员是指超过三个月的学习(自学)并完成至少一个项目的进阶级开发者。位于此阶段的Flex开发者通过扎实系统的文档学习并通过实战的演练,对Flex整个框架有很全面的认识,能够熟练使用IDE进行MXML/AS开发RIA应用,对程序结构、程序运行流程、对于flex应用与传统web应用的区别都有很好的理解,能独立的实现flex为前端技术的web应用。这类程序员注重基础、细节,尤其是flex应用与web应用与桌面应用的差别与联系,而且善于钻研技术,非常具有软件开发的潜力,而且只需加以时日便可进一步上升成为高手。
第三重 高级程序员
Flex高级程序员是指连续从事一年以上企业级Flash/Flex应用开发并在项目中承担主要角色的高手级开发者。这个层次的修炼很不容易,首先需要自己不断的努力,而且最难办到的是能在一个长期使用Flex技术的公司(team)中持续锻炼。处于这个层次的Flex程序员往往对企业级RIA架构比如cairngorm非常熟悉,而且能对各种RIA架构做出自己的评价。对新项目的功能和模块、组件的划分都有清晰的认识,对于Flex应用的方方面面例如幕后的运行过程、显示结构的模式、事件流顺序、组件的制作手法、程序规模和性能的控制都有深刻的理解。对于这个层次的flex程序员来说,自定义一个通用的组件是很容易的事情,因为他对于Flex的组件体系甚至组件的源码他都了如指掌。夸张的来说,他们写flex应用很少看语法参考,写代码甚至可以在记事本里完成。这样的flex开发者在全球都很少,属于高手中的高手,是大公司争强的对象,也是广大flex开发者努力的目标。
第四重 资深程序员
资深Flex程序员是指有着多年的RIA开发经验(超过10年的软件行业从业时间)并有广泛的软件开发相关技术背景的大牛级人物。这样的人物,只要是你接触Flex这一领域就能听到他的大名,他们的博客是众多Flex开发者的圣殿,他们的声音就是整个社区的福音和号角,他们的著作是我们的圣经,这样的人物常常会在大型活动比如360Flex或者adobe MAX大会上经常出现,他们代表着这个领域的前沿和潮流。这样的程序员往往是Flex技术进步和发展的原动力,是我们Flex开发者努力一生的目标,甚至是我们的偶像,比如Ted Patric以及他的博客上的Disruptive Evangelism(突破性的传道者),总共才11个人(都是Adobe公司的)。
作为一个普通的Flex开发者,您是那一级呢,离最高境界还有多远呢?