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