Research Software Engineer (Machine Learning)
2018 - PRESENTGrammaTech- Accelerated research by designing data and ML pipeline infrastructures for analyzing “big code” in the domains of static and binary analysis.
- Cut computation costs by designing pupil-style ML models that learn from more complex models.
- Developed data analysis techniques for detecting swapped callback and error arguments in higher-order continuation-style functions in JavaScript.
- Supervised the development of a Doc2Vec-based model for use in a downstream feature extraction task, from prototyping and implementation to testing and hyperparameter tuning.
- Developed a novel technique in Word2Vec for determining synonymous identifiers in source code.
Technologies: JavaScript, GitLab, Docker, C++, MongoDB, Keras, TensorFlow, PythonSoftware Engineer I - III
2013 - 2020National Instruments- Was recognized for my top performance as attested by a “Rookie of the Year” award, several fast-track promotions, and being selected to lead a key project.
- Streamlined and standardized the firmware downloading architecture across several product families and multiple devices.
- Significantly enhanced the NI-DCPower and NI-DMM driver APIs for Windows by implementing 20+ features, several of which are prominently customer-facing.
- Drove the research and definition of several large-scale features and the driver API for a key product by working closely with project managers, hardware teams, and other stakeholders.
- Designed and implemented an internal-use programming language to streamline hardware/software integrations and enable richer product features.
- Implemented a client-server architecture that allows users to remotely control a NI-DCPower API driver session in order to enable introspection and debugging.
- Improved developer workflow efficiency by implementing a Sublime Text plugin to integrate Perforce.
- Created a VS Code extension to integrate NI’s custom build system with Microsoft’s C/C++ extension in order to enable semantic code completion and other features.
Technologies: Compiler Design, API Design, Firmware, Development, Windows, Visual Studio, Python, C++Web Developer
2012 - 2013CleanTelligent Software- Implemented the back end of a customizable report generation tool.
- Applied a new UI theme to several parts of the website.
- Optimized several database queries and storage layouts, including the file storage system for customer photos.
Technologies: Apache Struts 2, HTML, CSS, JavaScript, JSP, JavaSoftware Engineer Intern
2012 - 2012National Instruments- Enabled key driver features by designing a “storage map” abstraction that maps byte offsets and sizes on an onboard storage device to named data fields with types.
- Researched and presented on the pros and cons of various metadata schema formats and led a consensus meeting to choose the best one.
- Implemented a generation tool in Python that generates the C++ and LabVIEW code for the storage map abstraction from the metadata schema.
Technologies: LabVIEW, Ruby, C++, PythonWeb Developer
2011 - 2012CleanTelligent Software- Identified several UX inconsistencies across related features and documented and solved the bug reports.
- Expanded the functionality of key job scheduling features by adding additional queries in the backend and UI elements in the front end.
- Fixed 30+ other bugs across the front end and back end of the CleanTelligent website.
Technologies: JavaScript