IOS Development · Contractors

iOS app development: Hire in or contract a company?

Ken Banks Founder of | FrontlineSMS | Means of Exchange

July 28th, 2015

I'm close to securing an angel investment of $100k to build a working prototype of a mobile giving app. This is going to be a six month project and the budgets work, but are tight. I'm in the UK so have exchange rates to navigate as a starting point.

I was wondering if anyone had any experience/thoughts on whether I'd be better hiring a talented iOS developer and have them working for me in-house (bearing in mind ongoing costs and tax contributions for staff), or contracting the work to an iOS app development company? With a staff member I know I'd have their full-time attention for six months (with the option of them staying on once we get further investment), but with a company I'd have access to a wider team and resources.

Any help weighing up the pros and cons welcome. Thanks.

Noah Webster Co-Founder at Joir

July 28th, 2015

You can outsource if and come out ahead if you know how to produce good documentation. In my experience that is where outsourcing works: giving exactly what you want to the company. They will not solve problems for you, or point out design issues; that comes from in-house expertise. But as you said, they can give you a much larger pool of talent and options to pull from.

Personally I'd hire someone in house. It gives you someone who could grow with the company, and you could give them a mix of cash/equity on a vesting schedule to lower your total cash flow costs, and at the end of the 6 months have in-house expertise on board.

Lucy Kovalchuk Recruitment services

Last updated on May 1st, 2018

Dear Ken,

It's a really difficult decision. As an owner, you want to control and track all tasks that are in a progress at the same time you can't be always divided into the development process because you need pay attention to marketing and sales issues to make your app more profitable.

I guess an appropriate way is to find a good development partner, whom you believe and may trust. This task is difficult also, but it helps you to make your work more efficient and easier.

Cheers, Liudmyla

Andrasz Husti Co-founder at Begemot-Begemot app dev company

July 28th, 2015

I believe Mr. Webster has had a rough time with outsources, and I do sympathize. Yet, I strongly disagree. Outsourcers differ. What Mr. Webster is referring to is the kind of work a very young outsourcing team or a freelancer would provide. The more experienced a company gets, the better they are with documentation, expertise, UI/UX, etc.

I myself have an outsourcing company (we make mobile apps). Clients had never stuck with us untill we started seeing their products as our own, warning them whenever there might be a critical situation or a mistake on their behalf, making sure they fit in their budget and deadlines. This is what differentiates a good outsourcing company from a lousy one.

My take on this issue is that each entrepreneur should have the full experience: work with a freelancer, lose faith and money, work with a cheap outsourcing company, lose faith and money, and hire an in-house team, lose a lot of money :) In other words, you have to find out for yourself what good quality in IT means and what it takes to provide it. In my experience, this knowledge always costs a lot. At least, a lot more that you expect.  

I suggest finding a good team you think you can trust, hire them for an MVP and then take it from there. If your product takes off, great: you start hiring a team. And please, start with a product manager with a lot of experience. This will save you tones of money and time. Or you can continue with the outsourcing team if you have enough money and you like their work.

I hope this helped.

Paul Haris Business Development manager at mindinvetory

February 14th, 2017

The world is changing with the arise of smart phones. Next generation is looking the world with eyes of smart phone applications. Facebook is connecting next door friends and whatsapp is taking the communicator role between groups. People find it more important to play with smart phone rather than meeting their buddies face to face.

With popularity of applications, smart phone users are coming up with their own unique ideas and few are capable enough to change the world. The question is who develop this applications/ games and what is quality? Off course, answer is an iOS developer but it is very important to know that he is working on his own or he is working in an organization.

The answer of the above question will decide future of application. The developer who works for his own is a Freelancer, his own boss. There is no one to control him, no one to ask him, no one to help him. Now when this happens, off course there would be issues coming when he develop the application and that will make sure that your application is delayed or never completed. What is next step for you now?

Search for an iPhone development company who knows their job and who have bunch of talented application developers. The benefits of choosing a company over freelancer are mainly because company is always built with infrastructure, hierarchy and team.

Sudeep Bhatnagar I develop apps, talk apps, live apps.

July 28th, 2015

both options are doable; though you've to figure which one suits your current management bandwidth and costs; I run an app development company (serving customers like you), and let me tell you that it is easier said than done to hire and retain talented developers, for any technology and since mobiles are hot these days, it has only become tougher.

Now, coming to facts - outsourcing to an offshore mid size app development company like us would cost you $ 15 to 25 K for a 6 months' longer project (assuming it involves only 1 or maximum 2 resources); the same campaign in house would cost you at least $ 40 K along with other expenses and management burden.

While it apparently gives you more flexibility in terms of managing changes, do iterations when you've an inhouse team; you can gain the same by properly managing the offshore team as well; just you need to be more communicative, planned, and good on documents. We, the offshore guys can also understand your concepts and goals (doing so already offcourse) and convert them into quality weekly releases; but you would need to work as a team owner.

One more advantage of outsourcing to a company (not just an developer) is that you'd interact with not only the developer doing the code but also with a solution architect of that company who is mostly a seasoned techno-commercial guy doing all sort of non-code but important things for you; like doing R&D for the right SMS gateway system, proposing you best options for payment gateway, or suggesting you right kind of backend system etc. Apart from that, the same guy would be managing the grunt part of the development management; keeping the backup resource, maintaining repos, handling change orders; spending hours with you on skype and what not.

So, the overall package that a professional company can give is not comparable with having an inhouse developer, except the only fact that the latter is sitting near to you.

You may better hire a CTO (if you are not the one technical), who can manage the development team (be it your inhouse or an outsourced one).

Also, reconsidering having inhouse team and infra if you don't have solid longer dev plans. I've worked with inhouse teams in India, US, and Singapore and also did outsourcing and now running an outsourcing company - managing internal team when you are a startup is sometimes more cumbersome than managing a professional vendor working for a fee.

In any case, the goal of your campaign should remain fulfilled; so choose your plan based on your requirements and not on the basis of what sounds cool.

Let me know if I can be of any further help; may be you try us for a low cost MVP first, in the mean while you gauge your team options?

Diego Fiorentin

July 28th, 2015

Hi Ken,

my recommendation is to outsource,
you should focus on the biz development, not in running a software factory. 

If you want I can provide you with referrals.


Anton Trakht CEO at Kultprosvet Full Stack Web & Mobile Dev

July 29th, 2015

- In-house team member is always better if you have budget for this and the CTO who is able to interview the needed person.

- If you don't have the budget for in-house developer, but you have a good project manager, then the most efficient (cost&quality) is to hire out-staff developer. There are a lot of outstaffing teams in eastern Europe, so you can work in the same time zone.
- Hiring a company is something that is cheaper then having your own CTO, project manager and the developer, but it's not easy to find the one which can provide the required quality level.

Ashni Sharma Ashni Sharma is a professional app developer at AppsChopper.

November 15th, 2017

AppsChopper is a leading iOS app developmentcompany with the team of well-skilled & talented developers who incorporate their profound knowledge for creating high-performing and fully-functional iOS apps. We develop stunning & engaging iOS apps which are fully-fledged with several amazing features.

Jesse Landry

July 28th, 2015


Just sent you a LinkedIn connect and note.

Have the perfect person to connect you to.

This isn't something I typically do here but felt you should at least know Karen.

Hoping we can link up.

Elena Montes Managing Director at Kill The Loop

July 28th, 2015

Dear Ken,

My name is Elena and I have six years of experience developing and managing IT projects in Ireland (five last years specialized in iOS apps).
I am an IT Service Provider specialized in mobile apps ( formed by a large team of freelance senior developers and designers from Europe and Russia. I am also developing one of my web/app ideas since one year ago and I have assigned three developers. None of them are in my office because of the level of freedom and indepence I want for my business, myself and themselves, and I have everything under control thanks to Project management and Issue tracking systems, and also because we use Skype and emails everyday. And I know the final cost since the beginning. So for me, this option is all advantages.

So I think I can help you solve your doubts quickly with my intensive experience:

As per your message, it seems that you only need to do an iOS app, but in most of the cases it is not only an iOS app what you need. Are you looking for an iOS Developer or a Software Developer specialized in iOS Development? Most of the mobile apps require an Administration panel (CMS), a database and an API, and many mobile developers don't want or are not experts doing those things. Plus, the app design. App developers are not App designers. So, there are four different costs involved here (two if you don't need a CMS) which usually determine the number of people you need:
1. CMS UX/UI Design (i.e. 2 weeks of work)
2. CMS/DB/API Development (i.e. 1 month of work)
3. UX & UI iOS App Design (i.e. 2 weeks of work)
4. iOS App Development (i.e. 2 months of work)

An IT Solutions Provider splits easily your project in stages/modules and can give you an estimation so you can agree a fixed cost with them for each of the tasks (if you want to receive a very accurate estimation you will need to provide the UX/wireframes of the full system, or at least send a very detailed documentation, don't forget to sign a NDA before). There is no need in having someone during 6 months working onsite, unless this person can do all the required tasks, you think you will change the specs continuously and the project is really big so you want to keep this person for long term for a good reason, such as continuous site maintenance, but for this you can also ask for a project documentation to the service provider. And they can solve anything you need quickly because they have experience and resources. They will assign the appropriate person to every stage of your project, and also some stages can be started at the same time than others, so your project could be finished sooner than previously expected.

So developer onsite or offsite?
My advice is to take a decision based on your personality and level of freedom you need/want for yourself. Having a person at your office limits your freedom if you need to go to meetings or events, travel, etc, and also forces you to have a strict timetable.

Then, the next question would be about the software quality you are looking for.
If you need a safe, stable, scalable and efficient system take a Senior Developer, not Junior. And if possible not from India. Well, please do not misunderstand this as I know there are fantastic developers all over the world, but my experience (speaking about quality) is not good enough with Indian developers. They have good things, such as speed and price, but they are not famous for doing quality code. But if your idea is simple is ok if you contact any kind of developer, although I always recommend to take a good one. I never contact with anyone from these countries because during my first two years doing freelancing I got so many Irish clients asking for fixing the apps made by developers from India and Pakistan because their apps crashed unexpectedly, or some screens took so long to load information/maps/images, or they just couldn't get some features to work well. And dealing with those projects was a nightmare, because they don't write intuitive names for variables and functions and their code in general was a mess and in most of the cases I needed to restructure the whole app, do a modular decomposition and fix the navigation used. So when I started growing and had to form my team I contacted developers with which I was studying and working before and I knew they provide quality code, taking care of the memory management, layout, etc.

​So to conclude this, ​

I would choose an IT service provider specialized in mobile app development, who doesn't mind to put you in contact with the developer assigned to your project (by email and Skype), and has a proper environment to follow up the progress of your project every day, like me :)

Kind regards,

Elena Montes
CEO & Founder @KillTheLoop