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.