Differences between revisions 4 and 38 (spanning 34 versions)
Revision 4 as of 2007-10-02 15:26:07
Size: 2988
Comment:
Revision 38 as of 2012-04-23 19:54:37
Size: 3564
Comment:
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
#acl AdminGroup:read,write,delete,revert
== Primary responsibilities ==
## page was renamed from SoftwareTestEngineer
#acl LcnGroup:read,write,delete,revert
= Software Engineer =
Line 4: Line 5:
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. == 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
  * Oversee content of the 'stable' branch and the 'development' trunk
  * 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
Line 8: Line 20:
  * Analyze test results and recommend corrective action   * Monitor automated tests, analyze test results and recommend corrective action
Line 12: Line 24:
 * Maintenance responsibilities include:  * Release responsibilities include:
  * Determine and implement a release schedule based the tracking of known issues and new features
  * Maintain Release Notes documentation

 * Maintenance and support responsibilities include:
Line 14: Line 30:
  * Maintain multi-platform builds of the FreeSurfer code-base and its accompanying 3rd-party packages
Line 16: Line 31:
  * 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.
Line 22: Line 41:
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 43:
== Benefits == 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 45:
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 recent background 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. == About MGH ==
Line 28: Line 47:
== 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
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

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
    • Oversee content of the 'stable' branch and the 'development' trunk
    • 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
  • 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 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.

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.

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)