I am an experienced software and research professional having spent years in industry and academia.
I am skilled in C/C++, Java, Python, R, Matlab/Octave, and SQL programming and have experience with
I have a strong interest in parallel computing and enjoy spending time building small clusters from SoCs and old computers to run and test parallel algorithms. My interest in computing coupled with my passion and experience in mathematics draw me to research in compuational mathematics such as Computational Fluid Dynamics, Data Sceince, Machine Learning, Numerical Methods, and Combinatorics and to professional fields where I can best apply my talents, abilities, and knowledge.
Developed and maintianed STT's trading engine and the corresponding client and clearing house facing interoperability. Also created custom developer tooling in Python to work with STT's APIs and interface with non-C++ applications.
Developed and maintained NISC's Subscriber Information System (SIS). In particular I worked on the application's marketing, rating and billing, payment processing, reporting, credit and collections, and cooperative management functionalities. I became largely responsible for the continued development and maintenance of NISC's marketing project while still developing my knowledge of other billing and reporting functionalities.
Developed parallel implementations of a novel algorithm for building more optimal classification and regression trees using the C++ and Python programming languages. Assisted in the analysis of datasets to determine when the algorithm will outperform CART's greedy splitting decisions. Took responsibility of presenting the work to SPAWAR who supported the research.
Worked on a team formed to analyze student data and determine factors leading to success in mathematics during a student's first few years of college. This analysis was presented to the South Dakota State legislature to help secure departmental funding for various mathematical programs.
Worked as a software consultant/freelancer developing innovative solutions in a variety of industries. Took responsibility for the completion and correctness of all software delivered to my clients. Developed projects ranging from hundreds of lines of code to tens of thousands in languages including Python, C++, and Java as well as some web languages.
Learned new languages, technologies, and business practices while developing back-end telecommunications billing applications in an Agile/SCRUM environment. Was part of a small team working to innovate CHR's newest addition to their billing software suite.
Caudle, K., Pyeatt, L., Morast, A., Karlsson, C., Hoover, R. C. (2019). Building a Better Decision Tree by Delaying the Split Decision. Proceedings of the 2019 3rd International Conference on Compute and Data Analysis - ICCDA 2019. doi:10.1145/3314545.3314548
I think it is vastly important to give back to communities that have supported
you or to projects you find important or interesting. As a software engineer, one of the ways I
can give back is to contribute to open source projects (with the added benefit of growth and enjoyment).
Contributions to OSS help me to develop programming skills while also assisting in providing necessary
products that might otherwise not exist or which have commerical counterparts that are
inaccessible to many.
Below is a list of some of the OSS projects that I have either contributed to or use and am interested in contributing to but have not yet found the opportunity.