Programmer analysts work at various organizations. They design, code, and test new programs. They must document programs that they write. Documentation should include flowcharts, layouts, diagrams, charts, code comments, and revision dates. They debug, troubleshoot, and maintain source code related to various computer programs. Programmer analysts may also be required to customize computer programs that were bought from vendors to meet their organization’s specific needs. They must know computer algorithms, formal logic, and application domain. They may be required to work with vendors, in order to test and approve their products.
They must usually have a bachelor's degree in computer science, information technology, or other relevant fields. They must have previous work experience in their field. Computer programmers must have thorough knowledge of Java/Java EE, C, C++, C#, .NET, Java Script, and other programming languages. Some companies may accept candidates with significant years of experience in lieu of a bachelor's degree requirement. They must have excellent oral and written communications skills.
They must adhere to confidentiality rules related to system access, data access, and security rules. They must be able to work independently with minimal or no supervision and as part of the team. They must keep themselves up to date with various new computer technology and programming languages that are available in the marketplace. They may have to travel to vendors' or clients' offices. They may be required to attend relevant classes, workshops, or conferences. They may be required to coach new or more junior programmer analysts.
Programmer Analyst Tasks
Write code to create single-threaded or user interface event driven applications, either stand-alone and those which access servers or services.
Design, implement, and test database schemas.
Use source debuggers and visual development environments.
Work with with designers and content producers.
Write code to generate web pages, access databases and business logic servers.