Programmers come in all varieties – not just of experience and skills but of personality types and styles.
Think about the kind of people you want to work with:
• Do you know exactly what you want and plan to give explicit directions?
• Do you want to “copy” something that exists in the marketplace and enhance it? This is common and many programmers are happy to do it, just be careful you don’t use code (and they don’t use code) illegally
• Do you want idea and concept input?
• Et cetera
Be as explicit as you can be in what you write in your ads, but bear in mind that the ads are publicly viewable so if you have “secret” or proprietary ideas consider how much you want to post; save some for a private discussion.
In terms of qualification, some programming skills require certifications to suggest real competence and others less so. Microsoft certification is usually a good indicator of skill in their platforms, Java and Perl coders often have no such “documentation” for example.
When actually contracting with programmers, be clear about the following:• Exactly what they will do and when
• Exactly what you will pay and when
• Who provides what – for example, some coders have their own development environments and some will expect you to provide something
• Who owns what – make certain that all work is done on a “work for hire” basis which means you own the final product exclusively
• Make certain that all coding being done for you is being done legally, which means both (a) using legal versions of licensed software and or (b) using open source products and or (c) not directly copying copyrighted code from a third party source, where that issue applies.
In terms of payment, we recommend using an escrow service where that is practical, and using an electronic service in any case. Most freelancers are used to a starting payment and a completion payment, but payment in phases or thirds for longer projects is not uncommon.
Some programmers are entrepreneurial and will suggest some form of “works now pay later” scheme, a form of equity in your product. While in some cases this may make sense for everyone, as a general rule we prefer the clean simplicity of pay as you go.
The Importance of TestingAll software needs to be tested at several points during its development both for functional integrity and also to make certain that the people who will be using the software will be comfortable using it.
There are a lot of specific methods and means of testing – in these pages we can only underscore its basic importance to any software project!Once you know what to build and how to get it built, and you have a working product, you’ll want to start marketing it!
© Copyright 2006 by Michael Rasmussen and Jason Tarasi - All Rights Reserved.