Developers are also called coders and programmers. They primary
responsibility is to convert the specification from SAs into actual
programs written in one or more computer programming languages.
Why don't the SAs write their own programs?
Programming (software development) is a process that requires some special
talents and skills. Although a SA may understand the logic of a program
from a high level, it does not necessarily mean that the same person
can develop a program.
There are several major challenges in program development.
- Programming language syntax (grammar).
Although most high level programming
languages are designed to be easy, they are still very specialized.
Most programming languages do not resemble natural languages
(for good reasons, however), which makes them difficult to learn
for some people. In addition, the syntax of most programming
languages must be exact. Any deviation causes a program not to
function.
- Programming logic. A SA works with high level logic that can
easily be represented by diagrams. However, at a program level,
a developer needs to pay close attention to details, lots of them.
Programming requires extended periods of highly focused attention
to logic. This requirement often conflicts with the ``other duties''
of a SA. In addition, not everyone has the ability to stay focused
for hours at a time.
- Debugging. Most programs do not work right the first time. Software
development is an iterative (repetitive) process that involves
thinking, coding, testing, debugging (and back to thinking).
Diagnosing faulty programs can take up much of the work hours
of a developer. The task of diagnosing faulty code requires
long periods of focus, an analytical mind, and a temperament
that stays calm after repeated failure to locate problems.
This ``debugging'' task is what separates developers from
non-developers.
Copyright © 2006-09-05 by Tak Auyeung