Dev team
©Photo by Austin Distel/Unsplash

Category: Articles

Contract software vendor or build in-house team?

In my work as a technology consultant this is one of the common questions asked by my clients. When they have this dilemma in mind, it is already a good sign.

Tags: CTO work.

Contract software vendor or build in-house team?

In my work as a technology consultant this is one of the common questions asked by my clients. When they have this dilemma in mind, it is already a good sign.

Software vendor.

What are the motives for those who believe contracting vendors is a way forward? There are a few expected arguments. Lower costs, easy to start and close contracts, flexibility in team size. Unfortunately those are myths. Let me explain why.

Lower cost? A decade ago, yes. Today, in post-COVID remote work culture, developer salaries are becoming more uniform worldwide. Or I should say: the gap is not so big. Added overhead to manage 3rd-party will consume the savings. Trust me, it can even make the total number way higher. Not counting stress and frustration. Solution? Build your team where your vendors are hiring. There is one more thing I've noticed recently. Offers come with a price tag that raises questions. E.g. senior engineer in India, 8 years experience, bunch of certifications for 3k US$ a month. Gross, including vendor commission. Knowing the market, I'd expect the person can make more than 4 k net. I'll let you guess why.

Easy to start and close a contract? Casting a vendor is a bumpy road, hard to verify potentials, all claim to be honest and have solid devs. Yeah. Closing the contract is easy only in one case: when your project fails. But when it continues to grow, replacing the vendor may be super hard. Your knowledge sits outside of your company. They manage your cloud (btw, their devs should do that in the world of modern DevOps). Finally they can develop new features way faster than anyone else. No no, not because of their amazing skills. The contrary, they managed to create a bowl of spaghetti and only they know how to navigate through it.

Flexibility? You can scale the vendor team up or down, true. What it really means: you're scaling costs, not productivity. External teams are a reason for a famous saying: if one developer can do it in one week, two need two weeks. Expected explanation given when you complain? 9 women can not deliver in one month. I didn't know software development has something to do with maternity.

All above are the advantages usually brought when considering external vendors. There is key argument against. I call it the freelancer mindset. It is also present among people "working for you", while in fact their loyalty lays with their employer. How does this kill your software project? By defining their job goal: deliver features, pass the criteria, collect money. Big picture? "Who cares? There will be someone to deal with this mess. If it's me, I'll have more work to do. Good either way. The faster I deliver, the better feedback. And I make more $." Vicious circle, not a way to create maintainable and scalable software.

I'm sure, like with all the rules, there are software houses free of the problems described above. I've not been lucky enough to meet them on my 30 years long jurney. Neither any of my friends or clients.


In-house team?

Favours are known and hardly disputable. I'll focus on the cons: high cost, hiring challenges, retention, lack of flexibility.

High cost? This is true when you're based in one of the cool places. Plus aiming at a traditional office working style. If you need both, you need to accept the price tag to have the high quality outcomes. No magic can change that. When office presence is a must, my recommendation is to build your own nearshore team. This is an area of my expertise and topic for another article, soon to come.

Hiring challenges? Not in 2023. This is the best year to find tech talents. So many of them retrench recently, in most cases not due to lack of skills.

Retention? I've heard about it, but never faced it. Is it due to my management style? ;) The money you pay is a secondary factor, making the work culture enjoyable does the trick.

Lack of flexibility? Myth. Except for the case when you can't bypass bureaucratic HR nonsense. But we are not talking about that today. Average hiring time should be 4 to 6 weeks. Totally doable. Minimal notice periods in most of the countries are similar. I hope you can plan for a bit longer ahead.

To conclude, chances your software project will go south with 3-rd party vendor are high. In the opposite scenario, there are challenges too, but you're in control. Do not doubt, it is doable. Ask me how to overcome threads :)


Article was initially published on my LinkedIn

Michal

The Ace 2.0
Michal's assistant eye