Career Profile
A scientific data engineer and systems manager with more than 20 years of experience in Brain Imaging Research Data Management, Processing, Analysis, Software Development and Computing Systems Management.
Experiences
Develop data management plans and create custom code to download, clean, process, store, combine, analyze, visualize, and archive large clinical and research data sets. Establish methods and protocols to ensure data integrity and quality assurance. Collaborate across multiple active research projects within cross-functional teams that include diagnostic imaging personnel, faculty researchers, and students. Train researchers and students in technical skills, laboratory protocols, data organization, and data analysis software. Contribute to scientific presentations and peer-reviewed publications. Design and manage data warehousing solutions, including multiple 100TB Linux servers, 10+ Linux/Mac workstations. Install and update firmware/software, hardware; create user accounts, manage backups, set up and maintain NFS/Samba shared filesystem; install and manage network router, SFP+/Gbe switch, and printers; trouble-shoot software, hardware, and networking problems; learn, test, develop and implement new software solutions as needed.
- Python, Bash, Matlab, C/C++, Git, Docker, Singularity, Slurm, HPC, SQL
- FSL, ANTs, FreeSurfer, AFNI, SPM12, fMRIPrep, MRIQC, QSIPrep
Using Python and Matlab, developed various independent project-specific software applications for presenting visual stimuli and collecting physiological, keyboard, grip force, and other responses. Programmed various signal-analysis applications for kinesiology and psychology research including lift-force dynamics, 3D optical/magnetic kinematics, and physiological arousal. Created custom software to aid in manipulation and analysis of large text-based human genetics dataset. Developed image processing applications in Matlab and C/C++ to analyze geomorphic fracture patterns from time-series digital images. Programmed parallel-processing optimizations into distributed Matlab modelling to run on computing cluster.
- Python, Matlab, C/C++, MySQL, SQLite, Bash, Make, Linux
Enlisted as CH-47 Helicopter Repairer, worked for one year doing phase maintenance, transitioned to aircrew as crew chief for another year, and then worked several years as an ALSE Technician, Water Survival Instructor and Rescue Swimmer.
- Aviation Life Support Technician: Maintained, inspected, and organized life support equipment for multi-purpose aviation unit. Participated in research and development of new life support equipment including a low-profile horse-collar style flotation device and a compact underwater emergency egress device.
- Senior Water Survival Instructor: Evaluated and trained junior water survival swim instructors. Trained all regimental aircrew in water survivalto safety standards in over-water operations, such as aircraft egress, water survival, aircrew recovery.
- Senior Rescue Swimmer: Completed U.S. Navy Surface Rescue Swimmer School. Coordinated inter-service search and rescue training exercises between customers and aviation regiment. Helped train and evaluate the proficiency of junior rescue swimmers. Assumed responsibility for over-water safety, search and recovery of helicopter crewmembers and passengers during real-time training operations.
- Squad Leader: Supervised, evaluated, and counselled junior military personnel.
- Helicopter Crewchief & Repairer: Maintained all aircraft records, forms, logs, and aircraft status. Inspected condition and readiness of aircraft and cargo. Conducted aircraft maintenance and troubleshooting.
Education
I started university in Earth Science, but enjoyed computer programming and switched to Computer Science. Later in my degree I took specialized courses on Remote Sensing, GIS, and Digital Image Processing.
Certifications
The school is designed for participants familiar with the Linux command line and who have some level of programming experience. Completion of the ACENET Basics Series, or equivalent experience, is strongly recommended. The mornings consist of lectures, with the afternoons following a lab format, where participants are given exercises, or can bring specific problems to instructors related to their research. Topics include general parallel computing, OpenMP, GPGPU, and Message Passing Interface (MPI).
Projects
Publications
Select list of recent publications below, full list on my Google Scholar page.