The following article is for both recruiters, and interviewers. After doing hiring, getting hired, and helping facilitate others getting connected, there seems to be a lot of confusion in our industry about how Flex Developers work. The following article describes the different types of Flex Developers, their rates, and how to interview & hire them.
Please keep in mind the following is full of (accurate) generalities to make things more concise and easier to understand. The Flash/Flex community is very diverse, and as such there are many exceptions to the below.
W2: You’re employer takes taxes out of your paycheck.
1099: You are responsible for all taxes owed on your revenue.
W9: Like 1099 for companies working with other companies (as opposed to an individual like 1099). Also know an as Corp to Corp/C2C.
What is a Flex Developer?
A lot of Flex developers come from traditional programming/computer science backgrounds, as opposed to art/design agency backgrounds like Flash Developers do. Combined with the fact that the Flex community is diverse as well as continuing to utilize other technologies, many will utilize other IDE’s or a combination there of. These include Flash Develop, FDT, Emacs, and IntelliJ amongst others.
They also utilize MXML and CSS in their work, and sometimes utilize other design tools such as Adobe’s Photoshop and/or Illustrator to integrate designs into their work. A select few make use of Flash Catalyst to integrate complex designs into their Flex work.
Flash is not Flex
While Flash Developers also code in ActionScript 3, and deploy SWF’s to the Flash Player, they are not Flex Developers. Flash Developers will utilize the Adobe Flash IDE, traditionally a design & animation tool turned hybrid programmer tool. While many are capable of creating many of the same applications that Flex Developers can create, the clientele, not the developers are the defining factor here.
Flash Developers tend to work on smaller projects with shorter time frames, and often have a lot more design. The projects’ development span from 1 day to 6 weeks. Most do not have experience creating Enterprise applications. Enterprise applications refer to the length of development, often from 4 months to 18 months or more. This deadline differentiator belies a significant amount of skill sets that Flex Developers tend to have more often than Flash Developers (not always which adds to the confusion). Famous keywords include OOP, Continuos Integration, TDD/Test Driven Development, Design Patterns, Frameworks, et al.
To add more to the confusion, many Flash Developers employ many of the same technologies & methodologies Flex Developers utilize. These include using alternative IDE’s, using the mxmlc compiler included in the Flex SDK, and utilizing frameworks such as Cairngorm/PureMVC/Swiz/Robotlegs.
If a client asks you for a Flex Developer and you send them a Flash Developer, you are making a huge mistake.
It all comes down to the typical clientelle the develeper gets. If their past projects last 4 months or longer, they can probably cut it.
Different Types of Flex Developers
There are basically 4 types of Flex Developers.
A Junior is often someone with little experience, whether that’s in Flex, or in just programming in general. Fresh out of school, or just starting a new career. They’ve never done professional Flex Development, or little of consequence.
A Mid-Level Dev is often someone with some good experience, but either requires direction, or does not currently lead a team in development. Leading a team here doesn’t mean management; it means providing technical & architectural direction to the rest of the team to ensure the project moves along smoothly. Often times, you’ll have senior/architect developers from other languages who are learning Flex for the first time. While they bring their often vast experiences, Flex is a new runtime and programming model, and as such, they are considered mid-level, and should not be leading a team. Either way, they only have a couple projects under their belt, or a lot of projects not in Flex.
A Senior Dev is someone with a lot of experience and is familiar with current, best practices. They have a long list of projects under their belt and a lot of experience. They can be depended upon to develop Flex software successfully if setup to succeed.
An Architect is someone who could design the entire application, from scratch, correctly. Often, these individuals will do back-end technologies as well to ensure they have the whole picture of how everything works together. They can either lead the development team, or share leadership duties with other senior level devs. There is crossover between Architects and Senior devs.
How Flex Developers Work
Flex Developers work just like any other normal person. Some are W2, some are 1099, and some are W9. You can also find all 4 skillets doing all 3 payment types. Most Junior and Mid-Level are W2. Most Senior and Architect’s are either employed at large companies that can afford their rates, or are through one of the larger consulting firms.
That said, finding a good W2 Flex Developer is extremely hard. Most Senior and Architect level developers are 1099. That, or they are working with consulting firms who often keep them busy. Thus, getting them to lower their rates so your firm can take a higher cut to work on a potentially not so savory project is hard. While the larger consulting firms do not always provide the top projects, because of the brands they develop, it’s easier for them to find the work that would interest Senior/Architect Flex Developers. This is yet another challenge for recruiters. The best thing you can do is be as concise and truthful (NDA’s nonwithstanding) as you can. If you find a Senior developer between projects, they need to eat just like Junior’s do, thus this is a great time to strike.
Remember, even if they aren’t a fit, they may know someone who is. The Flex industry is small, and it’s all about timing.
Where Flex Developers Work
With W2, it’s implied you’ll work on-site. As long as the company has benefits, W2′s are sometimes willing to relocate.
This is complete opposite with 1099/W9 developers, especially Senior/Architects.
Most Senior and Architect 1099/W9 developers prefer telecommuting. Many aren’t willing to relocate, although many are willing to do some travel. Sending an email asking for W2/relocation is a sure fire way to get your email/LinkedIn/Tweet ignored by such individuals. If you can find out that those individuals are in fact senior, (via Blogs/Twitter/LinkedIn) a phone call is often better because you can more quickly respond that “1099 can be worked out”.
The telecommuting part is tricky. Almost all clients, especially those large enough to afford Senior/Architect Flex devs, will not blindly accept telecommuting. Often, the engagement is of a consulting nature, and many non-progressive companies view remote with insecurity, and thus not solving their immediate cluster fire.
Rather than state that the position does not support telecommuting (unless you know for a FACT it does not), explain to the potential hiree that it’s up them to negotiate telecommuting terms. There aren’t many Enterprise sized Flex projects that are 100% remote. It’s MORE than reasonable for a client to expect a Senior/Architect to be on-site for the first 2 weeks, during milestones, and then towards the end of the engagement. That’s 15 days over the course of 4 months: completely MORE than reasonable. A freelancer/consultant almost can always work out those agreements with the client.
That said, it is a major risk, and I’ve seen people walk away from gigs 2 weeks in because these terms couldn’t be worked out which then puts your firm in an uncomfortable position. I recognize that educating the client on such things is challenging. Usually talking to the person running the project directly ensures you can get an unofficial yes to assuage your potential Flex candidate.
Rates are all over the map. That said, the cream of the crop has extremely high expectations, especially those who live in coastal cities like New York and Los Angeles, or who are just in the know of what the going rate for their skills are. Here are some good metrics I’ve seen.
Those who work with consulting firms, or have experience as such, will sometimes expect higher rates. As such, they build up a common perception that they’ll never get work from recruiters, so just keep this mind.
By this point, you may have developed the opinion that high-end Flex Developers are Prima Donnas. That isn’t true.
This is what is true: First, they know they are rare. It’s way easier to be a rockstar in the Flex world than the Java world. As such, some recognize the rules of supply and demand, and capitalize on it.
Third, Flex is hot and new. This means that clients adopting it tend to have an ounce of progressiveness somewhere. Therefore, if you pitch the position as anything beyond hot and new, Flex devs will listen to the alarm bells going off, warning them that their attention spans may not surivive, and thus look for more lucrative offers.
What’s a Recruiter to Do?
As a recruiter, there are a few things you can do.
First, recognize the community is small, and pitch this to your client. Unlike Java where you have to weed through hundreds of unqualified individuals, Flex has a way smaller pool. Yes, it’s growing, but it’s still small in comparison.
Second, recognize that you only need to establish a good relationship with 1 known Flex Developer to gain access to the rest. No, I’m not talking about those using Monster/Dice, I mean the Senior/Architects you’d kill to give to your clients. Often these people participate in some fashion with the social networking scene.
Third, and yes, I recognize this is hard: you need to sell the project. Using a bunch of adjectives in a long email has the opposite effect of what you’re looking for. Instead, see if you can get some more real details that HR people from large companies will never give you. I don’t care how you do it, just do it. An example could include calling up the company HR:
“Yes, hi, this is Jamie from Tech Recruiting. I was hoping to get some more technical details that weren’t included on your candidate sheet. Could you perhaps let me ask the Director of Engineering 2 questions I had a variety of potential candidates ask me?”
This gets you to the person who’s hiring, and hopefully can get him/her to deluge you with the technology stack they using. THESE are the keywords you want to put in your emails.
“Large company doing cool, new things with Flex” == pathetic.
“Real-time data using Blaze DS with extremely custom UI created in Catalyst” == fuck yes!
They wouldn’t call it work if it were easy.
Hopefully the above gives you an idea of what a Flex Developer is, how they are different from Flash Developers, and how you can lure them in. Flex Developers tend to build Enterprise Applications where as Flash Developers do not. Ensure that the candidate has past clients/work that lasted longer than 3 months.
A lot of the senior Flex Developers that are known in the industry are 1099 only, and many only want to do 90% telecommuting. These things are all about timing and who you know. You can’t help the first excluding being early. For the latter, try to get as close to a “negotiable” as you can to lure potential hiree’s in.
While rates are often out of your control, it’s important to set your client’s expectations. Flex Development is still new and lucrative, and the rates some people charge are outrageous. The recession helped a little… but not much.
A lot of Flex Developers know the above. Remember, you just have to develop a good relationship with 1 to have a gateway to the rest. Use small emails with enough details of what you’re offering. Copy pasted, 1 page or longer emails from the HR of the job with your company’s template is exactly what you shouldn’t do. For the record, you shouldn’t have to capitulate to a bad attitude. Everyone who was good that I worked with had a good attitude.
Anything you can do to get more technical details about what the team is actually doing makes it way easier to sell the gig. It also makes you extremely attractive for a Flex Developer to talk to you since you seem to know what you are talking about, and thus seem to feel that the potential hiree is right for the job vs. a blind “I found on you Google/LinkedIn/Your 6 year old Monster/Dice post with keywords in it and it’ll take 4 emails over 4 hours to figure out wtf the gig is”.
Finally, if you’re bold, get them to answer my 8 Flex Developer Interview Questions (skip #8 unless you know what you’re doing).