9.08.2007

Should Flash/Flex Developers learn Java/PHP/Ruby?

Try this search query on flexjobs list
http://tech.groups.yahoo.com/group/flexjobs/msearch?query=java&charset=utf-8

There are around 325 job posts for Flex Developers by the time I have posted this entry. Out of these 325 jobs, I have noticed 322 jobs require Java or any other server side technologies as a skill.

In most of the job posts at flex jobs list, I have found the following key skills and attributes for Flex Developer requirements:
  • CF, .NET, PHP, JAVA, or Ruby experience
  • Knowledge of MS SQL and/or MySQL
  • Extensive background in Java or C++.
  • Java 1.3+, .NET, C#, JSP 1.2+, Javascript,
  • DHTML, ActionScript, CSS, Java Beans, XML, Struts, Servlets 2.3+, ASP,
  • 4+ years JAVA programming experience required,
  • J2EE/EJB3 experience preferred.
  • Knowledge of back-end technologies such as PHP and Ruby on Rails
  • Strong object-oriented development skills (Java, C++)
If you closely notice these requirements, you will realize that most of them are for Java Developers (or any other server side technology), who can work on Flex too. That means Flex is not the primary skill but a nice to have.

Yakov Fain has a nice and interesting post under the topic
Should Java developers learn Flex - mixed feelings
I have also experienced this at my work, where Java Developers are embracing flex not because of the love for the technology but for the pressure from their employer. Big companies are adopting RIA extensively as their future technical direction and trying to make use of existing developer base. It’s all good. Learning a new technology is always fun. The success story of Flex as a technology lies mostly on this mass migration of developers. But what about the existing flash developer base? Should they also learn server-side technologies and upgrade themselves for the demanding market? The job requirements trends at flexjobs suggest us to learn and have a very good command over server-side technologies too. Being just an Actionscripter or Flex Developer is not going to fetch good fortune in today’s competitive market. Now flash platform is no more restricted to client side technologies. Gone are the days, when we used to have timelines, Movieclips to create nice and fancy looking animation and intros using flash.To become successful in flash platform, one has to have very good understanding of Eclipse IDE, Adobe LiveCycle, Servlets, JMS, J2EE architecture and the list goes on.

9 comments:

Anonymous said...

it's quite obvious that every developer should learn another languages, not because certain job offers appeared on the market, but because learning new language improves them as programmmers.

Unknown said...

absolutely! In adition to the comment above about improving your programming by learning other languages, you will get a more complete understanding of how an application works...data storage, data transfer, etc. You don't have to be an expert but having a good undersanding of server-side programming will definitely help your client-side programming.

Anonymous said...

Definitely. I think It's a matter of survival. When companies expect us to know Java along with flex I think it's for reassurance that we are familiar with certain development practices. I also think that often the guy writing up the Classified ad is not really sure what to ask for and looks around to see hat the other ads look like.

Barry B said...

Why is ColdFusion not in that list of server-side technologies... but Ruby is*

I mean, CF _is_ part of Adobe's technology stack..

I'd be curious on your thoughts on this.


*(while Ruby has been around for ages, RonR is relatively new compared to mature CF)

Abdul said...

Flex development is vast, one can contribute in different areas.. But most of these companies need someone who knows end to end development, which is quite genuine requirement.

Not sure if you can learn (or be expert) at all languages in short time but I believe, there are commonalties that can be mastered.. In web applications, its basically HTTP, REST, Webservices etc, most of them are consumed/created in same way across different platform/languages...

So as long as you know how to develop flex application and integrate with different ends (backend, SOA, ROA etc), that's all required, in my opinion...

-abdul

Anonymous said...

I think every language/technology has different lessons and concepts to offer. The bulk of which are usually very front loaded, so just a side project or two is enough to learn a lot as a programmer.

Anonymous said...

Well although I do agree with the point of view that "every developer should learn other languages" .... its a tough choice don't you think? Which and how many languages does one learn? There are so many options as the job data shows ..... I believe that one should learn what he needs to learn to fulfill his or her goal ... for example I want make the best UIs ... thats my goal .. no matter what I need to learn to make the best UIs .. I'm ready to learn .. if a server technology helps me make better UIs ... then I'm ready to learn that.

As for the Job data that you pointed to, there are two things I'd like to point out .. a vast majority of companies hiring for Flex are new to Flex themselves, they do not have much expertise in the field and they end up posting requirements that may not be totally relevant .. as far as getting a job is concerned ... given the current shortage of Flex devs, trust me if a developer knows Flex/AS3 well ... as of today recruiters do not care about anything else ... Good Flex developers are really hard to find.

That said, I am facing a different predicament these days .. I come from a Java background and I am staring to feel that my lack of knowledge of designer tools like Flash, Photoshop, Illustrator etc. is a very limiting factor and the horizon of possibilities broadens if I would learn more about them.

Anonymous said...

I think everyone should make some effort to learn many languages as possible. In the case of FLEX, it would be interesting that a Flex Programmer could understand Java, Html, CSS, Javascript. But Actionscript here is the most important, it's the heart of a Flex Application, so it's, in my opinnion, the most important for a Flex Developer.

It would be great also a Flex developer understanding concepts of design or concepts of creating graphics and animations on a Flash application.

A Flex developer would also understand a Server-Side Script language like PHP, ASP, ColdFusion or whatever, and also has some experience with database queries with SQL and experience with a SQL Database like MSSQL or MySQL.

But in resume, althought everything is related to Flex Programming and would be good, the Actionscript Language is the most important of them to me.

দেবব্রত আচার্য said...

Thanks all for your valuable inputs on the question I have raised. This topic became the most popular post of MXNA on the day I posted this. I do agree that a good developer should learn/unlearn technologies as required. I also believe that there should be some sort of specialization among all these. One should be focused on his area of interest and specialization. As Abdul said, we should have understanding about common practices and technologies. It makes our life much easier in a team to handle problem and work together. The way Flex and Actionscript are becoming popular among the different developers fraternity, it’s becoming very important to speak and understand each other in spite of the difference in technical specializations and background.

diamondTearz, is true when he says its 's a matter of survival. I think the life of a developer is al about constant learning. To survive in today’s industry; one has to be well equipped.

diamondTearz , I do agree with you on that part that the copy writer of those classified ad is not really sure what to ask for and looks around to see hat the other ads look like 

@barry.b : I had no intention behind that. I just picked up some of the technology randomly.

@Mrinal: Yes, A good Actionscripter or Flex Developer can make it big but to make it bigger he should have understanding of all the popular technologies be it server-side or client-side.