Duties and Responsibilities:
Determines, analyzes, and develops requirements for software systems through interpreting standards, specifications and user needs as a system analyst. Determines, designs, and develops data requirements, database structure, process flow, systematic procedures, algorithms, and file structures to implement and maintain software systems using software engineering techniques. Works with systems using software methodologies such as distributed processing, systems networking, advanced information storage and retrieval, and management techniques. Determines and recommends the most reasonable approach in designing new systems or modifying existing systems. Applies directives and security techniques for operating systems, application software, files and databases to preclude unauthorized access to sensitive information, or misuse of communicationcomputer resources. Develops and maintains system specifications. Conducts and participates in system reviews and technical interchanges. Explores commercial-off-the shelf options to satisfy user requirements. Selects appropriate software development tools.
Translates system specifications and requirements into program code and database structures, implements designed functionality as software coders. Analyzes output products and debugs source code to isolate and correct errors in program logic, syntax, and data entry, and to ensure accuracy and efficiency. Conducts code reviews and unit-level testing. Develops and maintains unit-level test plans. Arranges test data and routines. Modifies existing programs to correct program errors or modifies existing functionally or interface. Prepares system graphical descriptions, standard language statements, workload data, and present and proposed cost. Develops and maintains documentation such as program maintenance manuals and operational guides. Implements security techniques designed to preclude unauthorized access to computer data and to reduce computing resource misuse.
Designs, develops, maintains, and executes test plans for formal qualification testing, system integration testing, regression testing and verification, validation and acceptance testing as software testers. Conducts test events. Analyzes software system requirements documents. Develops and maintains test data. Performs analysis of test data, determines test results and develops test reports. Makes recommendations to release authorities concerning verifiability, validity, conformance, and interoperability of software systems.
Designs, develops, maintains, and executes processes to manage software or database components, specifications, test plans, procedures and results, and revision history applicable to a software system to ensure systems in use meet user requirements as software configuration managers. Controls software components at all times to ensure availability and stability of documented baselines. Prepares and manages processes for reporting deficiencies and requesting changes to software components or systems. Manages change packages through analysis and development efforts ensuring testing is performed and documentation is created or updated as required. Conducts reviews of proposed change packages by the user community and control authorities. Prioritizes deficiency reports and change requests using guidance from the user community and control authorities. Prepares and maintains software system baseline documentation and procedures. Prepares, packages, and documents deliverable products.
As software project manager interacts with and provides oversight for software system developers and maintainers. Develops and prepares system requirements and proposals. Analyzes requests for information. Prepares documentation of proposal specifications and programs. Organizes system study teams and conducts briefings. Conducts and participates in design reviews and technical interchanges between developers and user representatives. Plans, conducts and reports on the results of system acceptance tests. Manages or participates in the contract management, software quality assurance, or quality assurance evaluation process.

