Differences between revisions 28 and 29
Deletions are marked like this. Additions are marked like this.
Line 31: Line 31:
  * Monitoring the !FreeSurfer mailing list and responding to end-user issues
  * Assist with !FreeSurfer courses, which are conducted a few times a year in different parts of the world
  * Monitor the !FreeSurfer mailing list and respond to end-user issues
  * Assist with !FreeSurfer courses
Line 34: Line 34:
 * Documentation responsibilities consist primarily of maintaining and contributing to the !FreeSurfer wiki  * Documentation responsibilities consist primarily of maintaining and contributing to the !FreeSurfer wiki

If you enjoy traveling to different parts of the world, then there is the opportunity to do so as part of the training courses that are conducted a few times a year in different parts of the world. Locations include Brazil, Australia, New Zealand, South Africa, Italy, Germany and many others.
Line 38: Line 40:
BSCS or related technical degree. C and C++ programming experience in a Unix environment is required. Basic shell scripting, and Perl, Python and Tcl/Tk scripting experience desired. Unix autoconf and CVS experience desired. BSCS or related technical degree. C and C++ programming experience in a Unix environment is required. Basic shell scripting, and Perl, Python and Tcl/Tk scripting experience desired. Unix autoconf and CVS experience desired.  If you have a background or interest in brain or medical image processing, and want to learn the inner workings of this complex software package by buidling, testing and maintaining it, then this is an ideal position for you. Or, if you want to be immersed in all aspects of the software development life cycle for a large software application, then this position is ideal.
Line 42: Line 44:
You will be working at the Martinos Center for Biomedical Imaging at the Massachusetts General Hospital (MGH), affiliated with both Harvard Medical School and MIT. It is one of the premier brain imaging centers in the world, and the FreeSurfer software package is used in research centers worldwide. If you have a background or interest in brain or medical image processing, and want to learn the inner workings of this complex software package by testing and maintaining it, then this is an ideal position for you. MGH offers an extensive benefits package to its employees, and the Charlestown Navy Yard location provides a unique and enjoyable work environment.

== Tasks ==
 * Test:
  * Setup automatic tests of aseg and aparc atlases
  * Setup an automatic group analysis test, using the buckner40
  * Create unit tests for all in-use binaries that don't have one, and enhance the critical tests that do exist (create a wiki page listing each binary and how and whether its tested).
  * Profile major binaries, identify important routines, and create unit tests for those.
  * Create a [[http://public.kitware.com/Dart/HTML/Index.shtml|Dart server]], with Dashboard, to receive nightly build and test results, for public web-page display
  * Buy and setup a 64bit Intel Mac Pro, and setup as a build and test machine
  * Quantify variability of results for a single subject due to algorithm randomness and platform differences
  * Run valgrind on each binary to check for memory trampling

 * Maintenance:
  * Create VMWare Freesurfer virtual machine for Linux (so that freesurfer can run on Windows)
  * Create a Mac Universal binary for Freesurfer (which is compatible with both powerpc and intel)
  * Explore and mess with trying to get freesurfer to build in CMake, at least portions of it relating to Qdec
  * Share 'baby-sitting' tasks of monitoring nightly build and test platforms.

 * Bug fixing
You will be working at the Martinos Center for Biomedical Imaging at the Massachusetts General Hospital (MGH), affiliated with both Harvard Medical School and MIT. It is one of the premier brain imaging centers in the world, and the FreeSurfer software package is used in research centers worldwide. MGH offers an extensive benefits package to its employees, and the Charlestown Navy Yard location provides a unique and enjoyable work environment.

Software Engineer

Primary responsibilities

We are looking for someone to take primary responsibility for the build, test, release, maintenance, support and documentation of a multi-platform (Linux and Mac) software application (FreeSurfer) used in the field of brain-imaging research.

  • Build responsibilities include:
    • Monitor the nightly build platforms and resolve build issues with the developers
    • Maintain up-to-date 3rd-party packages and resolve platform compatibility issues
    • Simplify the build issues associated with 3rd-party package dependencies
    • Spearhead and implement transition from CVS to Git version control system
    • Spearhead and implement true open-source availability (github or similar)
  • Test responsibilities include:
    • Develop and execute software test plans
    • Monitor automated tests, analyze test results and recommend corrective action
    • Implement regression tests as bugs are found and fixed
    • Implement the Dart software quality system
  • Release responsibilities include:
    • Determine and implement a release schedule based the tracking of known issues and new features
    • Maintain Release Notes documentation
  • Maintenance responsibilities include:
    • Assist in bug-fixing, and feature enhancement
    • Help resolve multi-platform compatibility, installation and run-time issues
    • Maintain an issue tracking system
  • Support responsibilities include:
    • Monitor the FreeSurfer mailing list and respond to end-user issues

    • Assist with FreeSurfer courses

  • Documentation responsibilities consist primarily of maintaining and contributing to the FreeSurfer wiki

If you enjoy traveling to different parts of the world, then there is the opportunity to do so as part of the training courses that are conducted a few times a year in different parts of the world. Locations include Brazil, Australia, New Zealand, South Africa, Italy, Germany and many others.

Qualifications

BSCS or related technical degree. C and C++ programming experience in a Unix environment is required. Basic shell scripting, and Perl, Python and Tcl/Tk scripting experience desired. Unix autoconf and CVS experience desired. If you have a background or interest in brain or medical image processing, and want to learn the inner workings of this complex software package by buidling, testing and maintaining it, then this is an ideal position for you. Or, if you want to be immersed in all aspects of the software development life cycle for a large software application, then this position is ideal.

About MGH

You will be working at the Martinos Center for Biomedical Imaging at the Massachusetts General Hospital (MGH), affiliated with both Harvard Medical School and MIT. It is one of the premier brain imaging centers in the world, and the FreeSurfer software package is used in research centers worldwide. MGH offers an extensive benefits package to its employees, and the Charlestown Navy Yard location provides a unique and enjoyable work environment.

SoftwareEngineer (last edited 2017-07-24 12:52:02 by AllisonStevens)