Chief Technology Officer
RabbleTV, Nashville, TN
02/2014 – present
RabbleTV is a streaming audio platform that allows sports fans, TV enthusiasts, and podcasters to engage their audiences in real time.
As CTO, I'm in charge of our infrastructure/configuration/performance, data models and service APIs, and integrating various clients (web/iOS/Android). I also manage external points of integration (real time sports and television data) and evaluation of new technology to extend the platform.
We use microservices to deliver a highly performant and scalable platform. NodeJS and MongoDB do the heavy lifting, but we also utilize many custom components and several other databases (Redis/Neo4J). Our server infrastructure is a mix of physical servers (predominantly for our streaming media) and virtualized servers for our application layers.
The development methodology we use is Agile and test driven development.
Health Systems Software Engineer III - Informatics
Vanderbilt University Medical Center, Nashville, TN
09/2012 – 02/2014
Worked with integrating and transforming lab messages (HL7) and relevant portions of the Vanderbilt Electronic Health Record into compelling web/mobile experiences for external partners and clients.
Integration work required me to interact with a lot of different technologies, but the typical stack was JMS for messaging, Java with Guice and/or Spring for Dependency Injection, JPA for data persistence with Oracle, a RESTful service layer, and Bootstrap/JQuery/Angular for UI clients.
The development methodologies used were Agile and test driven development.
Software Developer - MIS
Vanderbilt University, Nashville, TN
09/2008 – 09/2012
Built custom web applications to expose registration, course scheduling, grading, and transcript functionality to University students and faculty.
Student data at a university that's existed for 100+ years may span several generations of systems (Legacy/Data Warehouse/PeopleSoft Campus Solutions). I worked in a team that created SOAP based web services (contract first) using Spring and Java to aggregate this data and expose it with Struts2 web applications.
MIS is an Extreme Programming shop that uses pair programming and test driven development extensively.
Lead Software Developer - Internet Development
St. Jude Children's Research Hospital, Memphis, TN
05/2006 - 09/2008
Lead the development of Java web applications for Intranet efforts, such as resource scheduling and conference/seminar management.
Worked within a cross organizational team to implement and extend the Vignette Content Management System for the public Internet site for St. Jude Children's Research Hospital and ALSAC.