Software Engineering and Development

Develops or selects, integrates, and transitions software technology.

Key Behaviors
  • Tests, debugs, and maintains detailed instructions (programs) for computers to follow and ensure performance of their intended functions.
  • 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.
  • 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.
  • Compares benefits and limitations of open source software with vendor-developed software.
  • 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.

What was the best thing about this page?
What was the worst thing about this page?
Do not include personally identifiable information (PII). Please review our privacy policy.

Can we make this page better?

Let us know if you can't find the information you need, have a suggestion for improving this page, or found an error.

If your question requires an immediate response, please use the Contact Us form.

Do not include personally identifiable information (PII). Please review our privacy policy.