Programmer isn't a separate seat — it's a specialization within the Engineer role. You own teleop code, autonomous routines, and sensor integration, and you ship code that does what the driver reaches for.
A track is how you specialize, not a wall around what you do. As a programmer you're still an Engineer: you sit in build decisions and CAD reviews, you test on real hardware, and you document your control systems like any other subsystem. Everyone is an engineer.
The driver-control code: drive mappings, button bindings, and assists. Honor the driver's muscle memory — ship what they reach for, not what's clever.
The 15-second auton and skills runs. Repeatable, tuned, and recoverable when the field isn't perfect.
Inertial, rotation, optical, distance, GPS, vision. Turning raw readings into decisions the robot can act on.
PID, exit conditions, odometry, state machines. The math that makes motion accurate instead of approximate.
The Programmer track uses the same growth ladder as every Spartan Design role: you advance by documenting what you learn and teaching the next person.
Programmers usually hold the Engineer role and specialize here, though a Strategist who codes the autonomous is just as common. The point of naming it a track rather than a role: programming is engineering, and the programmer is never only a programmer.
Start wherever your experience puts you and work outward. Every link here is a public guide on this site.
Learn every pattern here freely — then write your robot's code yourself, in your own understanding. RECF EN4 prohibits AI-generated content in programming code. The guides teach the method; the competition code has to be yours.