A computer programmer writes, tests and maintains the source code for a computer program. The purpose of a program for the business owner is to provide a computerized solution to a business problem.
Businesses usually have considerable expertise in their particular field but frequently don’t keep programmers on staff. Therefore, they commonly contract out computer programming services.
The competency of a computer programmer can be difficult to establish. This discipline is unusual in that there is currently no government regulation controlling who may call themselves a programmer.
There are a number of criteria used in selecting the programming language to write the application in. These include the following:
1. Suitability of the language. For example, do not write a business application in a scientific programming language like FORTRAN.
2. Company policy. Some organizations only allow applications in certain selected languages.
3. Individual preference. Some types of applications like rapid prototyping must be in a language that the computer programmer already knows.
Use contract programming companies to create custom softwareThere are many business problems for which no off-the-shelf solution exists. A contract programming company should already have a well-established methodology for developing software.
Contact different computer programming corporations to determine their areas of expertiseThe goal of this first contact should be to describe the business problem that you need to solve and establish the programmer services firm's ability to provide a solution to that problem.
Consider a flat rate for an application programmer instead of a fixed price.A flat rate is usually more appropriate for contract programming where the task is frequently ill defined and "feature creep" is inevitable.
- Beware of consulting firms that try to fit the problem to their area of expertise. While programming languages are very different, an experienced application programmer can become proficient in a new language relatively quickly.
- Use a contract programmer's spare time to provide training for more junior staff programmers. This will decrease the amount of time you are dependent upon outside help.