Steve Weiss from O’Reilly emailed me to ask what skills Flash and ActionScript Developers require, beyond the obvious, to progress with their work and careers. I tossed together a quick list, which wound up being longer than I expected, so I thought I’d share my response:
While I don’t think it’s an industry norm yet, I consider ActionScript Developer and Flash Developer to be synonymous. Flex Developer is not – it implies a knowledge of MXML that is not necessary to be a pure AS or Flash Developer.
Skills I would expect any experienced Flash Developer to have include:
- ActionScript development (obviously)
- OOP experience
- Some experience with architecture / design patterns
- Code standards
- Data services integration: XML, JSON, SOAP, etc.
- Problem solving
- Optimization, both code and graphics
- Quality testing
- Reasonable understanding of UX and interaction design
- Basic graphic design and motion graphics skills (enough to understand and implement designer concepts)
- Graphics import
- Basic skills with Photoshop, Illustrator, and Fireworks (for tweaks / exporting art)
- Basic understanding of video / audio compression
- Programmatic motion
- Writing (for team / client communication, documentation, comments, etc)
- Verbal communication and interpersonal skills for team / client interaction
- Experience working with Flash and the timeline
- Experience with an external code editor (ex. FlexBuilder, FDT, FlashDevelop)
- High level understanding of Flex, FMS, Remoting, FlashLite, AIR and other core Flash platform products / libraries
- High level understanding of server development and databases (not necessary an ability to implement anything, but a small amount of experience / understanding of the models)
- Basic understanding of HTML, JS, CSS
- Integration with HTML, JS
- Community awareness (online resources, frameworks, etc)
- Basic math – understanding and combining +, -, /, *, %, exponents and basic trigonometry (sin, cos, atan2, etc)
This is not necessarily a comprehensive list, and it definitely has a lot of overlap with my “Things Every Flash Develop Should Know” talk, but I thought it would be worth sharing so that junior developers had a rough guide of valuable skills.
Did I miss something important? Disagree with a point? Leave a comment.