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
    • Ping the @Code-Reviewer role in your request to join thread
  • 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

Claiming and Developing Sets

Junior Developers must submit set plans for review immediately after making a claim. Junior Developers shall post a Set Plan Review in the #⁠jr-dev-forum, outlining the scope of the planned achievement set. The set plan is not a final product, however it must show a general outline of the planned set including progression, challenge, and other types of achievements. Brief descriptions and point values must be included as well. If during development significant deviations are made from the set plan, a revised set plan must be submitted for approval prior to requesting entry into the backlog.

The purpose of the Set Review is to ensure Junior Developers have a solid baseline plan from which to work and that it is free of Unwelcome Concepts. This review will be quick, and should largely mirror a typical process for developing a good RA set, which should always start with coming up with a set plan. This will give Code Reviewers an opportunity to avoid having to later review progression-only sets that would need to be expanded, or bloated sets that would need to be trimmed, and will hopefully streamline the review process for everybody.

Once a set plan is approved, Junior Developers may begin work on set development.

Note: New Junior Developers who had a set plan approved when requesting to join the Junior Developer may immediately begin work on the set once they are onboarded and have made a claim on the set for which their initial plan was approved.

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 unaddressed tickets
  • Will prioritize resolving open tickets over development of a new set. For additional information on ticket handling, see Ticket Handling, below.
  • Not eligible to participate in collaborations
  • May only revise sets where the Junior Developer is the sole author of the existing set.
    • 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 only create a subset for games where the Junior Developer is the sole author
    • Must make a subset request in ⁠#jr-dev-forum which includes a set plan. If approved, the 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 1 set for a hack during the program

Ticket Handling

Junior Developers are expected to 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
    • To put a ticket into Request status, ask the Code Reviewers, using the #jr-dev-forum, to transfer the ticket to the reporter after you have requested further information by asking the reporter using a comment on the ticket.
  • Once you have fully addressed the ticket, leave a comment on the ticket describing what the cause of the issue was and what you did to resolve the issue.
  • Contact the Code Reviewers, using the #jr-dev-forum, to resolve ot close the ticket as appropriate after your comment has been made.

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?

Changelog

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