Create, modify, and test the code, forms, and script that allow computer applications to run. Work from specifications drawn up by software developers or other individuals. May assist software developers with analysis.
Also Known As: Analyst Programmer, Applications Developer, Computer Programmer, Computer Programmer Analyst, Internet Programmer, Java Developer, Programmer, Programmer Analyst, Software Developer, Web Programmer.
Computer programmers basically write computer programs that enhance computer performance and listed below are their routine tasks and responsibilities
1. Correct errors by making appropriate changes and rechecking the program to ensure that the desired results are produced.
2. Conduct trial runs of programs and software applications to be sure they will produce the desired information and that the instructions are correct.
3. Write, update, and maintain computer programs or software packages to handle specific jobs such as tracking inventory, storing or retrieving data, or controlling other equipment.
4. Write, analyze, review, and rewrite programs, using workflow chart and diagram, and applying knowledge of computer capabilities, subject matter, and symbolic logic.
5. Perform or direct revision, repair, or expansion of existing programs to increase operating efficiency or adapt to new requirements.
6. Consult with managerial, engineering, and technical personnel to clarify program intent, identify problems, and suggest changes.
7. Perform systems analysis and programming tasks to maintain and control the use of computer systems software as a systems programmer.
8. Compile and write documentation of program development and subsequent revisions, inserting comments in the coded instructions so others can understand the program.
9. Prepare detailed workflow charts and diagrams that describe input, output, and logical operation, and convert them into a series of instructions coded in a computer language.
10. Consult with and assist computer operators or system analysts to define and resolve problems in running computer programs.
11. Investigate whether networks, workstations, the central processing unit of the system, or peripheral equipment are responding to a program's instructions.
12. Assign, coordinate, and review work and activities of programming personnel.
13. Write or contribute to instructions or manuals to guide end users.
Programmers work closely with software developers, and in some businesses, their duties overlap. When this happens, programmers can do work that is typical of developers, such as designing the program. This entails initially planning the software, creating models and flowcharts detailing how the code is to be written, writing and debugging code, and designing an application or systems interface.
Some programs are relatively simple and usually take a few days to write, such as creating mobile applications for cell phones. Other programs, like computer operating systems, are more complex and can take a year or more to complete.
Software-as-a-service (SaaS), which consists of applications provided through the Internet, is a growing field. Although programmers typically need to rewrite their programs to work on different systems platforms such as Windows or OS X, applications created using SaaS work on all platforms. That is why programmers writing for software-as-a-service applications may not have to update as much code as other programmers and can instead spend more time writing new programs.
Information technology is a fast and ever changing field so computer programmers are required to keep upto date in the following areas
Computers and Electronics — Knowledge of circuit boards, processors, chips, electronic equipment, and computer hardware and software, including applications and programming.Computer programmers are supposed to be well versed with knowledge relating to the use of computers and electronics as they are always writing programs to enhance their use
English Language — Knowledge of the structure and content of the English language including the meaning and spelling of words, rules of composition, and grammar.Programming Languages are written in English and many of the manuals and books. A good Understanding of the English Languages is paramount
Mathematics — Knowledge of arithmetic, algebra, geometry, calculus, statistics, and their applications. Computer Programmers use knowledge of sets,trees,algebra when they designing the logical part of a program
Design — A Couple of times computer programmers are supposed to come up with wireframes / prototypes of their programs . The Wireframes consist of drawing the actual layouts of the program. The perfect application of the knowledge of design yields good User Interfaces for Programs
Customer and Personal Service — Knowledge of principles and processes for providing customer and personal services. This includes customer needs assessment, meeting quality standards for services, and evaluation of customer satisfaction.A couple of Computer Programmers work as freelance individuals so the knowledge of customer service is very paramount
Administration and Management — Knowledge of business and management principles involved in strategic planning, resource allocation, human resources modeling, leadership technique, production methods, and coordination of people and resources.A Couple of Computer Programmers Start Up Companies which they have to manage, the knowledge of Administration and Management is very paramount in this context
Analytical skills. Computer programmers must understand complex instructions in order to create computer code.
Concentration. Programmers must be able to work at a computer, writing lines of code for long periods of time.
Detail oriented. Computer programmers must closely examine the code they write because a small mistake can affect the entire computer program.
Troubleshooting skills. An important part of a programmer’s job is to check the code for errors and fix any they find.