Leading an IT services company for the last five years has given me some insights about development and hiring contractors that I want to share with you. This might be valuable for product companies who are growing and need to hire additional software developers. In this article, I’ll focus on three questions:
When you lack adequate resources in-house and can’t find new resources locally, it might be good to hire a contractor. But it’s crucial to do it right. Usually, choosing a contractor has a significant influence on how development turns out. If you want to make it cost-effective, look for developers outside the US. Prices can differ dramatically, with ranges of $30-100 per hour, compared to $100-250 per hour in the US. There are quite a lot of regions that can be considered for outsourcing.
You can hire a team on your own, or through a recruitment agency or software consulting/service company.
Usually, when you use the first two options, it’s great to have technical experts who can check for relevant skills and experience. But it’s also important to develop a selection process to identify the right candidates who can fit your needs. Usually, such a selection process is firmly in place in some bigger software companies or in some software consulting/service firms.
Of course, there are some key points you should consider when looking to work with a software consulting/service firm.
It’s important to define in detail the main criteria that should be checked for each company and each particular developer.
So, let’s start with the company. Look at these factors:
Talk with the CEO or someone else from management and ask about all the things you’re interested in and how they act in critical situations that might arise. Some good questions to ask are:
But the most important thing is to check the talent you’re going to hire. If you have a CTO, a technical advisor, or developers who can examine each candidate directly, that can really help.
If you don’t have such expertise, you’ll have to rely on the contractor and review the criteria mentioned here in detail.
As described above, it’s good to check technical skills and experience, soft skills and team compatibility, proactivity, and communication skills in English.
I would recommend paying a lot of attention to proactivity and creative approach. It is one of the most important things we look for in people. It’s usually not enough for team members to have only good technical and communication skills. Beyond speed, quality, and communication — or, as we call them, “the essentials” — the primary challenge in development lies in committing to a process and taking a team-based approach. When each team member asks good, challenging questions, proposes relevant ideas and helps other team members to improve their work, that’s what will eventually make your product better.
Check out our article “The Perfect Software Development Team: types, methodologies, roles, estimation”.
It usually makes sense to have new team members when you already have a core team, as well as a technical leader or CTO. If you’re just starting the company and need the help of contractors to build your product, it’s best to use the outsourcing model, where a service company helps you to create a product from scratch.
Once you have a technical manager, it’s possible to start hiring a team either remote or in-house. And when you choose a good IT service company, usually you can expect to need technical recruiters who will help to check the hard skills of candidates in detail.
It’s important to scrupulously prepare and find partners using the most important criteria, in order to increase the chances of successful delivery. The principle “Hire Slow, Fire Quickly” works well here. If there are signs that a contractor is not a good fit for you according to any of the above criteria, it makes sense to go to plan “B” and find a better alternative. Usually, things can get worse if you give it a second or third chance. Choose partners/contractors thoughtfully to avoid paying twice or more.
DOIT Software has experience working with companies from Austin and Boston remotely, as well as hiring software engineers (including MEVN full-stack, PHP, NodeJS, front-end JS frameworks, etc), UI/UX designers, and QA Engineers. From this experience, we’ve learned to treat hiring as one of the core aspects of our business, which is borne out by clients’ feedback. If you fail to meet your clients’ expectations by not providing qualified candidates, it can easily ruin relations that are very hard to build. It can also make it impossible to build long-term work. So choose partners very thoughtfully to avoid paying twice.