Should you hire developers, outsource or find a consulting/development firm?

Rogelio Consejo
7 min readMar 3, 2022
It is not as plain and simple or as complicated as it may seem.

If you are reading this, my guess is that you want to make some kind of software to lower cost and/or effort (and increase output and profitability) in your own business or project. You might also be just trying to find ways to make your work easier in general, and this may also apply to you, but I will be focusing on the first case: how to get software done for your business or project.

And you are also probably wondering whether you should maybe outsource it or find a development firm or maybe even hire your own IT team.

So, now that it is established that I know what you want, let’s see if I have it. First things first:

Start by thinking about the context of whatever you want to build.

More important than the project itself, is the context.

So, let’s imagine for a moment that you want to make an app to make it easier for you to handle your communications with your clients (because you have a business that serves lots of costumers, and you want to reach even more, but your HR costs are also a bit high and make scaling difficult, which is important because you are a startup, and maybe you even have to spend lots of time making sure that those communications are actually happening on time, which as a CEO is really not what you should be focusing on).

Do you hire, outsource? What should you do?

It really depends on whether or not you expect to keep having new software development projects in the future. The elusive obvious.

So, in our example, because you offer services and your main scaling difficulty is the cost of human labor (or, as a like to call them, “fleshbots”🙃… but seriously, you want to be paying people well and keeping them happy for them to make a great work, so you really don’t want to cut costs here, trust me), then you need to make your workers work easier.

So we get the equation:

Easier work = 💰

So my guess is that communicating with your clients is just one of the things that you can make easier for yourself and your team (you are a startup, so the one thing that you definitely have is “things that you could make easier for yourself and your team”).

So if this project solves a problem that it is “just one of” a set, that means…

“You expect to keep having new software development projects in the future” == true

So the check passes. You may think you are saving money and effort by outsourcing or hiring, but no.

No.

Let me say it again: NO.

First of all: hiring outside your company will mean that you will depend on external entities. If they are late, you are late, and there is little you can do about it. Most of the time, it works like a black box, where you just depend on them, and have to pay them money for the privilege. It is a gamble, except if you find someone with some experience and recommendations.

Second: Eventually, the requirements of the code will change. Think about it for a second… You don’t know how much it will cost just to keep using this current development, you may not even know how long it will take before you need to hand out more money, and you have no control about it.

Third: WHEN you decide to build your own IT team (not if, but WHEN), they will need to adapt to whatever standards the outsider set, which may not be aligned with the ones in your business. The code may work, but it will cost you a lot to get your team to adapt to the existing architecture, most of the time (unless the developer was experienced, clean, documented perfectly their development, and so on, so basically if everything works perfectly and without a hitch, which -to my knowledge- never happens, ever).

4th: You will be tempted to cut costs. 😶

Nth: Their objective is to make money and they make money by building anything into your system. On your side, your objective is to reduce costs and you do that by building as little as needed of your system and using it as early as possible (and maybe then adding more to it, which also circles back to the idea of getting your own IT team). Unless you have very deep pockets, in which case, if you don’t want to reduce costs, you can send your excess money to me, I will be happy to have it (also, hi 👋🙂).

N+1th: Nobody knows your startup like you do.

This is just an example, but the principle is this: does it make sense to keep building software other than the project you are thinking of? If yes, maybe look into building your own team.

It won’t be easy. It won’t be quick. And you do need someone who knows what he is doing on the high-level, and that is able to align the trade-offs of the IT department with your business.

So the real problem is that getting “a developer” is not enough, you need a developer who will make your system extensible (so he will not be setting future projects up for failure by making bad decisions in the present), easy to understand at the code level (so that other people can join the team and you can keep growing), who will keep the code and architecture relatively clean (so that development costs don’t increase exponentially with time). And he should know enough about business in general to understand the business side enough for his work to make sense. A problem solver, quick learner and someone who is a leader. Even if you don’t have anyone for him to lead yet.

Notice I didn’t say “you need a Senior Developer”. You do, but that description wouldn’t have been as helpful, would it?

Also, I didn’t really talk about his speed. You don’t need a developer that types faster or that comes up with solutions in a certain amount of time. That’s a bonus, but worthless without the rest.

Finding him won’t be easy. It won’t be quick. But it will be worth it.

NOW… let’s come back to earth for a second.

So, in general, you want to start looking at the context of whatever you want to do. It is not so much the project itself, but the project in context which should be guiding your decisions.

Am I against hiring outside your company? NOT AT ALL, when it makes sense.

In this case, I am talking about a startup that will likely benefit a lot from continuous development of software. They will have an infinite backlog for the IT team to tackle, and they are going to be changing a lot in the way they do things. They don’t want to be stuck with only one way of doing things just because it costs too much to update the software (how do you get out of that situation?), so even this project is probably going to change, a lot. So in this specific example, whatever effort and money and time you save by hiring external help is going to be obliterated by all the costs of doing so. The trade-offs don’t line up.

Now let’s imagine a big lawyer firm with three names as a brand:

Fromage, Schuster & Pitz-Lopez, Attorneys at LAW. Est. 1782

The people at Fromage, Schuster & Pitz-Lopez don’t need technology to grow and they don’t need technology to scale. They have “THE POWER OF ATTORNEY!”. But some young guy has convinced some of the higher ups that they could make a lot more money by making a small internal application that would help manage some records that they currently manage using an old-style filing system, that uses a lot of people just to keep track of things.

And yes, they may even try other of his ideas in the future if this works out. The guy makes sense, and they are letting him have a go at it.

Now for Fromage, Schuster & Pitz-Lopez, the situation is entirely different. Even if they eventually need to build their own IT team, the cost of having gone the other route is really very small, specially relatively to the size of the business. They already have deep-ingrained systems that work, things don’t change a lot in the company. So the cost of building an IT team is actually bigger in this case, because it means integrating it into the existing system, first of all. That is not a trivial task at all. And the benefit for Fromage, Schuster & Pitz-Lopez is less, because things change less often. And you can afford to find the best. It makes more sense to outsource to the best consulting and development firm that you can find, and the risks that I mentioned earlier will also be severely minimized because of that.

I am going to say it just one more time, just because I find it so funny: Fromage, Schuster & Pitz-Lopez. That is a “Bob’s Burguers” reference, by the way.

Now back to my main and only point: More important than the project itself, is the context.

I hope that it now makes a lot more sense. And if you got this far, I am also hoping that I just saved you a lot of money and headaches, and that your time invested reading this will pay-off big.

PS: If you are grateful or just think I am cool 😎, or for whatever reason, I know, deep in my heart, that someone out there needs to hear this, so that you can cast away any doubts that you may have: I do (and probably always will) take money as a gift.

😃

--

--