top of page

My Experience

Roles & Responsibilities

Assistant Professor, Idaho State University

August 2018 - Present

  • Instructor Systems Analysis and Design, Introduction to Software Engineering, Introduction to Computer Programming (in C#), Computer Graphics, Software Testing and Formal Methods, and Advanced Object-Oriented Programming. My focus is to spread the joy of computer science while also aiming to show students the path towards becoming great software engineers.

  • Director of a research lab focused on Empirical Software Engineering.
    Having supervised 10 undergraduate students focusing on research in the areas of Software Language Engineering, Design Science, Extended Reality (using the Magic Leap and Unity) integrated with computational creativity, and machine learning applied to document analysis and automation of systematic mapping studies.

  • Director of the initial ISU Software Factory in the creation of an event scheduling software system. The team developed the application using Ruby on Rails from scratch to deployment and is currently in the process of refactoring the system to a SPA based on the React framework.

Instructor/Teaching Assistant, Montana State University

October 2011 - May 2018

  • Teaching Assistant for Joy and Beauty of Data course in fall 2017,
    covering two labs consisting of 51 students. I focused on helping students to understand the
    implementation of python code along with the intricacies of using the python data science libraries: NumPy, Scikit-learn, pandas, and matplotlib.

  • Instructor for Basic Data Structures and Algorithms Course over the
    summer of 2016, which included 12 students. Worked to improve student's critical thinking and problem-solving skills using test-driven assignments with clear goals while focusing on algorithm design and underlying concepts.

  • Instructor for Introduction to Java I course over the summer of 2015,
    which included 11 students. Integrated both traditional lectures, pair programming in-class assignments, and hands-on laboratory assignments.

Software Engineering Research Assistant, Montana State University

October 2011 - May 2018

  • Utilized data science methods to evaluate and compare quality models resulting in improved choice and understanding of software quality by clients as evidenced by the development of quality models based on industry and academic standards as well as a publication.

  • Setup collaboration between Montana State University Software Engineering Laboratory and Mississippi State University Software Engineering Laboratory to study the relationship between software quality models and Technical Debt, resulting in a publication at the 6th International Workshop on Technical Debt.

  • Implementation of an experimental pipeline to evaluate the effects of different coding and architectural issues on software product quality
    attributes as realized in multiple tools and research publications.

Software Quality Engineer, TechLink Center

October 2015 - October 2017

  • Point of contact between CERL/DLA, DoD Contractors, and TechLink to spearhead the continuous build process and automated analysis resulting in the automated build of 4 DLA software projects.

  • Initiated the Software Product Quality Control program using SonarQube as the basis for a Quality Modelling framework resulting in 3 plugins composed of 10 modules.

  • Designed and developed an approach to automate testing of traditional and web applications using a domain-specific language, Selenium UI, White, and Cucumber. This approach reduced team overall effort, increased overall productivity, and increased our reliability.

Lead Software Engineer

October 2009 - October 2015

  • Led the engineering team, consisting of 4 student engineers, in designing and developing the Network Exchange Objects modeling framework for ecosystem simulation resulting in a highly modular simulation environment with 85% test coverage and several publications.

  • Developed a visual domain-specific language for the construction of Network Exchange Objects model components resulting in the reduction in training and development time for novice and intermediate cross-discipline users.

  • Automated the build and analysis of the framework using Jenkins CI and SonarQube which resulted in a faster turn-around in the identification and remediation of technical debt and other quality issues.

Software Engineering Intern, RightNow Technologies, Inc.

May 2010 - October 2011

  • Developed a JavaScript unit testing framework for underlying Customer Portal API.

  • Reduced company liability and improved API maintainability and reliability.

Software Engineering Intern, Advanced Acoustic Concepts

May 2008 - May 2010

  • Implemented a web app using google web toolkit using a reflection based algorithm to handle multiple XML formats for shipboard maintenance data.

  • Provided basic statistical data analysis and charts to help sailors understand the effects of their maintenance programs and to help collect data and improve the overall maintenance program.

  • Contributed to the initiation of the development of a company-wide UI development guideline.

Software Engineering Intern, State of Montana Dept. of Livestock

January 2007 - September 2007

  • Worked on a Laboratory Information Management System for the Animal Sciences Lab.

  • Developed tests to validate system operation leading to the identification of issues and discrepancies between the test and production databases.

My Experience: Experience
bottom of page