I'm a production director in a web design studio and we need to build a new team of developers for iPhone Apps. Can anyone help me with this? Should we get full-time or freelance people? What are the pros and cons of each?
views:
747answers:
6It depends...
Hire Freelance if the is work temporary in nature - i.e., it'll only take 3 months to build an app. Hire Freelance if you don't know whether you'll have a job for these people in a year, or if there is no need for developers to support the app in the future.
Hire Full-Time if development is central to your business proposition, if you wish to retain knowledge in your organization, and if you wish to have continuity - which is useful for building related/integrated apps, or supporting existing apps.
I'm guessing there will be many distinct answers here, but here's a couple. This is written as though you will hire the people full-time.
Pros:
- Expertise learned during development of one app can be used in the next. With freelance, you risk not being able to hire the same guy the next time
- Less risk of having to replace a developer mid-project or between projects
- People that work in your company might feel more of an ownership for the product, which might result in higher quality
Cons:
- Really need to have work for the all the time, otherwise they're an expense when roaming free
- Depends on freelance cost, but can be higher cost with full-time hire, social expenses, more security, etc.
Everything strategic for your organization should be in-house. By strategic we mean "what we will make the difference between me and my competitors".
Remember that you can bootstrap an in-house team with freelancers to get up to speed faster.
Both, if you have to maintain the applications. With freelancers you can get much higher quality code and get to market much faster. Those high-end freelancers are difficult to keep interested, so you need to have some in-house developers to take over.
You need freelancers who are interested in creating maintainable code. Look for experience in test-driven development.
You need in-house for the domain experience and the relations with customers. You need a certain size before it makes sense to have an in-house team. If you only have one or two in-house developers it is difficult to keep them up-to-date with modern development technologies and methodologies.
[response to comments] Attracting high-end in-house developers is more difficult and time-consuming than attracting high-end freelancers. They tend to have a nice in-house job, though with the current market conditions it is easier than a year ago.
As a CIO in a small business, I am confronted with this dilemma a lot. You would want to favor farming out work in scenarios that involve one or more of these factors:
- Niche/esoteric skills
- Time-to-market pressure
- Overwhelming workload
- One-off project
But, there's more to developers than churning out code. Being able to understand requirements and interact with business users comes from familiarity with the people and the processes. In-house can help in the long run. The cost of an external developer will usually be about four times that of an in-house developer.
The question to ask yourself is this: is software development my core competency. It looks like you're more into design so it might be better to use an outsource model, either by hiring freelancers or subcontracting to a development company.
Using freelancers allows you to change rapidly, say if the project needs to move to other platforms, change direction, shut down, etc.
Outsourced companies are good if this is a one-off project.
Inhouse is best for long term business development, with freelance, short-term hires for developing niche elements.
Remember, when hiring anyone, assume they are going to leave after a short time, so make sure they document what they do, how they do it and how they test it. That way, when they do leave, others can pick up where they left off.
Skizz