With over two years of experience at Sterling Trading Tech and nine years in software engineering, I specialize in developing optimal, integrated, and highly performant systems. I am dedicated to integrating cutting-edge programming techniques that align with Sterling's commitment to delivering robust financial technology solutions. My goal is to contribute diverse perspectives and foster collaborative development for technological excellence.
With a background spanning industry and academia, I possess expertise in C/C++, Java, Python, R, Matlab/Octave, and SQL programming, as well as familiarity with web technologies (HTML, CSS, JavaScript, PHP). My interests in parallel computing drive me to explore and build clusters for testing parallel algorithms. Passionate about applying my skills in computational mathematics, including Computational Fluid Dynamics, Data Science, Machine Learning, Numerical Methods, and Combinatorics, I seek professional opportunities where I can make meaningful contributions.
GPA: 4.00
Operated in a dynamic and fast-paced environment, contributing to the development of Sterling's rapidly expanding order management system. Implemented innovative features such as order preview functionality, percentage-based order routing, and TIMS and Regulation T margin capabilities, in addition to numerous enhancements to the C++ codebase. Led the initiative to incorporate Python for noncritical applications, utilizing Google Protocol Buffers over Kafka and TCP for interprocess communication. Established the team's initial Conan packages and configured the Artifactory server for effective C++ package management.
ntrinsically.com is a comprehensive stock market fundamental research platform. Its objective is to consolidate essential and unique research tools from various sources into a single, user-friendly website. The platform is developed using React and Node.js and leverages FMP Cloud as its data provider.
Developed and maintained NISC's Subscriber Information System (SIS), focusing on the application's marketing, rating and billing, payment processing, reporting, credit and collections, and cooperative management functionalities. I assumed significant responsibility for the ongoing development and maintenance of NISC's marketing project while concurrently enhancing my expertise in 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.
Collaborated with a team to analyze student data and identify factors contributing to success in mathematics during the initial years of college. Presented the findings to the South Dakota State Legislature, aiding in securing departmental funding for various mathematical programs.
Worked as a software consultant and freelancer, developing innovative solutions across diverse industries. Ensured the completion and accuracy of all software delivered to clients. Developed projects ranging from hundreds to tens of thousands of lines of code in Python, C++, and Java, as well as various web languages.
During my tenure at CHR Solutions, I have designed and implemented multiple tools integral to their billing software using .NET languages primarily in Visual Studio, with a focus on C#. Additionally, I undertook the responsibility of modernizing legacy VB6 codebases by migrating them to contemporary languages, predominantly C#. This included developing standardized templates to guide future developers in similar migration efforts. At CHR Solutions, we adhered to Agile methodologies, conducting weekly and bi-weekly scrum meetings. As a member of a dedicated team, I contributed to innovating CHR's latest enhancements 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.