Differences between revisions 37 and 38
Deletions are marked like this. Additions are marked like this.
Line 31: Line 31:
  * Maintain an issue tracking system   * Maintain the issue tracking system

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)