This year our team had 1 programmer, as in past years. My goal for this year is to get at
least 2 new programmers to join, simply because I cannot put in the same time commitment this year as last year, for many reasons.
My suggestion (building on the other comments) would be to pair up the 7 new members with 7 of the more advanced/veteran students, and give each one of them a certain task.
The veteran partner would have the following responsibilities:
-Ensure their code is being implicated on the real robot (if applicable)
-train new member
-make contributions to the robot code
The new member would have these responsibilities:
-Learn how to program
-Make basic contributions to the robot code
-shadow the veteran member
For some tasks (dashboard, drive base code) two students is enough. For other tasks, like motion profiling or advanced PID control, multiple partner groups can be assigned to a task.
My question is: Do you use
GitHub to collaborate between team members? If so, how are you using it? I highly recommend it to help keep the organization of new and old code clean and organized.
If not, I highly suggest you look into it. The quick version of it is that you have one master repository of the code that's currently on the robot. Then, each user has their own fork of the robot code. They make the changes in their forks, and when that user has tested their code on the robot, they simply make a "pull request" which basically asks the main repository organizer/programming lead to merge the forked code into the master. In most cases GitHub can take care of the merging for you (just hit the button) but in a select few cases you may need to manually add the requested code to the master (which is easy too).
HTH.