A Senior Programmer is responsible for leading and/or working on the most complex IT applications design, documentation, development, modification, testing, installation, implementation and support of new or existing applications software. This classification may also plan, install, configure, test, implement and manage a systems environment in support of an organizations IT architecture and business needs. Common organizational or functional industry position titles for programmers include but are not limited to programmer analyst, applications developer, software engineer, software developer, software quality assurance specialist, systems programmer, systems software programmer, database administrators, computer systems analysts, systems engineer, systems software engineer. The Senior 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. The Senior Programmer, in development of operating systems, is responsible for analyzing systems requirements in response to business requirements, risks and costs; evaluating, selecting, verifying and validating the systems software environment; evaluating, selecting and installing compilers, assemblers and utilities; integrating hardware and software components within the systems environment; monitoring and fine-tuning performance of the systems environment; evaluating new systems engineering technologies and their effect on the operating environment; and/or ensuring that information security/information assurance policies, principles and practices are an integral element of the operating environment.
The Senior 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; organizations 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.
This classification must have a minimum of seven (7) years of experience in electronic data processing systems study, design, and programming. At least four (4) years of that experience must have been in a lead capacity.
This classification requires the possession of a bachelors degree in an IT-related or Engineering field. Additional qualifying experience may be substituted for the required education on a year-for-year basis.