Differences between revisions 2 and 50 (spanning 48 versions)
Revision 2 as of 2007-10-02 15:16:39
Size: 2807
Comment:
Revision 50 as of 2012-05-01 15:32:20
Size: 4668
Comment:
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
#acl AdminGroup:read,write,delete,revert
== Primary responsibilities ==
= Software Engineer - Job Opening =
Line 4: Line 3:
Responsible for test and maintenance of a multi-platform (Linux and Mac) software application (FreeSurfer) used in the field of brain-imaging research. Focus on test suite development that ensures correctness of software results and coverage of the software suite. FreeSurfer is a multi-platform suite of software tools for the analysis of brain imaging data in use by thousands of neuroscientists, engineers and
clinicians around the world. It has been developed at the [[http://www.nmr.mgh.harvard.edu/martinos/noFlashHome.php|Marinos Center for Biomedical Imaging]] at the [[http://www.massgeneral.org|Massachusetts General Hospital]] in Charlestown. !FreeSurfer has been critical for basic neuroscientific advances in our understanding of the brain, as well as more accurately and sensitively quantifying the effects of disease processes such as Alzheimer's disease, schizophrenia, autism, and Huntington's disease among others.

== Responsibilities ==

We are looking for a Software Engineer to take primary responsibility for the build, test, release, maintenance, support and documentation of our multi-platform (Linux and Mac) software application.

 * 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
  * Implement the transition from CVS to Git version control system
  * Implement true open-source availability (github or similar)
  * Implement the transition from Gnu autotools to CMake
  * Ensure smooth build of GPU and OpenMP code
Line 8: Line 21:
  * Analyze test results and recommend corrective action   * Monitor automated tests, analyze test results and recommend corrective action
Line 12: Line 25:
 * Maintenance responsibilities include:  * Release responsibilities include:
  * Determine and implement a release schedule based on the tracking of known issues and new features
  * Oversee content of the 'stable' branch and the 'development' trunk
  * Maintain Release Notes documentation

 * Maintenance and support responsibilities include:
Line 14: Line 32:
  * Maintain multi-platform builds of the FreeSurfer code-base and its accompanying 3rd-party packages
Line 16: Line 33:
  * Port to new platforms when necessary
  * Maintain an issue tracking system
  * Help resolve open-source build issues
  * Maintain the issue tracking system
  * Monitor the !FreeSurfer mailing list and respond to end-user issues
  * Assist with !FreeSurfer training 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. Locations have included Brazil, Australia, New Zealand, South Africa, Italy, Germany, the Netherlands and many others.

If you want to have a positive impact on human health and contribute to our understanding of the healthy brain and how neurologic disorders affect it, then the responsibilities of this position are critical to keeping the !FreeSurfer usage network working smoothly to ensure progress in this field.
Line 22: Line 45:
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 is 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 building, testing and maintaining it, then this is a good 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 24: Line 47:
You will be working at the Martinos Center for Biomedical Imaging at the Massachusetts General Hospital, an affiliate of 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 recent background in brain or medical image processing, and want to learn the inner workings of this complex software by testing and maintaining it, then this is an ideal position for you. Good written and verbal communication skills are essential. You must be able to work independently and be self-motivated. You must be responsive to the reactive environment of an evolving research department, while simultaneously you must be proactive to ensure that !FreeSurfer is a state-of-the-art software package.
Line 26: Line 49:
== Tasks ==
 * Test:
  * Setup automatic tests of bert for the 'dev' enviro
  * Setup automatic tests of buckner40 for the 'stable' enviro
  * Expand tests to cover more binaries, particularly mri_glmfit, where a group analysis could be automatically run on the buckner40
  * 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
 * 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)
  * Setup a read-only CVS server, for open-source code distribution (use the virtual server that Paul setup, and create cronjob to copy nightly the real CVS to the read-only CVS, excluding non-public code)
  * Explore and mess with trying to get freesurfer to build in CMake, at least portions of it relating to Qdec
This is an entry-level position.

== About MGH ==

You will be working at the Martinos Center for Biomedical Imaging in the [[ http://martinos.org/lcn/|Lab for Computation Neuroimaging]] 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.

== Contact ==

Please send a cover letter and resume to fsjobs@nmr.mgh.harvard.edu

Software Engineer - Job Opening

FreeSurfer is a multi-platform suite of software tools for the analysis of brain imaging data in use by thousands of neuroscientists, engineers and clinicians around the world. It has been developed at the Marinos Center for Biomedical Imaging at the Massachusetts General Hospital in Charlestown. FreeSurfer has been critical for basic neuroscientific advances in our understanding of the brain, as well as more accurately and sensitively quantifying the effects of disease processes such as Alzheimer's disease, schizophrenia, autism, and Huntington's disease among others.

Responsibilities

We are looking for a Software Engineer to take primary responsibility for the build, test, release, maintenance, support and documentation of our multi-platform (Linux and Mac) software application.

  • 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
    • Implement the transition from CVS to Git version control system
    • Implement true open-source availability (github or similar)
    • Implement the transition from Gnu autotools to CMake
    • Ensure smooth build of GPU and OpenMP code
  • 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 on the tracking of known issues and new features
    • Oversee content of the 'stable' branch and the 'development' trunk
    • Maintain Release Notes documentation
  • Maintenance and support responsibilities include:
    • Assist in bug-fixing, and feature enhancement
    • Help resolve multi-platform compatibility, installation and run-time issues
    • Maintain the issue tracking system
    • Monitor the FreeSurfer mailing list and respond to end-user issues

    • Assist with FreeSurfer training 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. Locations have included Brazil, Australia, New Zealand, South Africa, Italy, Germany, the Netherlands and many others.

If you want to have a positive impact on human health and contribute to our understanding of the healthy brain and how neurologic disorders affect it, then the responsibilities of this position are critical to keeping the FreeSurfer usage network working smoothly to ensure progress in this field.

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 is 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 building, testing and maintaining it, then this is a good 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.

Good written and verbal communication skills are essential. You must be able to work independently and be self-motivated. You must be responsive to the reactive environment of an evolving research department, while simultaneously you must be proactive to ensure that FreeSurfer is a state-of-the-art software package.

This is an entry-level position.

About MGH

You will be working at the Martinos Center for Biomedical Imaging in the Lab for Computation Neuroimaging 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.

Contact

Please send a cover letter and resume to fsjobs@nmr.mgh.harvard.edu

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