Specreduce Project Manager
Job Summary
Job Description
About Astropy and Specreduce
The Astropy Project is a community effort to develop a common core package for Astronomy in Python and foster an ecosystem of interoperable astronomy packages. It is a widely used package in professional astronomy, and supports missions like NASA’s James Webb Space Telescope and the Square Kilometer Array. Our community has over 1,200 members with nearly 200 active weekly. For more about the project goals, please look at our roadmap. The Astropy Project develops and maintains the namesake astropy package, as well as a number of supporting infrastructure packages that support testing, documentation, website etc., many of which are used outside of the astropy community as well. The third component is an ecosystem of coordinated and affiliated packages that address more specialized use cases than the main astropy package. Most communication about the code happens on github, slack, or over public email lists.
Specreduce is one of the Astropy coordinated packages. It aims to provide a data reduction toolkit for optical and infrared spectroscopy, on which applications such as pipeline processes for specific instruments can be built. At the moment, the package includes methods for tracing, background subtraction, spectral extraction, and wavelength calibration. The majority of the development is done in collaboration between software engineers at the Space Telescope Science Institute in Baltimore and at Steward Observatory in Tucson.
About the Position
The Astropy Project is seeking to hire a software engineer with project management experience at 10% effort (equivalent to 4 hours a week) for 12 months to develop and maintain the Specreduce package. Ideal candidates will be passionate about spectroscopy and will write good software in the context of open source software communities. The immediate plan is to integrate the efforts of folks based at different institutions and with different interests (JWST data analysis, PypeIt, DRAGONS, etc.) to include a proper handling of error propagation, build infrastructure for flux calibration, and include additional extraction methods.
Key responsibilities of the role
The tasks will essentially reflect the duties of a Project Manager:
- Propose solutions for the architectural challenges.
- Help craft the next set of priorities in close collaboration with the team and stakeholders.
- Address the requests of stakeholders and make sure the team meets deadlines.
- Interface with stakeholders to identify and collect test datasets.
- Ensure pull requests are reviewed in a timely manner.
- Contribute to the code.
The ideal candidate would have these skills:
- Project management experience (collect inputs from stakeholders and the community, define priorities, build realistic development schedules, meet deadlines).
- Collaborative attitude.
- Experience with spectroscopic data.
- Experience with a consensus-driven, geographically-dispersed software development team.
- Experience in the scientific Python stack (scipy, numpy, matplotlib).
- Experience with continuous integration, writing tests, debugging, and pytest.
- Experience with git and github.
Desired Qualifications, but not necessary experiences include:
- Ability to motivate others to step up for long-term involvement in the project
- Experience in Python documentation and sphinx
- Experience in one or more languages used for compiled Python extensions (C, Cython, rust)
- Ability to positively interact with other contributors and offer advice, review, and mentorship to enhance the knowledge and ability of others
- Experience working with a multicultural, international community
- Experience in documenting workflows for new contributors and maintainers
- Knowledge of astronomy
Code of conduct
The community of participants in open source Astronomy projects is made up of members from around the globe with a diverse set of skills, personalities, and experiences. It is through these differences that our community experiences success and continued growth. We expect everyone in our community to follow the Astropy Community Code of Conduct when interacting with others both inside and outside of our community. Our goal is to keep ours a positive, inclusive, successful, and growing community.
Compensation and Benefits
The software developer is funded by the Astropy Project through NumFocus; you will invoice NumFOCUS for hours worked as an independent contractor. Depending on experience, we envision an hourly rate in the range 100-150 $/h, at 4 hours a week for 12 months. There is a possibility of further extension: We would like this role to continue in the future, but this depends on funding and feedback from the community. This work is fully remote and can be done anywhere on Earth with a sufficient internet connection.
Application Details
For questions about this position, please contact Camilla Pacifici at [email protected].