A computer programmer, or coder, is
someone who writes computer software. The term computer programmer can refer to
a specialist in one area of computer programming or to a generalist who writes
code for many kinds of software.
One who practices or professes a
formal approach to programming may also be known as a programmer analyst. The
term programmer can be used to refer to a software developer, software
engineer, computer
scientist, or software analyst. However, members of these
professions typically possess other software engineering skills beyond
programming. For this reason, the term programmer is sometimes considered an
oversimplification of these other professions.
This has sparked much debate amongst
developers, analysts, computer scientists, programmers, and outsiders who
continue to be puzzled at the subtle differences in these occupations. Within
software engineering, programming (the implementation) is regarded as one phase
in a software developmental process.