- Software houses employ mostly freelancers
- Outsourced developers are not as skilled as in-house
- You can’t verify outsourced developer’s competencies
- Outsourced teams consist primarily of inexperienced developers
- I have no control over an outsourced programmer
- Remote work is less effective
- An outsourced developer won’t feel my project because he’s not a member of the organization
- Language and cultural differences have a terrible impact on the development process
- Outsourcing is more expensive than working with an in-house team
Until a few years back, IT outsourcing was a new phenomenon with evolving and unclear standards. This gave room to all sorts of software agencies that, to put it mildly, looked good only on paper.
In 2022, although the nearshoring and offshoring models have already stabilized, some stereotypes and myths about remote partnerships are still there.
Allow me to debunk them one by one.
Software houses employ mostly freelancers
Do software houses hire anyone just to complete a team ASAP and thus mainly employ freelancers? There are probably still such companies, but it’s a dying breed.
Firstly, because the IT market has matured and professionalized; at OG, we've long understood that to build a sustainable company, we need to have trusted programmers and develop their competencies, which you only get from long-term employment. And recruiting devs is way more expensive than maintaining them.
Secondly, the awareness of companies using outsourcing has increased. Before choosing us, all our clients thoroughly verified our competencies through conversations with us or our clients. They checked out portfolio and business stability, which has become a market standard that eliminates freelancer-juggling agencies.
Outsourced developers are not as skilled as in-house
Rumors say developers working in development agencies are journeymen; they jump from one project to another because they can’t code well and cannot stick to one company for longer.
It's a myth because programmers have different personalities. Some like stability, e.g., in corporate maintenance projects, while others thrive in new business environments; they prefer quick and intense work in one app and then change to another.
The first mindset isn’t better than the latter, and vice versa; they’re just different. The key is to match them correctly to the project, and it’s the outsourcing company’s role to do the matchmaking.
You can’t verify outsourced developer’s competencies
With us, you can. :) Sure, not all software houses agree to this, but we have no problem with it. If you want to check the skills of the developer who will work on your project, you can talk to him and conduct a competence test with him in a convenient form.
Outsourced teams consist primarily of inexperienced developers
Nope. We outsource whatever seniority is needed or customer requests. In the first model, we match the team to the project based on the specifics given by the client. In the second model, the company says who it needs, and if we get a demand for two juniors and one mid, we deliver precisely this skillset, no more, no less.
As for the seniority level of developers in the software house, I can only speak for myself: currently, 41 people are working in OG, of which only 3 are juniors.
I have no control over an outsourced programmer
Sometimes I hear voices that an outsourced programmer isn’t accountable to anyone and their work cannot be verified.
First, we give our partners insight into the work of programmers in a way that depends on the type of cooperation and individual project needs. For example, we might send hourly reports or a summary of the team's work, including what was delivered and by whom. The most important thing is to establish specific terms and define the scope and deadlines before coding.
Going deeper, at OG, we work in Agile methodologies, which means that we appoint a project leader (Product Owner), usually on the client's side, who regularly meets with developers. Close cooperation between the company representative and our team allows companies to monitor the work of individual programmers on an ongoing basis.
Remote work is less effective
I added this one only as a courtesy because programmers worked remotely before it was cool. Coding doesn’t require the programmer's presence in the office; even if it does, we have no problem sending a delegation to the client's HQ.
An outsourced developer won’t feel my project because he’s not a member of the organization
Not necessarily. How much a developer is involved chiefly depends on whether he’s included in business discussions and allowed to have a say in strategic decisions.
As mentioned above, the Scrum model considers the programmer’s business role and turns him from a code worker into an integral team member. In my experience, this is key to getting him engaged.
This approach requires readiness for the company that resorts to outsourcing too. The Management Board and the Product Owner must understand how vital it is for the IT team to learn the bigger picture of the project.
As OG, we encourage and educate clients to familiarize our developers with their company or app’s business nuances and invite them to corporate meetings, events, etc.
Language and cultural differences have a terrible impact on the development process
Well, from my experience, it’s the actual opposite. Because we come from different cultures, we introduce new qualities, angles, and perspectives to the project, and that’s a huge value.
At the same time, I agree that teams should share base values and that too much difference might actually be problematic, which is why at OG, we work mainly with European companies, and all our and our clients’ developers speak fluent English.
Outsourcing is more expensive than working with an in-house team
It depends; when you outsource the IT, you get a ready, functional and independent team on demand. As a result, you avoid costly recruitment and onboarding processes and save yourself formalities related to contracts (and their costs too).
Building a good development department is expensive and requires industry knowledge, and not all companies have it, so in most cases, the costs are similar.
Investing in an internal team might be cheaper only from a particular scale of operations. But even then, outsourcing IT as an enterprise can be helpful (and more affordable, or at least the exact cost) when launching a side project or an R&D department. As a rule of thumb, you don’t want to invest too much into a hit-or-run project, which is exactly when outsourcing shines.