I've interviewed quite a few Flash/Flex developers as potential employees for Roundarch. The hard part for me is knowing exactly what questions to ask to be able to gauge a Flash dev's skill level.
So, I made a list. From my experience this list allows me to judge the skill level and experience of the devs I interview.
If you're not quite "Senior" level yet, read through the list and study up from the links. If this stuff is "old hat" to you, please critique this list add more references in the comments.
1. The Elastic Racetrack
You need to understand when events fire, when code is executed, and when the player renders. It’s really the foundational concept of Flash Player.
http://www.craftymind.com/2008/04/18/updated-elastic-racetrack-for-flash-9-and-avm2/
2. FlexSDK, mxmlc, compc, and all that jazz
You need to know what’s going on when you hit that “run” button in Eclipse.
http://www.senocular.com/flash/tutorials/as3withmxmlc/
http://livedocs.adobe.com/flex/3/html/help.html?content=apparch_08.html
3. Player Events, Custom Events, Event Bubbling
I can’t imagine where flash player would be without frames and mouse clicks.
http://www.adobe.com/devnet/actionscript/articles/event_handling_as3_03.html
http://livedocs.adobe.com/flex/3/langref/flash/events/package-detail.html
http://www.tink.ws/blog/custom-events-in-as-30-dont-forget-to-override-the-clone-method/
http://jacwright.com/blog/70/how-to-listen-to-flash-events-that-dont-bubble/
4. Statements, Keywords, and Directives
You should never be surprised by a new “word” in as3. If you don’t know what “static” or “override” or others are, learn them.
http://livedocs.adobe.com/flex/2/langref/statements.html
5. ASDoc
Someday, you’ll re-read your code and have no idea what it does. The stress here is on proper documenting, but generating asdocs is nice too.
http://livedocs.adobe.com/flex/3/html/help.html?content=asdoc_3.html
6. Managing visual assets (images, fonts, CSS, etc)
Flash is visual. So you need to know how to manage assets with code.
http://www.gskinner.com/talks/flexlovesflash/
http://code.google.com/p/queueloader-as3/
http://code.google.com/p/bulk-loader/
7. Arrays, Collections, Dictionaries, Mapping
You’re not just working with one MovieClip here, so you need to know how to control multiple objects at once.
http://livedocs.adobe.com/flash/9.0/ActionScriptLangRefV3/Array.html
http://www.gskinner.com/blog/archives/2006/07/as3_dictionary.html
http://code.google.com/p/as3ds/
8. Programmatic motion (tweening, easing)
If you wanted things to stay still, you should’ve stuck with HTML
http://blog.greensock.com/tweenmaxas3/
http://www.amazon.com/Foundation-Actionscript-3-0-Animation-Making/dp/1590597915/ref=sr_1_1?ie=UTF8&s=books&qid=1243014431&sr=8-1
9. OOP and Coding Against Frameworks
The days of a one huge .as file are over. You need to smartly move your code into organized and reusable objects. Also, now there are plenty of popular as3 frameworks to help manage your code. Read up on them and start using one.
http://www.adobe.com/devnet/actionscript/articles/oop_as3.html
http://www.actionscript.org/resources/articles/684/1/Object-Oriented-Programming-in-AS3/Page1.html
10. Version control
Unless you think your code is worthless, you need to learn how to back it up properly.
http://tortoisesvn.net/downloads
http://versionsapp.com/
http://en.wikipedia.org/wiki/Revision_control
http://git-scm.com/
http://www.nongnu.org/cvs/
Great list John!
ReplyDeleteI will say though that I think these are all things not just a Senior should know, but mid-level developers also. I think you're right though, this is the minimum for a solid senior really.
Thanks for yet another great post!
@Jeff - Just as a reference, this list doesn't cover what a "Flash Architect" should know. Which is one level up from "Senior".
ReplyDeleteYou are missing one of the most important skills ANY developer should know: How to be work with and be part of a team! Large scale Flash applications at this point in time are no longer one man jobs. If you can't go with the flow, contribute where appropriate, and communicate with your peers you will never be able to make it to the next level of architect or team lead.
ReplyDelete[...] 《10 Things Every Senior Flash Developer Should Know》frompv3d.org [...]
ReplyDeleteOne important skill is a basic of math, that really make all difference for a senior. cheers!
ReplyDeleteUseful insights from a trainers' perspective John, thanks for posting. It's good to know that many of the areas we stress as important in training are aligned with the 'real world', and I may look at covering more in the fields of docs & version control too, now.
ReplyDeleteI think some kind of conventions is good so that code is easily transferable between team members.
ReplyDeleteFlex team provides some basic conventions http://opensource.adobe.com/wiki/display/flexsdk/Coding+Conventions#CodingConventions-Formatting
[...] So here is a list of stuff you need to know when you say you are a senior Flash/ActionScript developer: http://pv3d.org/2009/08/28/10-things-every-senior-flash-developer-should-know/ [...]
ReplyDeleteNice list, seems I still got a lot to learn :)
ReplyDeleteGreat Resources!
ReplyDeleteNow each developer can prepare for Sr. Developer ;)
Keep posting good resources. Thanks
practice them from practice.
ReplyDeleteGreat!! post, I wasnt aware about some of these though :D . I ll iprove these areas. Thnx
ReplyDelete[...] >>> READ IT <<< [...]
ReplyDeletemiru109의 생각...
ReplyDelete10 Things Every Senior Flash Developer Should Know...
For Version Control I would add some links like better SVN client for MacOS X users: http://www.syntevo.com/smartsvn/ (Basic Version is free and it's much more to Tortoise than "Versions" Client) and http://trac.edgewall.org/ for SVN remote http control
ReplyDeletesince AS3 and Flex these are pretty much the things a Junior should know.
ReplyDeleteGood to know, it seems that I am almost a senior then :)
ReplyDelete@Tom: if a junior should know all that stuff, what are your criteria for a senior developper ?
Sounds like
ReplyDelete10 things every junior flash developer should know!
Man...these points are basics for every actionscript developer!
This is a good way to guide new programmers in the right path! greate stuff!
ReplyDeletethis post helped me to better understand the flex profiler and find memory leaks
ReplyDeletehttp://blogs.adobe.com/aharui/profiler/ProfilerScenarios.swf
I'd say even junior and mid-level developers should be familiar with this stuff. At least at a basic level. A senior dev should be an expert in all of this and know it well enough to be able to teach it to someone else.
ReplyDeleteOne thing missing is design patterns and programming concepts such as controls, decorators, singletons, states, etc. Stuff that goes into building your own framework. Knowing this stuff really distinguishes the advanced developer from the intermediate, but maybe these fall under architect, as John said above.
BTW, keep up the good work! I always find something useful here when I visit.
third link under number 7:
ReplyDeletehttp://code.google.com/p/as3ds/
says "Forbidden"
btw, great post! although i agree with cipriano, design patterns would fit nicely somewhere in this list, it helps application developers share a common vocabulary and prevents having to "reinvent the wheel" when solving many common complex problems.
#5 - My personal fav. "Someday, you’ll re-read your code and have no idea what it does" - SO true.
ReplyDeleteHey John,
ReplyDeleteyou made a great list.
A few links helped me on my current project.
Thank you.
Greetz
Andy
I wrote an loader lib for my latest project which will load multi objects into flash, but I found it's not flexible enough and finally I found bulk-loader here, a nice, beautiful and flexible loader lib which I think will help most of flash developers.
ReplyDeleteThanks for your article!
[...] 10 Things Every Senior Flash Developer Should Know [...]
ReplyDeleteA senior needs to really understand networks, how to load dynamic content and use sockets.
ReplyDeleteAlso, using tweens is not nearly as important as the other items in the list.
[...] ที่มา Share this post! [...]
ReplyDeleteGreat list - thank you.
ReplyDeleteGreat!! post, I wasnt aware about some of these though :D
ReplyDeleteGood to know, it seems that I am almost a senior then :)
ReplyDeleteIf I'm a flash dev why I should know about flex ?
ReplyDelete:)
[...] 近日John Lindquist谈到了在为Roundarch公司招聘Flash/Flex开发人员时的一些感受。他认为最难的地方在于问什么问题才能最好地了解到应聘者的Flash/Flex开发技能。因此,他给出了一个列表并说到:“根据我的经验,通过这个列表能更好地判断面试者的技术水平和经验”。 [...]
ReplyDelete[...] 近日John Lindquist谈到了在为Roundarch公司招聘Flash/Flex开发 人员时的一些感受。他认为最难的地方在于问什么问题才能最好地了解到应聘者的Flash/Flex开发技能。因此,他给出了一个列表并说到:“根据我的经 验,通过这个列表能更好地判断面试者的技术水平和经验”。 [...]
ReplyDelete[...] Reference from pv3d.org [...]
ReplyDelete[...] John Lindquist认为Roundarch公司招聘Flash/Flex开发人员时的一些感受。他认为最难的地方在于问什么问题才能最好地了解到应聘者的Flash/Flex开发技能。因此,他给出了一个列表并说到:“根据我的经验,通过这个列表能更好地判断面试者的技术水平和经验”。 [...]
ReplyDelete[...] 近日John Lindquist谈到了在为Roundarch公司招聘Flash/Flex开发人员时的一些感受。MySky他认为最难的地方在于问什么问题才能最好地了解到应聘者的Flash/Flex开发技能。MySky因此,他给出了一个列表并说到:“根据我的经验,通过这个列表能更好地判断面试者的技术水平和经验”。MySky [...]
ReplyDelete[...] a list with thing that I think you need to know as a Flash Developer. (Some of it you can find here and [...]
ReplyDelete[...] Un article très intéressant sur des questions que l’on ne se pose pas vraiment (mais oui ? Que fait le bouton “Run” dans Eclipse exactement ?) mais dont les réponses deviennent vite vitales. Ca se passe ici ! [...]
ReplyDelete[...] W każdym bądź razie, notka jest inspirowana właśnie jego notką. Oryginalna treść 10 Things Every Senior Flash Developer Should Know dostępna jest na blogu [...]
ReplyDeleteVery nice list.
ReplyDeleteGreat list! I've also compiled a similar list that aspiring Flex developers may find useful. It is entitled "10 Things A Good Flex Developer Should Know" and can be found here: http://blog.flexdevelopers.com/2010/04/10-things-good-flex-developer-should.html
ReplyDelete10. Version controls. This is less about backing up, more about setting up the ability to collaborate, and experimenting with branches, etc.. If someone came to me in a job interview and told me that it's just for backups, I'd assume they were previously on Microsoft SourceSafe , and I wouldn't hire them. ;)
ReplyDeleteBut being a fan of your videos, I know you know this, and that's what you mean. So my apologies for being a smart-ass
No apology necessary ;) Very valid points.
ReplyDeleteflexSDK big part
ReplyDeleteso AMF, design patterns, integration with server side...
Hey John, this list is great.
ReplyDeleteI might suggest event logging, testing, and even CI.
Thanks again for your community support!
Hi John,
ReplyDeleteNice post! As you can see from the twitter commentary i have a list on my site aswell where i gave you credit for the partial list i posted.
I also came up with 12 items myself. Dont hate me, just spreading knowledge.
If you want I can write an updated header to the post giving you credit for the items you wrote. You can DM me on twitter if you want.
Kind regards,
Sidney de Koning
Unfortunately, copy/pasting makes it look like you're just trying to steal traffic even if you do give credit. I doubt that was your intention, but with everyone trying to be the #1 rank on google it just feels like you're scraping content.
ReplyDeleteFrankly, your post should be "12 things John missed" or "John is stupid and this list sucks" or "Ignore that idiot, this is what is really important". I honestly don't care that you use the same points, just re-write the supporting paragraphs to add your own point of view or critique mine. I won't be offended because we all learn from clear, honest discussion (and everyone loves the added drama of name-calling :) ).
Anyway, I just saw that you updated your post, but I'd still rather see you delete my content and make your own list with your own words and opinions. That way you'd be adding to the discussion rather than just "spreading knowledge".
Hi John,
ReplyDeleteI posted a 'X things John needs to add to his list' article on my blog, http://www.funky-monkey.nl/blo.../ , all new stuff, hope you can comment with a smile :)
Take care ,
Sidney
PS There will be a followup on plagiarism on there aswell, hoping other people will learn from it.
Nice job! How about some optimization? As a game developer I need to optimize my AS3 code all the time to not leak any memory or use too much cpu, there are a few tricks here. Oh, and some design patterns maybe.
ReplyDelete- Istenes
[...] http://johnlindquist.com/2009/08/28/10-things-every-senior-flash-developer-should-know/ [...]
ReplyDeleteThanks for the great list
ReplyDeleteThanks, very useful selection, I think to me it is useful.
Thanks for sharing this great information and really helpful and useful post for me.
ReplyDeleteSenior Flash Developer need a computer to make flash.
ReplyDeleteThanks for sharing the tips ,I will share this with my developer. I think this would help him out to work easily .
ReplyDeleteFlash developer is my dream
ReplyDelete[...] MisterSaisho on Oct.28, 2011, under Uncategorized Tweethttp://johnlindquist.com/2009/08/28/10-things-every-senior-flash-developer-should-know/#comment-2838 Print window.fbAsyncInit = function() { FB.init({ appId: '136642053037999', status: [...]
ReplyDelete