Hiring a Zen Cart consultant is pretty much like hiring any other consultant: you have to do your due diligence. You want to look at their portfolio and credentials, and make sure they’re competent to do the job. Some specific checks you can do:
- How active are they on the Zen Cart forum? People who are the most knowledgeable are active forum participants.
- How many contributions have they made to the product? The easiest way for a new designer to demonstrate skill is to make a contribution; if they haven’t done so, the extent of their experience may be limited to simply skinning.
Specifications of Work to be Performed:
- All database logic must be outside the template. A classic problem with Template Monster templates is that they don’t separate business logic from presentation, which locks you into their template and makes it difficult for you to change your site or upgrade.
- Template overrides must be used. Don’t let them just update the classic or default template; this will make it more difficult for you to upgrade.
- The current codebase must be used. You can easily verify this by comparing their changes with the latest codebase; if there are changes beyond what they did, they started with an old base. This will make it … that’s right, more difficult to upgrade.
- A complete list of modified core files must be provided. The list should be as small as possible (because overrides should be used where possible).
Now let’s flip it around. Consultants who are good are busy. You need to make your firm, your job and your business seem attractive to them; don’t just assume that because they’re in business, they will automatically want to work with you. Here’s what That Software Guy looks for in a client:
- A cooperative spirit.
- The ability to clearly and concisely state requirements.
- A win-win attitude
What do I mean by each of these?
- Someone with an uncooperative spirit will not disclose their budget or schedule, won’t answer questions promptly, will blow off deadlines, etc. In extreme cases, someone with an uncooperative spirit will insult you and your services. It goes without saying that I decline these accounts.
- An inability to clearly state requirements – in other words, ambiguous or vague requests – smells like a money-loser to a freelancer. Time is money, and rework caused by misunderstanding is something freelancers want to avoid. If you seem flaky, a freelancer will likely charge you more or refuse to work with you at all.
- The opposite of a win-win attitude is an attitude of resentfulness that they actually have to pay a freelancer. This runs the gamut from complaining about price (“but it’s only a couple of lines of code!”) to trivializing the work involved (“this seems very straightforward, so it shouldn’t cost that much”). Clients like this aren’t fun to work with, and successful freelancers – who have a choice of clients – will avoid them.