Skills Required: The Programmer will possess knowledge and experience in applications software development principles and methods sufficient to participate in the design, development, testing and implementation of new or modified applications software; operating systems installation and configuration procedures; organization's operational environment; software design principles, methods and approaches; principles, methods and procedures for designing, developing, optimizing and integrating new and/or reusable systems components; pertinent government regulations; infrastructure requirements, such as bandwidth and server sizing; database management principles and methodologies, including data structures, data modeling, data warehousing and transaction processing; functionality and operability of the current operating environment; systems engineering concepts and factors such as structured design, supportability, survivability, reliability, scalability and maintainability; optimization concepts and methods; establish and maintain cooperative working relationships with those contacted in the course of the work; and speak and write effectively and prepare effective reports. The Programmer, in development of applications software, is responsible for analyzing and refining systems requirements; translating systems requirements into applications prototypes; planning and designing systems architecture; writing, debugging and maintaining code; determining and designing applications architecture; determining output media/formats; designing user interfaces; working with customers to test applications; assuring software and systems quality and functionality; integrating hardware and software components; writing and maintaining program documentation; evaluating new applications software technologies; and/or ensuring the rigorous application of information security/information assurance policies, principles and practices to the delivery of application software services.