Should I hire a developer in-house or keep outsourcing my web and software development?
Being in the bespoke software business is a great place to observe the ways that different businesses adopt software, depending on their size, budget and maturity stage. There are still significant costs and barriers-to-entry where business software is concerned; whilst things have moved along hugely, effective software still requires skill and financial investment to put in place.
Companies manage this in different ways and many people we speak to are unsure whether they need to buy software off-the-shelf (read our guide if you’re wondering about that too), work with a software company or start to put in place some inhouse software development.
By answering the following questions, you will get clear on some of the potential risks and also the advantages of both approaches.
1. WHO IS DEALING WITH SOFTWARE DEVELOPER RECRUITMENT?
It may be that the person or people who deal with recruitment in your company don’t have experience with technical job descriptions and skill sets. What support do they need? Is your usual recruitment agent sufficiently well-connected for this kind of role? You will need a tight job description and may need help designing and carrying out interview content and skill testing.
2. ARE THERE OTHER TECHNICAL PEOPLE IN YOUR BUSINESS WITH EXPERIENCE OF SOFTWARE DEVELOPMENT?
If you are hiring your first software developer, it’s worth auditing how you have dealt with the technical side of your business until now. Find out who has been involved and what skills they each brought to the table. If you used a freelancer or software house before, are there skills that they have been providing that might not be within the scope of an in-house developer? The ideal situation is to have managers in your company who can support the developer, holding the project planning and building process with them, helping them define and meet deadlines. We’ve often seen companies hire a programmer and pile a lot of responsibility on them, expecting them to be ‘all things technical’ and having nobody else in the business with the skill set to understand their work.
3. DO YOU UNDERSTAND THE PERIPHERAL TASKS OF SOFTWARE PROGRAMMING?
The core work of developing software and websites is supported by many other peripheral processes. Software testing, server management, research and development, project planning and optimised user experience design to name just a few. In a software company, there are dedicated people holding different tasks. When bringing programming in-house these things can easily be overlooked. As long as the work you are doing is not too complex, however, it is perfectly manageable to deal with all these aspects through a collaboration between freelancers, your software developer and managers.
4. WHAT KIND OF WORK WOULD YOU GIVE TO YOUR SOFTWARE DEVELOPER?
There are a lot of different types of development work and it will be helpful to think ahead before you hire a software developer. Consider what coding languages they need to be proficient in, now and moving forward. Think about how creative they need to be; is it more important to you that they have an eye for design or that they can solve complex technical problems (hint: these two can sometimes be mutually exclusive). Brainstorm the sorts of projects and tasks that they will be given and get some sound advice on whether one person can feasibly have all the skills required. Sometimes all that’s needed is to separate off one aspect of the work and give it to an external person, the rest may well be covered if you are aware of it all before you start hiring.
5. DO YOU ALREADY HAVE SOFTWARE AND/OR A WEBSITE?
Asking someone to manage an existing website or piece of software can be a very effective way to use an in-house developer. They don’t have to plan extensive projects or build things from scratch (both quite expensive skills at the higher level), they can provide value for your company if you have plenty of work to give them. Talk to the person or people who built your existing solution: can they help you with recruitment, writing a brief, training guidelines and ongoing technical management of your developer?
6. WHAT ARE THE TIMEFRAMES?
Finally, consider the nature of your work in terms of urgency. If the work you need done is happening at a low-level most of the time without any strict time constraints, having a dedicated developer in-house may be perfect. If you have extensive work or work that needs to happen very quickly, it may pay for you to get a software company who are used to pushing work through quickly. They’ll have several developers and managers who can fast track the work when time is of a premium.
7. ARE YOU FAMILIAR WITH TECHNICAL PROJECT PLANNING?
This is a question that is often overlooked in the initial excitement of hiring an inhouse developer. It is not the most exciting subject and it kind of gets in the way of the creative process when we all just want to get on with it. Ensure that someone is involved at all times who is either a dedicated project manager or who has experience in managing technical project delivery and software scoping. Please hear us when we tell you that this will pay for itself in the later stages of delivery; it is near the end of a piece of work that the cracks start showing, and it can be a hugely painful and expensive process to backtrack once a lot of work has been done in a disorganized way. If this is you already, you might want to pop over to our advice article about software development project rescue tips.
At Helastel, we tend to be helping companies who have been using a variety of off-the-shelf solutions or perhaps an older bespoke solution. They are ready to move forward. Some companies that we work with have their own in-house programmers, most of them work exclusively with our software engineers and team. We’ve worked in scenarios where it’s been very cost-effective for our clients to have their own technical team member; there are certain development tasks core to their business that they just don’t need to outsource. In other cases, we’ve seen the use of inhouse software developers costing the company excessively and creating unnecessary stress for all involved.