Skip to main content

This is a collection of details relating to my industry experience. This specific section is more detailed than the one shown on my homepage, mostly to allow for a more detailed dive-in into some of the tasks I was able to participate in. 

AtriCure Inc.

Engineering Co-op

During my time working at AtriCure Inc., I've been an Engineering Co-op developing and debugging safety-critical embedded software for IEC 62304 Class B medical devices deployed in operating rooms, working across STM32F7 and i.MX 8M Plus system-on-chip modules written in Rust, C++, Python, and JavaScript.

AtriCure as a whole has over 1,000 employees company-wide, and the office I work out of in Minnetonka has at least 8 engineers. I work alongside a Mechanical Engineering Co-op, and partway through my tenure a second Software Co-op joined the team; I helped onboard him. I report to our Senior R&D Manager and work most closely, day to day, with a Senior Principal Software Engineer. I previously worked alongside a full-time Software Engineer II, who has since moved on, and I also interface with contractors as needed.

As a leading provider of innovative technologies for the treatment of Atrial Fibrillation (Afib) and related conditions, electrophysiologists, cardiothoracic and thoracic surgeons around the globe count on AtriCure to deliver best-in-class solutions that can treat even the most complex cases. Our Isolator® Synergy™ Ablation System is the first medical device to receive FDA approval for the treatment of persistent Afib, our AtriClip® Left Atrial Appendage Exclusion System products are the most widely sold LAA management devices worldwide, and our Hybrid AF™ Therapy provides a minimally invasive, lasting solution for long-standing persistent Afib patients. AtriCure invests heavily in innovation, clinical science, and education to keep improving lives for patients worldwide.

Unlike my previous internship, this role does not follow Agile or Scrum. It is a more informal meeting environment that comes with a high degree of coding freedom, matched by an equal degree of responsibility given the FDA regulatory context we operate under.

As of writing, I have completed more than 50 tasks across the codebase. Given the confidentiality requirements of working on a regulated medical device, here is a deliberately general overview of some of what I have worked on:


    • Built an internal tool that automatically syncs scripts across multiple targets based on updates to a centralized table, cutting down development time by 80-90%
    • Refactored the internal audio queue system
    • Implemented external human interface device (HID) compatibility
    • Added custom display refresh rate configurations
    • Contributed USB cybersecurity changes to the base operating system via the Yocto Project, and helped organize the process for updating that OS out in the field
    • Helped onboard our newest Software Co-op


Tools and services I have used throughout this role include Jenkins and Azure DevOps for CI/CD, STM32CubeIDE, and the Yocto Project, in service of writing and shipping Rust, C++, Python, and JavaScript across our SoC targets.

National Checking Company

Software Development Intern

During my time working at the National Checking Company (NCCO), I was a Software Development Intern working alongisde the Always Food Safe (AFS) team to bring improvements to our Learning Management System (LMS) platform.

NCCO as a whole has around 51-200 employees company-wide, and the office I worked at has 6-13 employees, and I was one of 3 interns company-wide, and the only intern at the office. NCCO is a 150-yo company whose purpose and passion is to "create simple and relevant solutions to seemingly irrelevant and often unrealized problems".

My LMS team has a Software Engineering Manager, two Senior Software Engineers, and a Software Engineer. During my internship, one of the Senior Engineers and the Software Engineer made themselves available to mentor me and answer any questions that arose.

Utilizing Visual Studio, Azure DevOps, Wrike, Microsoft Teams and Outlook, we were able to organize our work efforts and collaborate towards development, utilizing languages/frameworks such as ASP.NET, C#, JavaScript, jQuery, Transact-SQL, and HTML+CSS.

In addition, we were able to outline plans through various meetings based on the Scrum framework. I was able to provide valuable feedback and inputs throughout our sprint planning, refinement, stand-ups, retrospective, triage, and other meetings.

As of writing, I worked on around 15 different projects inside AFS, all approaching different aspects of our LMS. Keeping details as vague but as detailed as possible (no NDA breaches here!), here are some of the elements I worked on:


    • Improved file uploads and implemented file restrictions
    • Added/fixed localizations across multiple services
    • API scalability improvements
    • Technological debt work
    • New feature additions to multiple aspects of LMS + QOL improvements to:
        • Admin functionalities (such as user & organization management, exam + exam session informations)
        • User experience (such as saving progress inside courses, understanding mistakes in practice exams, localizing dates)


Some of the concepts I've been able to utilize throughout my time was OIDC protocols, RDBMSs and embedded trees, CRON jobs, REST, LINQ, and others.

In total, across more than ten pull requests, I programmed over two-thousand lines of peer-reviewed code and worked on approximately 50 story points.