TA Spotlight: Eric Pan

Eric Pan

Eric Pan is a TA for CS 6440: Intro to Health Informatics. Keep reading to learn more about Eric!

What do you do professionally?

I am currently a Senior Software Engineer at Canvas Medical which is an EMR startup focused on enabling innovation through developer-clinician collaboration. My work primarily focuses on data interoperability which is the ability to syntactically and semantically exchange data between entities (e.g. payers, hospitals/clinics, patients, etc.). The primary standard I work with is called FHIR (Fast Healthcare Interoperability Resources) which abstracts and standardizes essentially all healthcare concepts into a unified and well-defined data model and API specification. This is really exciting for U.S. healthcare since it has been notoriously hard to access personal health data quickly and securely, and the current standardization efforts with FHIR can open a floodgate of new and innovative opportunities for developers. If you're interested to learn more, we cover FHIR in CS6440 and I'm also happy to chat about the industry and course in general!

Why do you TA for OMSCS?

I'm a current TA for CS6440 (Intro to Health Informatics), and I TA because I genuinely enjoy teaching. It's incredibly gratifying helping a student/peer whether it be through debugging a tricky technical problem, scoping projects to optimize learning, and/or providing my subjective (and hopefully helpful) take on career paths and opportunities. It's also nice to be able to contribute back to the OMSCS program as there have been numerous TAs, professors, and other teaching staff members that contributed to making my OMSCS experience awesome. Later in my career, I hope to become an adjunct professor and spend most of my retirement lecturing about interesting stuff.

What is your advice for future OMSCS students?

Understand your ideal outcome and measure your progress against yourself. Everyone has their personal/professional reasons for joining the program - for me, OMSCS helped me solidify my CS fundamentals and transition into software development. For others, it may just be for the sake of learning CS topics in an academic setting, to get a credential needed for future career goals, to network with students/teaching staff, etc. Whatever your reason(s), reflecting and understanding them well can help a lot when the coursework gets intense. Understanding your "why" and what you're working towards can help pull you through the rough patches like, as an arbitrary example, turning in an assignment at 3am Monday morning on Canvas (and then getting to work after what amounts to a long nap). The program itself is non-trivially difficult, though knowing that you're making progress towards your personal goals is very satisfying, and it's nice to know that there are many others in the program that share similar goals and are here to support them!

What is your preferred programming language?

Python for general-purpose usage and Rust for systems-level programming. Both languages prioritize developer usability which is something I really value. Both ecosystems are robust and friendly with Rust being a relative newcomer to the "production-grade software" world. Everyone loves gushing over Python (as do I), though I find Rust especially compelling since it allows programmers to write fast, memory-safe code with a lot of modern tooling including a really helpful compiler. Rust also introduces the concept of default memory ownership so it can run without needing a garbage compiler. I think the thing that excited me the most about Rust was being able to get close to the performance of C without ever having the worry about a bad malloc call that future Eric would've had no problem coding (and even-further-into-the-future Eric would've lamented debugging...).