For more information, click here.
– Role: Developer & Contributor Engagement
– Job Type: Part-Time Contract
– Duration: 9 months with possible extension.
– Job Location: Remote
– Total funding available for the position: USD 90,000 annually
Key responsibilities include bug fixes, quality improvements, and ongoing
maintenance, with an emphasis on features supported by grant funding. Over
time, the developer will expand into release management, security
maintenance, and mentorship within internship programs (e.g., GSoC,
Outreachy).
Core Responsibilities
– *Bug Fixes & Quality Improvements (45%)*
– Prioritize and address bugs within the codebase to enhance
stability and performance.
– Improve reproducibility features (per EOSS-5 grant requirements).
– Implement quality improvements through refactoring, optimization,
and code maintenance.
– *Community Engagement & Contributor Support (30%)*
– Actively participate in community forums to support OpenRefine
users and volunteers, answering questions and offering guidance.
– Organize and participate in monthly calls with contributors to
support engagement, answer technical questions, and encourage active
participation.
– Mentor existing contributors to help them grow in responsibility
and impact within the OpenRefine community, providing code review,
guidance, and encouragement.
– Represent OpenRefine at relevant conferences and events to attract
new developers, raise awareness of the project, and build connections
within the broader open-source community.
– Support programs, such as Google Summer of Code (GSoC), Outreachy,
and other internship programs by mentoring interns, reviewing
contributions, and fostering a supportive learning environment.
– *Pull Request Reviews & Ticket Triage (25%)*
– Once familiar with the codebase, actively engage with
community-submitted pull requests, providing constructive feedback and
participating in collaborative review processes.
– Assist with issue triage to identify and prioritize project goals
issues and opportunities.
– *Progressive Onboarding into Release Management & Security Updates*
– Upon receiving commit privileges, assist in merging pull requests
to support the workflow of community contributions.
– Take on Release Manager responsibilities to prepare and publish new
releases, coordinating with the community on release planning.
– With further onboarding, address security advisories and implement
required updates and patches to maintain OpenRefine’s security.
Work Environment & Reporting Structure
This is a fully remote role with flexible working hours, allowing the
developer to organize their time freely over each month. This role requires
a self-motivated, independent approach, with minimal direct supervision.
The OpenRefine Developer will primarily work with volunteers, including
members of the Advisory Committee and most technical contributors. The
OpenRefine community collaborates asynchronously through public forums and
GitHub, accommodating the diverse time zones and work patterns of
contributors. Occasional travel may be expected to attend relevant
conferences and meetings, enabling valuable in-person engagement with the
OpenRefine community and the broader open-source ecosystem.
The developer will report primarily to the Project Manager, who will
provide guidance on project goals and prioritization. Additionally, the
OpenRefine Advisory Committee will serve as a resource for strategic
direction and administrative support in collaboration with Code for Science
& Society Inc. Weekly check-ins with the Advisory Committee and Project
Manager will give the OpenRefine Developer the chance to report back on
their work, gain an understanding of OpenRefine’s broader objectives, and
receive ongoing support as needed.
For technical supervision and mentorship, the developer will work closely
with the OpenRefine Committer Group, which consists of both volunteer
contributors and paid contractors. This collaboration will help the
developer integrate into the codebase and adhere to OpenRefine’s
development standards. The Committer Group is responsible for setting the
project’s technical roadmap and reviewing merge requests.
Skills
Required:
– *Java Proficiency*: As OpenRefine’s core codebase is Java, strong
experience in Java is crucial.
– *Web Development*: Familiarity with HTML, JavaScript, and CSS for
front-end adjustments and minor feature development.
– *Git and GitHub Expertise*: Proficient with Git for version control
and GitHub workflows (pull request reviews, branch management, release
workflows).
– *Self-Motivated and Adaptable*: Comfortable working independently in a
remote setting, with a proactive approach to problem-solving.
– *Community-Driven and Collaborative*: Experience working
collaboratively in open-source or community-driven projects, with the
ability to engage and motivate volunteers.
– *Mentorship and Collaboration*: Demonstrated ability to mentor
contributors, provide constructive feedback on pull requests, and foster a
supportive, growth-oriented environment.
– *Effective Communication*: Strong written communication skills for
explaining technical concepts clearly to community members, volunteers, and
contributors.
Nice to have:
– *Open-Source Experience*: Prior contributions to or maintenance of
open-source projects.
– *Conference and Public Speaking*: Willingness to present OpenRefine at
conferences, meetups, and workshops to promote the project and attract new
developers.
– *Release Management Familiarity*: Some experience with release
processes, ideally including automated build and deployment systems.
– *Data Processing Knowledge*: Familiarity with data cleaning,
transformation, or processing concepts relevant to OpenRefine’s core use
cases.
Hiring Process
We invite applicants to send their CV and a short motivation statement at
hiring@openrefine.org. Applications will be reviewed on a rolling basis
until the position is filled.
Leave a Reply