Skip to content

Junior Developer Program Rules

Overview

The purpose of the Junior Developer Program is to assist interested people with learning how to create and maintain high quality achievement sets for RetroAchievements. Junior Developers are required to understand and abide by the Developer Code of Conduct except where specifically addressed by this document.

Entry Requirements

To join the Junior Developer Program, the following requirements must be met:

  • RetroAchievements account must not be banned or suspended from achievement development or involuntarily untracked from competitive leaderboards
  • Have a Discord account verified on the RetroAchievements Discord server
  • Request the Junior Developer role in #role-request channel in the General section of the RA Discord server
    • Include your RA profile link
    • State the game for which you intend to create a set and link its RA set page or request that it be made if it does not exist
    • Read through all RetroAchievements Developer Docs and fill out and post a Set Design Plan
  • Unless specifically authorized by Developer Compliance, all requirements in this section must be met to gain entry to the Junior Developer Program regardless of previous RA experience

Rules and Restrictions

The following rules apply to all Junior Developers:

  • May only create achievements, leaderboards and Rich Presence for a set on which they have an active claim
    • This means no working on any sets that are not claimed. Failure to adhere to this rule may result in dismissal from the Junior Developer Program
    • Junior Developers may practice RAM digging games for which they do not have a claim, but shall not publish any code notes
  • May not make a new claim while they have any open tickets
  • Will prioritize resolving open tickets over development of a new set. If a ticket is in Request status while waiting for information from the reporter, they may continue work on a new set, but must immediately reprioritize the ticket(s) once the reporter responds
  • Not eligible to participate in collaborations
  • Not eligible to revise sets other than ones they've solely authored
    • Must make a revision request in #jr-dev-forum detailing the revision plan. The Code Reviewer team will consider the request for approval
  • May not make a claim without Code Reviewer approval on a Dreamcast set using the Windows CE firmware, PlayStation 2, or future 6th+ generation consoles at the discretion of the Code Review team
    • Must make a development request in #jr-dev-forum after at least 1 set has been published
  • May not make a subset without Code Reviewer approval
    • Must make subset request in #jr-dev-forum. If approved, subset is subject to Subset Rules
      • May request to create a subset in addition to a primary claim if both are for the same game
  • May make a maximum of 2 sets for hacks during the program

Code Review Requests

Junior Developers are required to ensure sets they submit for Code Review are of the highest quality they can make. If a set has known issues, Junior Developers must resolve them prior to requesting a Code Review. Code Reviewers are available to answer questions and offer guidance to assist Junior Developers with resolving issues. The following rules apply to all Junior Developers intending to submit a Code Review request:

  • Must follow the "Am I Ready for Review" guide prior to requesting a Code Review
  • May not submit sets that fail to conform to the Writing Policy or Code Note Standards
  • May not submit sets that do not have original achievement badges
  • May not submit sets that do not have Rich Presence
  • May not request a code review until at least 7 days after claiming a set
  • Will describe self testing method used in order to validate set stability in the Code Review request

Sets that fail to meet Code Review request requirements will be refused entry into the Code Review backlog until remediated

Removal From Junior Developer Program

Participation in the Junior Developer Program is not an entitlement or right. Junior Developers are expected to take the program seriously, put forth significant effort, seek assistance when unable to figure something out, strive to make the highest quality set possible and maturely accept and apply Code Reviewer feedback. Junior developers may be temporarily or permanently removed from the program for the following reasons:

  • Violations of the RA Developer Code of Conduct or the rules set forth within this document
  • 1 month of inactivity in either active development or RA in general
    • First time inactivity removals may request immediate restoration of Junior Developer role
    • Subsequent inactivity removals will be subject to a 30-day cool down, beginning upon demotion action. After cool down, must submit a full rejoin request per Entry Requirements

Graduation Consideration

Code Reviewers consider a variety of things when deciding whether a Junior Developer is ready to graduate and become a full developer. The driving question behind this decision is "Can the Junior Developer successfully integrate into the developer team and be trusted to produce and maintain high quality sets in accordance with the Developer Code of Conduct?" This question is evaluated by considering a variety of aspects such as:

  • Has the Junior Developer demonstrated a consistent level of maturity and professionalism such that they can be trusted with increased site permissions?
  • Has the Junior Developer demonstrated technical proficiency with a significant portion of the developer toolkit?
  • Has the Junior Developer produced a set that meets or exceeds Developer Code of Conduct and Content Guidelines requirements with little to no assistance?
  • Does the Junior Developer show a strong desire to learn and actively seek self improvement through asking questions, discussions and self study?

Released under the GPL-3 License. There are no copyright-protected ROMs available for download on RetroAchievements.