Archives for category: Consulting

After spending the best part of the last few years talking to companies of various shapes and sizes about their hiring preferences, I developed a simple framework to help answer the question “when do I hire full time developers internally vs. outsourcing development?”

Outsourcing Framework

Tech company building a core product:  If you are an tech company building what you consider to be a core product or service, then you should absolutely look at putting together an internal team, since chances are you will need to iterate rapidly, produce bug-fixes, provide customer support etc related to the product or service. Doing all of this in an outsourced, but yet effective manner becomes cost-prohibitive if the product in question is your companies core product. Perhaps even more critically, if your company is not building product, what exactly is it doing?

Tech or non-tech company building a non-core product: If you are a tech, or a non-tech company, building a non-core product, then you first preference should always be to outsource. This is for two reasons:

  • A company that specializes in building what you consider “non-core”, is more likely going to be better at it than anyone you hire internally
  • Even if you can hire the best, you will need a consistent and interesting enough pipeline of work to keep the best engaged – remember, very rarely do the best at anything make a decision purely based on the money offered to them

Non-tech company building a core product: This is the most interesting combination, and one that companies are increasingly finding difficult to answer. Why is this? This is because as more and more legacy companies start to build digital products and services, they are increasingly looking to transform themselves into tech-companies. However even if a legacy company considers itself a tech company, it should really think hard about whether the digital product it is building is truly core. Lets try and explain this via two (somewhat) hypothetical examples below:

  • NCR Corporation building a competitor to Square Wallet: Here both NCR and Square are in the business of retail checkouts. If Square starts offering a service via. Square Wallet that offers a significantly superior retail checkout experience, than NCR, then all else being equal Square will out-muscle NCR, and win the retail check-out and digital wallet war. In this scenario NCR’s existence depends on building check-out related products and services that match that of Square’s, and like their digitally native competition, do rapid and continuous product development, which generally requires an internal team.
  • American Airlines building the most elegant check-in application in industry: Lets assume American Airline’s mobile check-in app is so far superior to its competitors, that its starts winning awards at UX and industry conferences, and gets rave reviews from its customer base. Additionally check-in’s are a part of any airlines core business process, so it can be considered a core part of an end-user facing service that American Airlines provides. However, the truth is regardless of how elegant and simple to use the app is, the check-in process is only a part of the overall customer experience (CX) that American Airlines provides to its customers, and in isolation, will in all-likelihood not make a significant difference to a customers decision to fly American vs. United.

In summary, unless you are an tech company building your core product, outsourcing development should always be a serious option on the table.

Note: We realize this framework does not take into account supply and demand imbalances that a company might be operating under. Today macro factors in the technology space, have led to a clear imbalance in favor of supply, and hence even if it makes sense for a company to hire full-time, that choice might not represent a realistic option.


When I left consulting to focus on my venture full time, I figured that a lot of what I learnt as a consultant would be easily transferable to my life as an entrepreneur. While this is to some extent true, boy am I surprised by the amount of unlearning that I have had to do! Three things stand out when I look back at the key lessons learned:

1) Focus on getting the product out, vs. the perfect product out: In consulting, the focus is on getting as close to a perfect product out as you can the first time up. Running experiments, creating an MVP, and iterating (though it might actually make sense even in a consulting engagement, a separate post on this later!) is not done often enough. They are really not part of a consultant lexicon. The focus as a consultant is on producing the best possible client deliverable – which may be a powerpoint deck, a study, or a CRM system. While this pursuit of perfection is in itself a must have from the perspective of an entrepreneur, the focus in the early days needs to be on validating assumptions as fast as possible, and if that means putting together a quick and dirty prototype, or an A/B test that falls somewhat short of your perfect standards, then so be it.

2) Learning to embrace uncertainty, vs. attempting to eliminate uncertainty: By definition a venture involves a huge amount of uncertainty. Trying to mitigate every risk imaginable when working on a venture is akin to trying to mitigate every risk involved in making a movie. The best you can do is validate your biggest assumptions quickly, put together a great team, trust the team, and execute to the best of your abilities. Beyond that you simply have to acknowledge that starting a venture is risky business, and while you can get better as an entrepreneur with time, even the best entrepreneurs are not immune to failure. If this is not something that you can handle, then perhaps you should reconsider the entrepreneurial path.

3) Don’t be a consultant for too long: A lot of the most essential skills you need to be an entrepreneur you can learn very quickly – in the first 2-4 years of being a consultant. These skills include everything from effective time management, to presentation skills, to relationship development skills. In fact these are skills that you probably already have to have made into a top tier consulting firm, all you do as a consultant is put them to use consciously every day and make it second nature. However having done that you reach a point of diminishing returns, and every additional day you spend being a better consultant, is one less day you spend learning to be a better entrepreneur.

In summary, consulting can be a good training ground for someone with entreprenurial aspirations, just don’t remain a consultant for too long, and make sure you stop by you local B&N or place an order on Amazon for Eric Ries‘ “The Lean Startup” as part of your exit procedures!