Port Huron, Michigan, United States
1841, 1881. My first experience with an edge case drove me absolutely mad, and yet, gave rise to an unparalleled passion and love. The satisfaction that comes from a breakthrough after hours of struggling and confusion is one of the driving forces in my work, which requires me to be constantly on the brink of my own knowledge. In undergrad at the University of Michigan, I rediscovered this feeling in discrete math, which led me down a computer science theory rabbit hole where I reveled in the foundations of computer science, computational complexity, and algorithms. I further pursued this in graduate school at the UT Austin with courses in optimization and automated logical reasoning where I worked on a SAT solver using Conflict Driven Clausal Learning, and Formal Verification with Dafny. When I began at KLA, I found the opportunity to exercise an entire new software muscle group. I designed and implemented a client-server architecture that connected two disparate pieces of software and increased the usability for process engineers. Throughout the development process, I picked up skills in containerized development, cross platform C++ development, designing for HPC interoperability, as well as modern web-based frameworks and deployment strategies. Most recently, I've gained practical experience interfacing with parallel systems by working with CUDA (parallelized K-Means Clustering), Rust (transactions), and MPI (n-body simulation). I have also worked on a small compiler, KVM based hypervisor, and have gained hundreds of hours working in numerous Linux distros (including my own personal servers). I think you'll find me to be a particularly adept learner, and a positive person with an unending hunger for knowledge. I am grateful that my work and my fun are essentially one in the same. If you are wondering about the 1841/1881 edge case, see my Presidents Project below.
- Extended an existing C++/Qt GUI to support new API-driven job submissions. - Orchestrated job execution across HPC schedulers by interfacing with cluster management systems and integrating robust job monitoring and operational control. - Presented new features to stakeholders, gathering feedback and iterating on improvements to meet customer requirements. - Mentored for summer intern working on CUDA accelerated simulator
- Designed a resilient client-server architecture for etching simulator software. - Implemented a FastAPI server to replace a legacy command-line process, reducing complexity and improving user workflow efficiency.
- Assisted students with computer programming concepts including data structures, algorithms, and object oriented programming - Guided students through complex projects primarily in Java with emphasis on approaches to problem solving