Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I'm looking to take my Actionscript knowledge to the next level and I've been having trouble finding what it takes to become a senior level AS developer. From my searching this has what I've come up with so far:

  • Component Creation
  • Memory Usage Debugging/Profiling
  • AS specific usage of OOP
  • Correct Use of Code-behind
  • Accessing remote data
  • Flex architecture frameworks
  • Component lifecycle

Those are just the topics I've been able to find. Resources on mastering those topics have been very hard to come by(i.e. what are common AS design patterns, etc). I may just not be searching correctly, but any help here would be greatly appreciated. My focus is on Flex specific AS development.

Currently I've found here and here are the most similar SO questions I've been able to find. Any help would be appreciated, though I'm looking for specific examples.

*this question was first asked on stackoverflow and asked to be moved here

share|improve this question

closed as off-topic by gnat, durron597, MichaelT, GlenH7, Snowman May 24 '15 at 18:15

This question appears to be off-topic. The users who voted to close gave this specific reason:

  • "Questions seeking career or education advice are off topic on Programmers. They are only meaningful to the asker and do not generate lasting value for the broader programming community. Furthermore, in most cases, any answer is going to be a subjective opinion that may not take into account all the nuances of a (your) particular circumstance." – gnat, durron597, Community, GlenH7, Snowman
If this question can be reworded to fit the rules in the help center, please edit the question.

I would consider a senior-level ActionScript developer to be a Senior Developer who understands ActionScript code.

Way too many people (not saying you are one of them) believe ActionScript to be somehow different to other languages because it's Flash. Java engineers think it's a kiddie language, and "Flash programmers" who have played with ActionScript inside the Flash IDE for three years think they are "senior". Both of those are problems.

So a "Senior-level ActionScript/Flex developer" should be the same as any other senior developer:

  • You should understand Design Patterns — and rather than know them inside-out, academically, know when to practically use them, and know the most common ones well. Understanding them well enough to recognize them in existing projects is a good start.

  • Understand OOP software architecture in general. AS3 is a pretty standard OOP language. Understand encapsulation, loose-coupling, separation of concerns, refactoring etc.

  • Know how to do task-breakdown. I have worked with developers who, given a well-defined specification for a new feature, could not come up with a bullet-point list of the tasks needed (parts of the code that would have to change) to bring the feature to completion. Those were not senior developers.

  • Know your language inside-out. I would assume any AS3 senior developer would know closures, type-safety, events, asynchronous programming, etc. very well. I'd also hope they know a bit about dependency injection. Since it's Flash, I'd also expect them to understand the stage, the common flash.display classes, best practices for fetching resources, and HTTP very well.

I'm sorry I can't help you more with Flex-specific stuff. I also think your list is a good start, and I especially like the part about memory usage debugging/profiling. Even thinking about memory usage is something many Flash developers don't do.

share|improve this answer

This was my answer on SO, copy-pasted to here.

In my opinion that list is a mid or high level developer. A senior developer should be able to do all of that plus:

Knowledge of various frameworks and things like Dependency Injection Ability to mentor and/or train lower level developers Very strong OOP knowledge with the ability to architect applications from the ground up Ability to communicate with non-technical "customers" (mangers, marketing, sales, SMEs, clients, etc.) Of course every job will have a different definition of what a senior developer should know.

With that said, a few ideas on where to find the info you are looking for:

Twitter - Start with following the evangelists, then branch off from there. Lots of great knowledge passes by.

Blogs - Again you can start with evangelists, but I find that you can learn almost anything from blogs. Search Google for a topic, then dig from the links.

For Component Creation, just know the component life cycle in and out, and learn about performance pitfalls with things like Item Renderers and the Display List.

For design patterns (OOP) there is plenty of info, but you can do two things. 1. is a good start. 2. Read about design patterns in Java (Java Head First is a good book). Java and ActionScript are similar from a structural standpoint.

There really isn't a ton of info on Profiling, so just searching Google and reading everything you can is the best you can do before diving in head first.

Probably the most important thing I can say is practice, ask questions, listen and learn. You will alway improve that way.

share|improve this answer

Not the answer you're looking for? Browse other questions tagged or ask your own question.