SPARTAN 2822 — Internal Team Resource Public reference site →
💻 ROLE HUB · PROGRAMMER

The Programmer

Owns teleop code, autonomous routines, sensor integration, and the control systems on every bot. Drivers' muscle memory is yours to honor — ship code that does what they reach for, not what you'd reach for.

CurrentCompetitionPracticeResourcesCoordinationSkillsWeekly
01 / 07
Current Responsibilities
Ongoing
  • Write & maintain teleop + auto code on the assigned bot — one bot owner, fleet-shared library.
  • Develop autonomous routines — target 3 per bot covering different start positions & goals.
  • Debug control issues reported by drivers — same-day triage when possible.
  • Manage the shared programming library — PR review, naming conventions, no dead code in main.
  • Tune PIDs alongside the engineer; document gains in the build log when committed.
02 / 07
Competition Responsibilities
Event day
  • Pre-event: code deployed, verified running, auto selection menu live and tested on the controller LCD.
  • Pre-match: red/blue side auto verified, sensor zeroes calibrated, bot at start position.
  • During match: spectate the run — you're looking for control failures the driver can't articulate later.
  • Between matches: minor tweaks only — no major rewrites at events. If it's broken, fall back to last known good.
  • Post-event: log match data, identify which auto routines need attention before next event.
03 / 07
Practice Responsibilities
Every session
  • Field-test new auto routines — bring a sticky notebook for "what failed and when."
  • Pair-program for code reviews — even quick ones, especially on auto changes.
  • Push working code to the shared repo before leaving — if it lives only on your laptop, it doesn't exist.
  • Coordinate field time with engineers (mechanical changes break code assumptions) and drivers (their muscle memory is real).
  • Bug intake: maintain a running list of driver-reported issues, prioritize for the next iteration.
05 / 07
Team Coordination
Cross-role
w/ DriverBug intake, control sensitivity feedback, button mapping requests. Honor their muscle memory.
w/ EngineerMotor port allocation, sensor mounting, mechanical limits, PID-tuning sessions on field unit.
w/ StrategistAuto routine coverage check — which goals does each auto address?
w/ NotebookCode milestone summaries with pseudocode + tuning rationale for the engineering log.
w/ Other programmersShared library hygiene: PR reviews, naming, no broken main.
06 / 07
Skill Development
Quantified
  • PROS / C++ fluencyno docs reference
  • PID tuning by intuition2 bots in < 1 hr
  • Auto path coordinator patternimplement once
  • Sensor integrationgyro + odom + IR
  • Debug on live field5 min triage
  • State machinescinch + lift + intake
07 / 07
Weekly Expectations
Mon → Fri
  • 1+ new or iterated auto routine per active build bot.
  • 1 PID tune session per active bot — document gains.
  • 1 notebook entry on the week's code milestone with pseudocode and rationale.
  • Working code pushed to shared repo by Friday — main is always runnable.
  • Driver bug list reviewed — triage to "fix this week" vs "design issue, escalate."
Other roles: Driver · Engineer · Strategist · Notebook

Back to ops: Season HQ · Team Dashboard · Index