Integrate with your Team
Once one has all this information in their mental treasure trove, how are they to share it in a team environment?
To collaborate on code within ARC, our teams mainly use Git and GitHub, which are used as a system for working together and keeping track of different versions of programs. (See Using Git Effectively for more information about how Git and GitHub work, and how to use them within the context of an FTC challenge.)
In addition to these tools, the code team needs to work effectively with the builders and designers for the robot to work. The Leapfrog system, which is being implemented on all three teams, is an innovative method of "sharing" the robot: while builders work on a new prototype, programmers can program and test, and the drive team can practice on a "leapfrog" chassis with a slightly older version of the robot.
Another issue that sometimes arises is with the robot's initial design---teams often get carried away with design ideas such that when it comes time to program the robot, not all the hardware is present or in the right positions to complete all the objectives, and it may be too late to make any major changes. To avoid this, all new programmers should make sure they are still involved in the design process, working together with the build team to create a plan that will ensure those programs get put to good use!