Profile
Passionate software developer with 15+ years of experience across a wide variety of development areas. Current specialties include DICOM image management, cross-platform Python, and web application development.
Experience

Senior Analyst Programmer

2010 to Present at Mayo Clinic, Rochester, MN

  • Researched, architected, implemented and extended the next-generation research data (DICOM, NIFTI) store using XNAT open source web application — currently used for three FDA drug studies and multiple natural aging studies. (Java, JavaScript, HTML, CSS, XML, XSD, PostgreSQL, Tomcat, Linux, Spring, Maven)
  • Responsible for investigation, design, and implementation of changes needed for FDA CFR 21 Part 11 compliance.
  • Implemented GUI for an in-house MRI image viewer and analysis tool, streamlining the tracking of medical findings across longitudinal studies. (Matlab, XML, REST)
  • Gathered requirements, designed and implemented multiple cross-platform GUIs for medical image analysis. (Python, wxWidgets)
  • Design and implementation of next-generation MRI image assessment workflow for paid image quality assessments. (Bash, Python, Matlab, DICOM, NIFTI, REST)
  • Implemented work management system through a ticket tracking platform. (Trac, Python, Bash)
  • Documented standard operating procedures for audit compliance.
  • Reorganized, simplified, and standardized source code control to allow multiple instances to run concurrently with simple install procedures. (SVN, Bash, Git, Mercurial)
  • Maintain and contribute to open source project pyXnat (Python).
  • Optimized reports from Perl to SQL for speed and accuracy. (PostgreSQL, Python, Bash)

Senior Software Engineer

2003 to 2010 at Vision Solutions, Rochester, MN

  • Implemented standards, tools, and documentation for creating portlets that match company strategy.
  • Developed theme for, and customized, Jetspeed 2.2 Portal for strategic interface platform. (HTML, CSS, JavaScript)
  • Developed example portlets using selected technologies for other departments to build on. (Spring, Maven, Java, jQuery)
  • Maintained, designed, and extended a Spring-based web application for installation of MIMIX HA1. (Spring, Swing, Java)
  • Re-architected database schemas for Spring-based web application to improve performance. (DB2)
  • Audited previously designed web applications for performance gains.
  • Assisted in design, maintenance, and extension of a Servlet-based web application for management of MIMIX HA1. (Spring, Maven, Java, taconite.js, prototype.js)
  • Spearheaded move from non-OOD to OOD for web development.
  • Created, maintained, and presented training materials for multiple projects.
  • Mediated conflicts between disparate departments and participated in user interaction testing.
  • Developed rich client interface for disaster recovery software using Swing UI toolkit. (Spring, Swing, Java)
  • Provided direct support to customers on software product problems.

Team Leader / Developer

2000 to 2003 at Winona State University, Winona, MN

  • Managed a team of 3–7 students ensuring deadlines were kept and requirements met.
  • Designed, developed, and tested several medium-sized Java projects in a team environment for a large Rochester company.
  • Architected and developed an HTML parser and HTML file compare tool.
  • Architected and developed a test platform language.
  • Managed and participated in the porting of a large Unix GUI application to Windows.
  • Ported multiple programs and languages to the iSeries (i5) PASE environment.
  • Acted as primary client contact.

Education

Bachelor of Science in Computer Science (Cum Laude)

Winona State University, Winona, MN

Skills
Languages
  • Python
  • Java
  • JavaScript
  • Bash
  • SQL
  • HTML / CSS
  • XML / XSD
  • Matlab
  • Perl
  • C / C++
  • Velocity
Tools & Frameworks
  • Spring / Spring MVC
  • Maven / ANT
  • jQuery
  • wxWidgets
  • Hibernate
  • DCMTK
  • Git / Mercurial / SVN
  • PostgreSQL
  • MySQL / DB2
  • Tomcat
  • Jira / Confluence
  • Trac
Platforms
  • Linux
  • Mac OS X
  • Windows
  • OS/400 (i5)
Methodologies & Abilities
  • Object Oriented Design
  • Test-driven Development
  • Agile / XP
  • AJAX
  • GUI Design
  • Project Management
  • Regulation Compliance
  • Conflict Resolution