A programmer 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.
A programmer's primary computer language is often prefixed to the above titles, and those who work in a web environment often prefix their titles with web. The term programmer can be used to refer to a software developer, computer scientist, or software analyst. Many of the most notable programmers are often labeled as hackers.
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. Those proficient in computer programming skills may become famous, though this regard is normally limited to software engineering circles.
Programmers often have or Job titles and descriptions may vary, depending on the organization. Programmers work in many settings, including corporate information technology departments, big software companies, and small service firms. Many professional programmers also work for consulting companies at client' sites as contractors.