(Or "computer programmer", "developer") Someone who writes or debugs computer programs, for a living or for fun. "Analyst/developer" is a common equivalent job title, implying the added role of system analysis. The term may be qualified according to the type of software or programming language - "application programmer", "system programmer", Perl programmer, etc.

A contract programmer usually has a fixed-length contract, unlike a permanent employee.