Streaming Media

Abstract

Software engineering can support and accelerate your research by:

  • Protecting and preserving your code for the Center and its sponsors (who pay for it!);
  • Ensuring that your algorithms and analyses are “correct” (or least behave as you expect them to);
  • Making it easier for you and others to understand your code.
  • Facilitating code sharing;
  • Helping to make your code easier to maintain;
  • Protecting against accidental erasure, disc crashes, bad updates, etc.; and
  • Providing a firm foundation for optimizing your code without breaking it.

In this seminar, we’ll discuss the following software engineering tools and practices:

  • Integrated Development Environments (IDEs);
  • Version control;
  • Automated testing;
  • Code quality;
  • Dependency management and software packaging;
  • Automated security scanning;
  • Continuous Integration/Continuous Deployment (CI/CD); and
  • Open Source Software licenses.

Presenter Bio

Brian Miles is trained as a software engineer and physical geographer. His Ph.D. research focused on ecohydrology modeling in urbanized and forested watersheds; this work included tools to support reproducible ingest and transformation geospatial data, as well as model calibration and uncertainty estimation using HPC resources. He has current and prior experience in software engineering, Internet of Things (IoT), environmental monitoring, geospatial data storage and analysis, and managing SAFe Agile teams. His professional interests include developing workflows for reproducible analyses.

Dr. Miles is currently focused on translating research codes and algorithms into deployable software artifacts supported by robust documentation, automated testing, continuous integration and deployment, observability, fault tolerance, and scalability.

Publication Date

9-9-2022

Document Type

Presentation

Share

COinS