Technical

Open

Junior Developer - Discord Bot

Join the Watchdog Systems Technical Team as a Junior Developer, helping build and maintain the Discord bots that power our Trust & Safety, community security and internal staff systems.

Engagement

Voluntary

Compensation

Voluntary

Commitment

Flexible

Location

Remote

About the role

Watchdog Systems is looking for a Junior Developer specialising in Discord bot development to join our Technical Team. Watchdog is a Trust & Safety platform designed primarily for Discord communities. Our systems allow users and communities to submit reports, investigate concerns, identify users who have been flagged following evidence-based investigations, and provide additional community safety and security tools. Our Discord infrastructure forms an important part of the platform. We currently operate systems including a public-facing Discord bot and an internal administrative bot, with functionality spanning community security, user scanning, staff workflows, notifications, verification and integrations with the Watchdog website. As a Junior Developer, you'll work with the wider Technical Team to develop, test and maintain these systems. This is intended to be a development role where you can learn while contributing to genuine production systems. You will not be expected to independently design or maintain critical infrastructure from day one. More complex changes will be supported and reviewed by experienced members of the Technical Team. We are looking for someone who has a good foundation in development, is willing to learn, can work carefully within an existing codebase, and takes security and code quality seriously.

Responsibilities

  • Developing new features for Watchdog Discord bots.
  • Maintaining and improving existing commands and systems.
  • Fixing bugs and investigating technical issues.
  • Developing slash commands, buttons, modals, embeds and other Discord interactions.
  • Integrating Discord functionality with Watchdog website/backend services.
  • Working with MongoDB and other platform services where required.
  • Implementing internal and public notification systems.
  • Assisting with community security functionality such as flagged-user notifications, role protection and anti-abuse systems.
  • Developing internal tools for Watchdog staff.
  • Writing clean, readable and maintainable code.
  • Following established development and Git workflows.
  • Creating branches and pull requests for changes.
  • Responding to code review feedback.
  • Testing your work before requesting review.
  • Following Watchdog security, privacy and development standards.
  • Protecting confidential information encountered through development access.
  • Reporting security vulnerabilities or potentially serious technical problems immediately.
  • Gradually taking responsibility for larger features as experience and trust develop.

Essential requirements

  • Have some previous programming experience.
  • Have experience with JavaScript and/or TypeScript.
  • Have at least a basic understanding of Discord bot development or Discord APIs.
  • Understand basic asynchronous programming concepts.
  • Have basic experience using Git and GitHub or be willing to learn quickly.
  • Be able to troubleshoot problems logically.
  • Be willing to learn unfamiliar technologies.
  • Be able to communicate clearly with other developers and staff.
  • Take security and privacy seriously.
  • Be reliable and able to communicate when work cannot be completed.
  • Be comfortable working as part of a remote team through Discord.
  • Minimum Age — 16

Desirable criteria

  • TypeScript.
  • Node.js.
  • discord.js.
  • MongoDB.
  • Redis.
  • REST APIs.
  • CI/C.
  • Docker.

Benefits & perks

  • Practical experience working on a real production platform.
  • Opportunity to develop Discord bot and backend development skills.
  • Experience working with TypeScript, Discord APIs, databases and web integrations.
  • Structured support from more experienced developers.
  • Code reviews designed to help improve your development skills.
  • Opportunity to contribute to major Watchdog features.
  • A portfolio-worthy development project, subject to confidentiality and repository access restrictions.
  • Opportunity to progress to Developer based on ability, contribution and experience.

Recruitment process

Stage 1 — Application Submit the online application form containing information about your experience, technical knowledge and motivation for joining Watchdog. Stage 2 — Initial Review The recruitment and Technical teams review your application against the vacancy requirements. Stage 3 — Technical Assessment Shortlisted applicants may be given a practical development task. For example: Build a small Discord bot feature using a provided specification. Stage 4 — Interview Successful candidates attend an interview with relevant Watchdog staff. This may cover: development experience; the submitted technical task; problem solving; teamwork; security awareness; motivation; availability. Stage 5 — Decision Applicants will receive an outcome through the Watchdog application portal. Stage 6 — Onboarding Successful applicants receive: staff onboarding; technical onboarding; development documentation; repository access appropriate to their role; development environment setup; introduction to Watchdog's Git workflow; initial supported development tasks

Additional information

This is currently a voluntary position unless the vacancy configuration states otherwise. Watchdog Systems operates remotely, with most communication taking place through Discord and the Watchdog platform. Applicants should understand that development work may provide access to systems containing sensitive operational information. Access is therefore provided according to role and operational need. Successful applicants will be expected to: keep internal information confidential; follow repository and security requirements; avoid sharing source code without authorisation; use individual development accounts rather than sharing credentials; immediately report suspected security incidents; follow any applicable Watchdog staff policies. Production access should not automatically be granted to Junior Developers. Access should increase only where operationally required and appropriate to the individual's experience. The role description may evolve as Watchdog develops.

Application questions

Preview of schema version 1

About You

  1. What name would you like us to use when communicating with you?RequiredSHORT_TEXT
  2. What timezone are you in?RequiredSHORT_TEXT
  3. What steps would you normally take when trying to diagnose a bug you cannot immediately understand?RequiredLONG_TEXT

Motivation

  1. Why would you like to join Watchdog Systems?RequiredLONG_TEXT
  2. What interests you about developing Discord bots and Trust & Safety systems?RequiredLONG_TEXT

Development Experience

  1. Which programming languages have you previously worked with?RequiredMULTIPLE_CHOICE
  2. How would you describe your current development experience?RequiredSINGLE_CHOICE
  3. Have you previously developed a Discord bot?RequiredYES_NO
  4. Tell us about the Discord bot(s) you have worked on and what you personally implemented.RequiredLONG_TEXT

Technical Knowledge

  1. In your own words, what is the purpose of async/await in JavaScript or TypeScript?RequiredLONG_TEXT

Previous Work

  1. Do you have any code or projects you would like us to review?RequiredSHORT_TEXT
  2. Do you have a GitHub profile?RequiredSHORT_TEXT

Declarations

  1. Do you understand that this is currently a voluntary position?RequiredCHECKBOX_CONFIRMATION
  2. Do you agree to follow Watchdog Systems' staff, confidentiality, security and development policies if appointed?RequiredCHECKBOX_CONFIRMATION
  3. Do you have any actual or potential conflicts of interest that may be relevant to your work at Watchdog?RequiredYES_NO
  4. Is there anything else you would like us to know about your application?LONG_TEXT
  5. Do you confirm that the information provided in this application is accurate to the best of your knowledge?RequiredCHECKBOX_CONFIRMATION