Getting Your App Built: Hiring vs Contracting
In our last post, we walked through some pros and cons of using an individual contractor vs. an app development shop. What if you think you want to hire somebody longer term? When should you think about hiring a programmer to work for your company instead of hiring a contractor?
Hiring a programmer in-house
Pros of programming in-house:
- Familiarity – If you employ a programmer, they will become familiar with your product and codebase, which can streamline development. Additionally, they will become familiar with your company culture and you will become familiar with their working style, which can improve communication if you are a good fit.
- Long-term solutions – An in-house programmer will be more likely to think longer term because they know they will anticipate with you a year from now. (Note, however, turn-over in tech positions is much faster than most other industries, so maybe don’t expect them to be there 3 years from now.)
Cons of app programming in-house:
- Time – Hiring will typically take months and months to execute. Most people who are unfamiliar with the process dramatically underestimate how long it takes to find a programmer to hire full-time. Industry wisdom says that there are 5 job openings for app development for every one programmer. Consider how you’ll compete with other companies if you want to attract top talent. Not only do you need to offer a generous compensation package, but programmers also like to choose companies they find interesting because they have the luxury of choice.
- Expense – Competing to attract a quality programmer will require a lot of money. If you want to hire a senior developer who you are sure can see the big picture, solve complex problems, and build a strong foundation, you’re going to need to dig deep into your pockets. If you take a gamble on a more junior developer, you risk that person getting way out of their depth when they run into bigger problems. If a junior developer doesn’t write clean code, you’re going to end up paying a lot more for somebody to go back and fix or redo what you already built, if you have to add more functionality later.
- Uncertainty of Quality – It’s difficult for most people to tell if a programmer is any good. You can look at past work and past employers, but there is only so much certainty that can give you. A computer science degree from 5 years ago can approach irrelevance in today’s fast-moving, constantly changing landscape.
Contracting with an app development shop
Pros of a development shop:
- Dynamic scaling – If you need a lot of horse-power now while you build a prototype, you can get exactly that. If later on, you just want maintenance and some small new features, you can get exactly that. Working with a app development shop means you can scale up and scale down at will.
- Accurate pricing – With the right shop, you’ll pay a lower rate for basic code and a higher rate for app architecture and big-picture problem solving. Different development tasks require different levels of expertise. With an app development shop, you only need to pay for expertise where it is really required.
Cons of an app development shop:
- You get what you pay for – If you choose to work with a very inexpensive development company, you risk ending up with poor-quality work that nobody can build from in the future. An overbooked company may build something that minimally meets your requirements, but will fall apart if you try to add anything or make any changes later on. You should also watch out for companies that don’t make you a priority. You need your development team to take your deadline as seriously as you do.
- Uncertainty of future relationship – If you alienate your development team, they can choose to stop working with you. If you are constantly adding features not in the original contract or if you are late on your payments, a development shop does not have to put up with you beyond fulfilling the current contract.
An in-house developer can feel like a terrific luxury, but you have to be prepared to spend time and money finding the right person. Contracting out to a development shop allows you to get exactly the level of work you need, for an accurate price. That means you can get your prototype out quickly and then fine-tune as needed down the road. Considering the resources you would like to devote at this time will help you make the right decision for your company.
Thryv is here to help.