Develops or selects, integrates, and transitions software technology.
- Compares benefits and limitations of open source software with vendor-developed software.
- Evaluates software quality and applicability in testing software capabilities.
- Knows and considers available off-the-shelf software to make `build or buy? decisions.
- Monitors software configuration changes to anticipate and address the impact of data reliability and customer satisfaction issues.
- Tests, debugs, and maintains detailed instructions (programs) for computers to follow and ensure performance of their intended functions.
- Conceives, designs, and tests logical structures for solving problems by computer.
- Maintains an awareness of the different programming languages used based on the purpose of the program, individual focus and area supported (e.g., specialist, generalist), and the organization.
- Understands existing and emerging technologies and their applicability in the software implementation environment [e.g., vendor or open source, Service Oriented Architectures (SOA)].
- Adopts and applies systems engineering perspectives and processes to software development.
Developmental opportunities for this competency are available from the NIH Training Center.