So you've been burned by a technology professional, and you're worried about jumping back in. This is for you. You are my clients. I come in after the storm and clean up, or help you understand how to get out of the corner you seem to have painted yourself into.
You hire a professional because there are business needs you have that lie outside of the expertise that you and/or your organization command or even understand. In the highway of capitalism, these conditions are rife with opportunities for things to go wrong. When they do, it's easy to find fault in the person who promised you a bitchin Camaro and delivered a Yugo.
While your frustration and anger are likely entirely justified, there is a tendency for an organization to get caught up in all the ways that this person or company straight up screwed you. The intention of this blog is to elucidate the field a bit, and in doing so demonstrate a greater picture.
In this way, you can propel yourself and your organization forward, empowered with the understanding of how you will avoid ever getting into this situation again.
1. Look for someone who can speak your language.
Technology might be something that you do not really grasp, but you grasp it enough to know what you want.
When a developer or software engineer speak about solutions to your needs, if they aren't talking in a language that you can understand, it's time to find someone who can.
Here is the thing: ultimately, you are the resident expert in your business or organization needs. If someone is not able to give you information about what they are building for you in a language that you can follow, and in a way that you can intelligently direct them, chances are they've either already run off course or they soon will.
2. Look for someone who listens to you and asks intelligent questions.
Ideally, your goal is to have your technology map your existing business processes as closely as possible. There are many solutions out there, out of the box, that will meet the needs of a generic organization or business, and these are often the easiest to implement. The easier a solution is to implement, the more money there is to be made, especially with projects that were bid on a project basis (as opposed to invoicing for hours).
How can you really tell if they are listening? Look for someone who surprises you with their ability to recall and consider information that you gave them in earlier meetings. Ask the person you are interviewing to parrot your needs back to you. Make sure they explain to your satisfaction how the things that are important to you will be included in the solution they are offering.
3. Look for someone with a demonstrable reputation for greatness – not only as a developer but as a person.
This is tricky, but important. A person who collects written references from employers and clients and displays them does so because they put a very high premium on the satisfaction of their clients. This is important. You want someone who has a paper trail of people who have good things to say about them.
When you ask for recommendations, in addition to calling a couple of cherry-picked employment experiences, ask if they have written testimonials from past clients. They may not, but it's worth asking. You can learn a lot about their commitment to the people who they have taken care of in the past, and the importance they place on the level of service and satisfaction they have given past employers and clients.
4. Write it all out in language that you understand as part of the contract you sign with this person.
Contracts. Make sure they outline exactly what you are looking for in language that you can understand either as an addendum or within the contract itself. Make sure the contract talks about what happens in the case of things not going down as expected. Make sure the lines of responsibility are clear.
5. Reconsider estimates based on hourly invoicing as opposed to bidding on an entire project.
While having an agreed upon dollar amount placed on the project from the beginning and laid out contractually might be attractive and feel safer initially, in arranging things this way, you may run a higher risk of things going sour.
The main reason for this is that if I know I am making $10,000 on a project, there is be a tendency for me to want to complete the project in the least amount of time, because I will receive overall financial gain if I can reduce the amount of time I spend earning that money. It's a natural tendency. I might not go all out to meet your needs exactly if I can find something out of the box that gets close.
What's the alternative? I err on the side of hourly billing within a framework of ranges. I agree to project manage in a way that keeps the long sight of an agreed-upon price range and timeline. I take the responsibility to alert and redirect the team the minute I feel the work is not happening according to the original schedule or budget, and we troubleshoot together how to reset a good course.
6. We are not Client/Contractor or Employee/Employer, we are a team.
In part, the reason this strategy has worked for me is that my clients and I share the responsibility as a team for getting to the goal in the alloted time and budget. We so often want to give something away for someone else to deal with it, but the less we keep our hands in the mix, the less control we ultimately have over the result.
Many of the mistakes that I get hired to clean up later are the result of clients having given up wanting to get their hands dirty with something that is maybe a stretch in terms of being challenging for the non-technical. As with anything, when the stakeholders who have a great investment in a specific outcome turn their attention away from any part of the process of achieving that outcome, chances are the ship with re-calibrate it's course.
7. Trust your intuition.
And lastly, your gut knows. In the end, you know who you want, and it's not always the person with the most expertise. Follow that hunch. Know that your little bit of experience with them is like a microcosm of the whole. Was there a weird pause in something they said that caught your attention briefly? Listen to that.