DEV Community

Benjamin Wanicur
Benjamin Wanicur

Posted on

Finding Effective Consultants

Original Post Here

Finding consultants can be a real challenge in today's market. This article is aimed at non-technical business owners or whoever might be in charge of hiring technical talent. When I say "consultant", I am primarily talking about programmers, but as we will see, it takes more than being a technically skilled programmer to be an effective consultant.

Holes In My House's Foundation

Sorry to bring out the tired house metaphor, but I still believe it is very appropriate for this kind of discussion. Every consultant I've met has their horror stories about inheriting an application with some serious technical problems. A side note to consultants here: Yes we have all been there, but "hindsight is 20/20" (or insert other cliche here). We do not know what was happening at the time, so try to reserve judgement about the previous programmers. But by all means, please be critical of the code!

Here is an example (one I've encountered a few times). The previous programmer(s) built a database that has problems in the way the data is organized. Then they wrote application code that runs on that database and its "less than desirable" organizational scheme. This is a really terrible situation because it costs exponentially more the longer it goes unaddressed. In this example not only do we need to fix lots of code, but customer data needs to be migrated (to the better organized database scheme). Customer data migration is a tedious and scary process.

Hopefully you do not find yourself in this situation. If you have a trusted friend with some techincal experience, you may be able to lean on them to help you find a technically competent consultant. I also believe this scenario is less common that other challenging situations (hint: read on) you might find working with consultants.

Rockstars, Gurus, and things that go bump in the night

So you have found your technical wizard and everything will be smooth sailing from here on, right ? If you've been following along you probably know I am going burst your bubble.

First let's take a minute to address some buzz words you should probably avoid when searching for consultants. Rockstar, guru, wizard are a few that come to mind. Looking at technical forums or email lists that allow recruitment posts, you will find that in the past few years these buzz words will ruffle many programmers' feathers and before you know it, the pitchforks and torches have come out. So why is that ?

In software development, it "takes a village". The tired cliche of a nerd, locked in room with red bull and year's supply of gummy bears has been played out and only belongs in TV or movies. Collaboration is king and no one knows everything. You might be thinking: I cannot afford to hire a team of programmers. I need one person who can do the job. I am not being literal with the term "village", so let's talk about the single consultant scenario.

Having your one "rockstar" consultant might work if the following are true:

  • You know exactly what features you need for your web application ahead of time
  • You are aware of the trade offs that different technologies or solutions present
  • You know that none of your requirements will ever change over the course of the project

If this is the case, go ahead and buy the red bull and gummy bears, lock your consultant in a room, and get ready for profit!

Ok... I've never worked on a project like that. Requirements always change. Most business owners are not aware of every technical trade off and rarely know how much work goes into each piece of their web application. If they did, they are probably a programmer and would do the work themselves.

Being a rockstar or guru developer alone is not enough be effective. I have talked enough about the challenges. Next, let's talk about how to find and work with effective consultants.

Effective Consultants

Being technically proficient should be the starting point for consultants. But it is just as important to become a trusted advisor and direct projects along paths that will lead to less heartache down the road.

It is vital to get consultants involved early in the process. I understand there is an impulse to save billable hours by handling the planning without a consultant's help. However, mis-steps at this stage can result in many hours of back tracking that might have been avoided.

There are no solutions, only trade offs. - Thomas Sowell

I know that sounds daunting, but it is very true, and I think it embodies the kind of advice you should be getting from your consultant.

Here is an example:

Client will ask what seems like a very simple, straight-forward question, like this: How much work would it take to make an autocomplete search bar on this page ? My answer starts a conversation that is probably more involved that my client thought. We have to talk about the pros and cons of each possible solution. We need to consider the end goal of the application. Is this a proof of concept application ? Is it something that needs to be ready for real-world consumer use when we are done ? How important is this feature compared to other features we want and how does that fit in with the budget ? Although this conversation might not have been the answer my client expected, I believe I am doing my job when we have these conversations.

Cry in the dojo, laugh on the battlefield.

Putting in the extra time by discussing the pros and cons of each decision can save hours and heartache later. I am very skeptical of consultants who are very tribal about their technologies. If consultant answers the question above (the autocomplete search example) with something like this: We should just use X because it is the best, please be wary.

Also beware the consultant who wants to build technology for technology's sake. They might want to try out this new framework because it is cool. Or over-engineer some solution based on an ego trip or some misconception about what a client needs to meet their goals. I think these scenarios are not very common for consultants who have been around the block more than once, but it is worth mentioning.

Finding Your Effective Consultants

Now that you know what to look for, how do you find these magical consultants ? I wish there were a tried and true method, but there is not. Even if you know from experience (perhaps a personal recommendation from a trusted friend) that a consultant is effective, we are all people with varying personalities and sometimes we clash.

Because of this uncertainty I am a big proponent of the Test Drive. Every large project can hopefully be broken up into smaller chunks. By "small chunk" I mean something that can be accomplished in few days of work or less. Once you have focused in on a potential consultant, see if you can find one of these smaller chunks and hire the consultant to complete the work. If the consultant is good and you have chosen something that is not a small chunk, they should be able to tell you that right away. Once the work is done, you should know if you like working with the consultant and vice-versa. If not, you should still have a chunk of completed work and you've only spent small amount of money.

I hope my opinions and thoughts about finding consultants has been helpful. If you have questions or want to chat, you can always reach me here.

Top comments (0)