A computer programmer analyst specializes in the design and testing of software and other computer systems. As a computer programmer analyst, your job duties include assessing, maintaining, or improving existing programs, and working with other analysts to develop new applications. You contribute to the analysis that goes into the initial design of a new program and then take those findings and put them into practice. You are responsible for maintaining careful documentation of the process so other members of the design or testing teams can know where to look for issues before the program is released.