Learning how to communicate with a programmer
As you may have guessed, many programmers think quite differently from designers. The skills that predispose a person to programming: Logic, quiet thought, mathematics and organisational ability, are usually the very same qualities that designers lack. Yet both people and both sets of skills are required to create an app. The partnership between a programmer and a designer represents that volatile meeting point between the sciences and the arts. You will almost inevitably run up against communication problems with your programmer. What’s worse is that these problems tend to escalate with the prevailing – and very popular – use of overseas programmers. A great programmer tends also to have a creative and artistic sensibility, which allows easy communication with the designer. We have been lucky enough to work mainly with this type of programmer.
However, this type of working relationship comes at a financial cost:
Artistically-minded programmers are rare and therefore, as market forces dictate, expensive. The more common situation these days involves hiring overseas talent, at remarkably low cost. If you opt to go down this route, you will need to be absolutely fastidious in providing lots of detail and instruction to your programmer, and in constantly reviewing their progress. Don’t wait for days before checking in on the current state of your app as it’s being designed - check in every day.
Otherwise, you will run the risk of your project spiralling into a hopeless mess as instruction after instruction is fatally misinterpreted for extended periods, and hours of time and energy are wasted. The best way to communicate ideas is through a Skype call to your programmer, and using a shared spreadsheet to carefully detail every feature in an app. Bear in mind that, as a general rule, the less money you spend on a programmer, the more time you will spend baby-sitting the process. Many cheaper programmers, while being very good at coding itself, tend not to be able to think laterally about problems when the situation demands, or stray from your instructions.
If you consider your time to have a monetary value, then it’s important to consider how much extra time you will personally need to spend managing a cheap programmer over a more experienced, expensive one.
Making efficient use of the programmer’s time to minimise expense
Above, we have provided more examples of the kind of directions you will need to provide to a programmer. Take a look at the actual working examples of the guides that were sent to the programmer who built Alice in New York. You can see that everything is extensively labelled. Pay attention to the level of
detail included in these diagrams – this is the kind of instructions you can give to your programmer – or you could just provide a list of specifications.
The risk with the latter is that the programmer will openly interpret the broad specifications, and you may end up with peculiar results.
Read Next - Designers Partnering with Programers - iPhone, iPad and Android - Part 2