What is a Computer Programmer?

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.

What does a Computer Programmer do?

A computer programmer works out the process of designing, writing, testing, debugging/troubleshooting and maintaining the source code of computer programs.

There is an ongoing debate on the extent to which the writing of programs is an art, a craft or an engineering discipline. In general, good programming is considered to be the measured application of all three, with the goal of producing an efficient software solution.

The discipline differs from many other technical professions in that a programmer, in general, does not need to be licensed or pass any standardized (or governmentally regulated) certification tests in order to call themselves a "programmer" or even a "software engineer."

However, representing oneself as a "professional software engineer" without a license from an accredited institution is illegal in many parts of the world. Because the discipline covers many areas, which may or may not include critical applications, it is debatable whether licensing is required for the profession as a whole. In most cases, the discipline is self-governed by the entities which require the programming.

A computer programmer figures out the process of designing, writing, testing, debugging/troubleshooting and maintaining the source code of computer programs. This source code is written in a programming language so the computer can 'understand' it. The code may be a modification of an existing source or something completely new.

The purpose of programming is to create a program that produces a certain desired behaviour (customization). The process of writing source code often requires expertise in many different subjects, including knowledge of the application domain, specialized algorithms and formal logic.

The computer programmer also designs a graphical user interface (GUI) so that non-technical users can use the software through easy, point-and-click menu options. The GUI acts as a translator between the user and the software code.

Some, especially those working on large projects that involve many programmers, use computer-assisted software engineering (CASE) tools to automate much of the coding process. These tools enable a programmer to concentrate on writing the unique parts of a program. A programmer working on smaller projects will often use “programmer environments,” applications that increase productivity by combining compiling, code walk-through, code generation, test data generation, and debugging functions.

A programmer will also use libraries of basic code that can be modified or customized for a specific application. This approach yields more reliable and consistent programs and increases programmers' productivity by eliminating some routine steps. The programmer will also be responsible for maintaining the program’s health.

As software design has continued to advance, and some programming functions have become automated, programmers have begun to assume some of the responsibilities that were once performed only by software engineers. As a result, some computer programmers now assist software engineers in identifying user needs and designing certain parts of computer programs, as well as other functions.

Are you suited to be a computer programmer?

Computer programmers have distinct personalities. They tend to be investigative individuals, which means they’re intellectual, introspective, and inquisitive. They are curious, methodical, rational, analytical, and logical. Some of them are also conventional, meaning they’re conscientious and conservative.

Does this sound like you? Take our free career test to find out if becoming a computer programmer is right for you.

Take the free test now Learn more

What is the workplace of a Computer Programmer like?

Technological advances allow more work to be done from remote locations, so some computer programmers are able to work from home. Most programmers though, do work in clean, comfortable offices and spend most of their time in front of a computer. They usually work full 40 hour weeks and may be required to work overtime to meet deadlines or fix technical issues.

Because of the amount of time spent in front of a computer terminal, programmers could be susceptible to eyestrain, back problems, or hand and wrist problems such as carpal tunnel syndrome.

Computer Programmers are also known as:
Programmer Programmer Analyst Analyst Programmer Computer Programmer Analyst Internet Programmer Computer Analyst Programmer Web Programmer Computer Software Developer