A programmer, also known as a coder, is a person who creates computer software. The term computer programmer can refer to a specialist in one area of computers, 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. On the other hand, "code monkey" is a derogatory term for a programmer who simply writes code without any involvement in the design or specifications.
A programmer's primary computer language (Assembly, COBOL, C, C++, C#, Java, Lisp, Python, etc.) is often prefixed to these titles, and those who work in a web environment often prefix their titles with web.
A range of occupations—including: software developer, web developer, mobile applications developer, embedded firmware developer, software engineer, computer scientist, game programmer, game developer, or software analyst—that involve programming, also require a range of other skills. The use of the term programmer for these positions is sometimes considered an insulting or derogatory simplification.