Both the systems analyst and the computer programmer play key roles in the building of an IS for an organization. The skills needed and the roles that are carried out by the two professions differ quite a bit. The systems analyst has to have a variety of skills to do their job to a high standard while the programmer does not have to have as many skills. The systems analyst role requires a working knowledge in many information technologies, such as networking, database programming and software and application development, business knowledge, analytical skills, communication skills and ethics. A systems analyst needs to have knowledge of both the business and of information technologies so the they can best match the businesses needs with the IS. A computer programmer does not need to have all these skills. A computer programmer has to be able to program through using programming languages such as Java, C and C++. It would be advantageous for the programmer to have other skills that may include the ones I have listed above but they are not absolutely necessary to carry out the role of a programmer.