Staff Back-end Software Engineer
2021 - PRESENTPlotly Technologies- Led a team of five to develop the back end and supporting architecture for Plotly's flagship product https://plotly.com/dash/.
- Architected a fault-tolerant, event-driven system using Kafka, Kubernetes, and CockroachDB.
- Built a fast and reliable GraphQL API that allows users to easily scale their data science and ML dashboards with a click of a button.
- Assisted the product owner to narrow requirements to balance building the product quickly while ensuring a solid foundation for future development.
Technologies: Apache Kafka, CockroachDB, PostgreSQL, GraphQL, Kubernetes, APIs, Amazon Web Services (AWS), Next.js, NestJS, Node.js, React, Helm, Leadership, Architecture, Software Architecture, CircleCI, WebSockets, CI/CD Pipelines, Webpack, NPMCEO
2019 - PRESENTHyperion Data- Developed a Vue.js web app used by thousands of volunteers across the country for the annual Point In Time (PIT) count.
- Created a Vue.js web app for monitoring the point in time count where administrators can see the data coming in real-time, contacted volunteers, cleaned up data, and exported it to various formats.
- Spoke to non-profits across the country to identify standard practices for the Point In Time (PIT) count.
- Built a Go Web API and back-end functions in TypeScript.
- Collaborated with and managed a contractor to speed up development.
Technologies: Vue, Vuex, Firebase, Cloud Firestore, Go, OpenLayers, Git, TypeScript, GeoJSON, Node.js, JavaScript, REST APIs, APIs, Cloud, DevOps, Netlify, Front-end, HTML5, CSS3, User Experience (UX)Individual Contributor
2018 - PRESENTFreelance- Added additional refactoring capability to Nicoespeon and Abracadabra, a JavaScript and TypeScript refactoring VSCode plugin.
- Fixed a bug in Microsoft and TypeScript (some valid refactorings weren't being recognized).
- Added minor functionality to multi-organization Material-UI, one of the most common UI frameworks for React.
- Identified, reported, and diagnosed a bug in HuggingFace tokenizers - a machine learning library written in Rust and Python.
Technologies: TypeScript, React, JavaScript, Rust, Python 3Senior Application Developer
2018 - 2019Ultimate Medical Academy- Identified a pain point (it was difficult to see what data was available, where it was available from, and to manage to query it from different sources), suggested a solution (GraphQL), built an MVP, and shepherded it into mainstream use.
- Served as the developer representative for the architecture team, suggesting broad improvements to the way we were doing things.
- Developed a dynamic rules engine to flexibly and transparently control scheduling outreach to students.
- Introduced unit tests, integration tests, and load testing to a company that desperately needed those ideas.
- Designed and built multiple web service APIs (some by myself, some with others).
- Contributed to the development of an Angular web app to streamline the enrollment process for students.
Technologies: Angular, C#, .NET Core, Azure, SQL, GraphQL, Git, APIs, REST APIs, Cloud, DevOpsSoftware Engineer II
2015 - 2018Accusoft- Standardized the process for handling support requests across five SDK teams.
- Standardized the Git and CI/CD processes across five SDK teams.
- Designed and architected a major new feature (programmatic comparison of PDF files).
- Served as scrum master for a team of five and interfaced with other scrum masters to keep the teams aligned.
- Added functionality to support PDF/A and Acroforms in the PDF imaging library.
Technologies: C#, C++, SDKs, Digital Imaging, GitLab, Jenkins, Agile Software Development