| #summary Melange 2014 Summer Student Orientation Topics |
| #labels Importance-Useful,Phase-Guidelines,Contents-Complete |
| |
| * *Code Drafting* |
| * In previous years we’d said “just follow the form of the code around you and you’ll be fine” |
| * We now recognize a lot of bad patterns in our old code and we are working to eliminate them |
| * Look at the code around yours and learn from its expression, but don’t necessarily follow it without thinking through the choices available to you |
| * git branches are for making mistakes and trying out things. As long as it’s not on the master branch, go ahead and do whatever you like. |
| * Plan on including running tests as active demonstrations that your code works. |
| * *Code Review* |
| * Receiving end |
| * Be clear about whether or not you think your code is ready for integration. |
| * It's okay to push commits that say "FOR REVIEW ONLY" when you're asking for an opinion. |
| * Who’s been reading the code review discussions on melange-soc-commits@? |
| * You all should be. |
| * Make sure you’ve read the [PythonStyleGuide Style Guide] and that your code conforms to it |
| * Ask for review when you're satisfied with your own work |
| * Having your work critiqued can be stressful but it shouldn't diminish your long-term quality of life |
| * Be prepared to answer questions about why you made design and implementation decisions |
| * Giving end |
| * Please jump onto any code reviews. Ask questions about what doesn’t seem clear. |
| * Because Melange is a project that has contributors of all skill levels continuously joining and leaving, it is important that all Melange code be easily approachable by everyone. |
| * *Productivity* |
| * Don’t go dark. |
| * It’s the single biggest indicator of students succeeding or failing. |
| * There’s a capability dynamic about which I want everyone to be very clear: |
| * The mentors have a lot more knowledge, but very little time (because we all have other things that we’re doing) |
| * The students have a lot more time (because Summer Of Code is a forty-hours-per-week full-time commitment) but very little knowledge. |
| * It’s not symmetric. It’s not supposed to be. |
| * The students’ job is to produce as much as possible. The mentors’ job is to refine that production. |
| * Just like an airplane wing cannot provide lift unless the aircraft is moving forward through the air, so our mentors cannot provide guidance without student work driving the conversation forward. |
| * *Mailing lists* |
| * Everyone should be subscribed to, and reading every message on, every list: melange-soc, melange-soc-dev, melange-soc-issues, melange-soc-commits, and melange-soc-build. The traffic is reasonably light. |
| * *Meetings* |
| * Our current meeting time is weekly on [http://www.timeanddate.com/worldclock/converted.html?iso=20140502T1630&p1=0&p2=505&p3=2255 Tuesdays at 4:30 p.m. UTC]. If that time doesn’t work for you, let us know and we’ll move it. |
| * Our current meeting technology is Google Hangouts. Try to have a working camera, microphone, and speakers/earphones. |
| * Make arrangements to maintain some persistent textual interaction with your mentor - chat, IRC, a daily email thread, or something like that. |
| * *Evaluation* |
| * The only chisled-in-stone rule here is that your work at both midterm and final will be judged in terms of what has been included in the Melange master branch, not what might be half-completed and buggy and still-in-progress elsewhere. |