Tag Archives: #outsourcing

Freelancer vs. remote employee vs. custom software company. What is the best option when hiring for software development?


No matter the size of your company at some point as you grow you will need to  hire developers.

Finding good talent is where the problems usually begin. Hiring can be a long, complicated, often overwhelming process and hiring tech talent is usually at least 5x more difficult. Unless your company name is Google, Apple, Facebook or a unicorn, with salaries and perks to match, hiring developers is more like 10x as difficult.

If you are facing this dilemma, why not consider using remote workers? It’s a solution that not only gives you access to the best talent, regardless of where they live, but is also cost-effective.

Remote hiring usually falls into one of three categories.


Hiring freelance software developers

Freelancing is a common practice in IT, so hiring a freelance developer may seem the easiest choice.

There is plenty of talent, from almost any location in the world, with whatever skills you may need, and dozens of services that make the hiring process and payment simple and easy.

However, in order to work effectively with freelancers you need enough technical expertise to be able to produce clear technical requirements, judge code quality, control technologies, establish tight-but-achievable deadlines and control the overall process.

Hiring a software freelancer works best when you have  one specific task.

If you have multiple tasks or a complex project you may consider  hiring several freelancers to create a team. However, you should keep in mind that managing a globally dispersed team requires a specific skill set, so it is prudent to hire a project manager as well.

Obviously, the more people you need to find the longer and more complicated the hiring process becomes, as well as a greater chance for missteps to occur and errors to happen in the finished product.


Hiring a software developer employee to work remotely

Once you are no longer restricted to a geographical location the talent pool is definitely larger; you have access to high-skilled software developers from all over the world, but you still have to find the right one.

Not every person who is an ideal candidate for an in-office position is great for remote work. Remote work demands a high level of self-discipline, self-motivation and self-organizing skills. Therefore,  you need to choose a candidate who has had at least some success working remotely.

You’ve probably heard about successful companies that work entirely remotely, such as Groove, Basecamp, and Buffer. Their inspiring stories encourage lots of startups to work as a distributed team. Just keep in mind that before they succeeded they put in a lot of effort to create an effective remote working culture.

Another point that is often overlooked is that when hiring overseas remote employees you need to deal with international money transfers and compliance with a tax structure you are unlikely to be familiar with.


Hiring a custom software development company

A custom software company is basically a ready-to-hire remote team.

There are dozens of different companies on the market, but their scale, experience and expertise varies. They can work as a temporary team on specific projects or dedicated, long-term as an extension of your in-house team. The common feature they all have is a complete infrastructure that can provide the full software development lifecycle service.

That means that in addition to the development team you get project managers and team leaders who will organize the process, keep it on time and in budget, and discuss it with you at whatever level you choose, from overview to in-depth detail.

Hiring a custom software development company is the best solution for projects such as MVPs, complex iterations, or large projects requiring innovative technologies. And because these companies value their reputation, they are careful with IP and confidentiality.

Choosing the right partner can be a long process as well, but after signing a contract everything moves faster. An experienced team, with established processes of communication and collaboration, can achieve results faster than a newly-met group, no matter how skilled the developers.

Many of the best custom software houses are overseas, which allows you to take advantage of substantial compensation differences. And because you pay the company they are the ones who deal with taxes, benefits, policies, management, etc.


Which should you choose?

That depends on your needs. What are your technical requirements? How complex is your project? Does it demand a widespread skill set or rare talents and knowledge? What is your number one priority, time or money? How much do you want to be involved in the process?

All that requires you to carefully think through your decision to ensure it is the best one for you.

While there are several approaches, they all carry one major benefit: each allows your business to grow fast and independent of the local talent pool.

Outsourcing: professionals’ opinion

In the second post of this series I said that clear communications was the single, most important factor when outsourcing, whether locally or globally.

I said this based on conversations with my management, since NTR does remote development for both large companies and startups.

I asked my friend Miki what she thought and she agreed. But, since we are both hyper-focused on communications, she suggested posting the question to Silo, a startup tech forum. Here is the question she asked.

What is the single, most important point when outsourcing local or global?

Anything can be outsourced, not just sftwr dev. Biz outsource recruiting, benefits/payroll, design, marketing, sales, etc. Personally, we outsource shopping, cleaning, child-rearing, etc.

For an outsourcing series at http://blog.ntrlab.com/ tell me in one sentence the single, most important advice you can offer when outsourcing.


image credit: here

The first response was from Silo founder Moshik Raccah, “To me, the most important aspects for successful outsourcing are setting expectations and communication. It’s also the hardest to get right.”

Sagit Weiss, Founder and CEO at Crowdacure, was quick to chime in. “Agree. Clear expectations and communication”

Computational Biologist Doron Lemze added an astute warning to which few pay enough attention, “When you outsource think if you can live with less control on the element that you outsource.”

Irene Lefton, with a career fostering global services and customer success added more detail, “Align objectives with your contract terms – both parties need to benefit and it needs to be clear what the team will do and what outcomes are expected.”

Israel Rand, VP Business Development & Sales at Labgoo, elaborates the value and yield of good communications, “I think that communication is the most important piece in outsourcing! If both, the user and the outsourcer have an open good communication channel, then there aren’t any surprises. The rest will follow (expectation, pricing, changes etc.)”

And Oleksandr (Alex) Andriyanov, CEO of American Programming Company adds, “From my humble prospective Business Process Outsourcing (BPO) companies should keep in mind Business Value for the Customer. This way everything else is coming in place.”

Finally, Gal Nirel, an online and offline entrepreneur, expanded on what’s involved and, sadly, the cost of not doing it, “I outsource to achieve a business goal, the benefits can be reducing the time to customer/market, cost or other company’s resources. Since outsourcing has its risks the most important element in my view would be to mitigate it by setting clear objectives, KPI’s and the resources to manage it and stop/modify it if necessary. If you can’t manage it well, you can’t outsource it well.

Writing it with pain for my friend who just closed his business this week burned his entire seed round on a bad, poorly managed outsourced product project…”

There you have it. My totally unscientific sampling confirms without a doubt that clear, well thought-out communications are the key to successfully outsourcing a project, whether large or small.

No real surprise, since good communications is the secret sauce in every successful venture, from marriage to management to parenting and anything else you can think of.

Outsource: communications



What is the common thread that runs through every successfully outsourced project, whether a new website outsourced to the designer you met at Starbucks, your payroll to a recommended company on the other coast or a new product to an overseas development team?

Crystal clear communications — which aren’t all that common.

Joseph Priestley said, “The more elaborate our means of communication, the less we communicate.”

Russell Hoban warns, “After all, when you come right down to it, how many people speak the same language even when they speak the same language?”

Good communications are what sustains all human interactions (the result of every interaction is a form of relationship) and this is especially true when you reach outside your employee framework to get something done. Good communication with employees needs to come from the heart.


image credit: here

Your own people have experience deciphering what you really mean, even when you aren’t as clear as you should be.

Outsiders lack that experience, so it is your responsibility, not theirs, to make sure you are understood.

It’s your responsibility to make sure everyone is on the same page, whether it is a large project involving remote teams doing product development or a small one outsourced to an individual.

And while managers in established companies can afford to hire project managers, it is more typically DIY for startup founders.

My company, NTR Lab, provides remote software development teams for both startups and scaling companies. Nick (our president) says that poor and/or incomplete information has wasted more time than any other action, even pivoting.

My friend Miki, who writes for startups, vented her frustration with them by writing 5 Rules for Interacting with Contractors and Other Non Employees; she sends the link and insists they read it before they start working together.

If you need still more motivation keep reminding yourself that if you can’t/don’t/won’t make the effort to fully communicate from the start, and over time, then you don’t get to complain when the results aren’t what you wanted.


Do you use Uber or Lyft, order takeout, subscribe to Plated, buy from FreshDirect or use MollyMaids?

If so, you are outsourcing.

If you ever had someone else mow your lawn, paint your home or design/build a website you outsourced.

Outsourcing simply means having someone else do the work.

You can outsource everything — even your life.


image credit: here

In terms of business, outsourcing means hiring outsiders to perform tasks that would be done internally if the time and/or talent were available.  

What it’s called — outsourcing or contracting — is more often a function of location — the workers location, not yours. Continue reading Outsourcing