|
| 1 | +### Title |
| 2 | + |
| 3 | +Research Software Engineer: User and Developer Support |
| 4 | + |
| 5 | +### Project Team |
| 6 | + |
| 7 | +- Clément Robert (@neutrinoceros) |
| 8 | +- Moritz Guenther (@hamogu) |
| 9 | + |
| 10 | +### Project Description |
| 11 | + |
| 12 | +In the last cycle, we had two open hires for an |
| 13 | +[RSE position](https://github.com/astropy/astropy-project/blob/main/finance/proposal-calls/cycle3/user-dev-support-rse.md). One of them (Clément) is available to continue this work in 2024 and this |
| 14 | +proposal is to continue funding for him at a similar level as before for the next 12 months. |
| 15 | + |
| 16 | + |
| 17 | +### Project / Work |
| 18 | + |
| 19 | +We ask to fund a research software engineer (RSE) position to |
| 20 | +tackle both user-facing and developer-facing support issues, as identified and |
| 21 | +prioritized by the Astropy community and infrastructure teams. The RSE (Clément) is expected to |
| 22 | +work independently, but with feedback from Astropy community and a dedicated contact |
| 23 | +(Moritz). |
| 24 | +We envision about an equivalent ~50% FTE appointment, but that can be scaled |
| 25 | +based on the available budget. |
| 26 | + |
| 27 | +We propose to essentially continue to work done by the RSE's in cycle 3. |
| 28 | +See [invoices for the RSE work from the last cycle](https://github.com/astropy/astropy-project/issues/360) |
| 29 | +for a list of work done so far. |
| 30 | + |
| 31 | +There are three themes to that: |
| 32 | + |
| 33 | +#### 1 - Long standing bugs and issues |
| 34 | + |
| 35 | +Astropy has > 1200 open issues, some of them more than a decade old. This is a combination of bugs, feature requests, and ideas, and not all of them are directly actionable. However, hundreds of them *are* bugs and feature requests, often untouched by volunteer contributors for years. |
| 36 | + |
| 37 | +While astropy clearly thrives with those bugs and issues, each of them represents at least one user |
| 38 | +who was stopped in their work and found this annoying enough to open an issue. We know anecdotally, that |
| 39 | +many users who do not think of themselves as "developers" don't open issues on github (e.g. they might not |
| 40 | +even have an account) so each bug probably represents several or more users who have run |
| 41 | +into a problem. For a smooth user experience, we should close out bugs and fill in feature requests |
| 42 | +where we can. |
| 43 | + |
| 44 | +The RSE shall tackle a number of long-standing issues and |
| 45 | +bugs as listed in the issue trackers for the core package and the coordinated packages; |
| 46 | +more bugs and issues are available than can be addressed by this position, so the |
| 47 | +choice of which ones to address will be guided by community input. |
| 48 | + |
| 49 | +#### 2- Support current fires |
| 50 | + |
| 51 | +Astropy has few required dependencies, but changes in new versions of pytest, numpy-dev, or sphinx can make |
| 52 | +CI on all new PRs fail. In coordination with Pay Lian and others, Clément |
| 53 | +did significant work to keep astropy up-to-date with numy-dev in the transition to numpy 2.0 so far. While that |
| 54 | +is mostly done, he will support changes in pytest or future numpy version as they come up. How much work |
| 55 | +this is and when it's required is hard to predict, but having Clément available with a significant number |
| 56 | +of hours per week to fix these things as they come up eases the development process for all |
| 57 | +other contributors, in particular occasional volunteer developers who might not be used to diagnose |
| 58 | +CI failures that have nothing to do with their own changes. |
| 59 | + |
| 60 | +#### 3 - Astropy Roadmap |
| 61 | + |
| 62 | +The RSE shall work on the items listed on [Astropy Roadmap] |
| 63 | +(https://github.com/astropy/astropy-project/blob/main/roadmap/roadmap.md), that the |
| 64 | +community has already prioritized, but not yet found the resources to implement. The current roadmap |
| 65 | +is almost a year old and most of the items that would be appropriate for this position are under |
| 66 | +development by the current RSE hires or other astropy contributors, even though they are still marked |
| 67 | +as orange or red in the roadmap. However, the roadmap will be updated in the next Astropy coordination |
| 68 | +meeting, which will take place just a few weeks after Clement would start on this contract. |
| 69 | +We expect that he will pick up one or two items from the new roadmap. |
| 70 | + |
| 71 | + |
| 72 | + |
| 73 | + |
| 74 | +### Approximate Budget |
| 75 | + |
| 76 | +Budget breakdown (nominal): |
| 77 | + |
| 78 | +- Contractor fees: $93600 (approx. $90/hour for 20 h/ week for 12 months) |
| 79 | + |
| 80 | +Minimum viable amount: There is no really a floor to bug fixing - every bug helps. However, if amount granted is insufficient to support Clement for a a significant amount of time (a few months) he will have to find a different job as soon as possible. We thus suggest a minimum of $50000 (~6 months). |
| 81 | + |
| 82 | +### Period of Performance |
| 83 | +1 year |
0 commit comments