Hi Olga, On Fri, Aug 31, 2018 at 12:30 PM, Оля Тележная <olyatelezhnaya@xxxxxxxxx> wrote: > Hi everyone, > > I was Outreachy intern last winter. I guess I need to speak up: I will > be happy if my feedback helps you. > At first, I want to repeat all thanks to Outreachy organizers and Git > mentors. That was unique experience and I am so proud of being a part > of this project. But, I need to say that my internship wasn't ideal. > Mentors, please do not feel guilty: I just want to improve the quality > of future internships and give some advises. Thanks a lot for this feedback! I think it can be very useful and I don't feel guilty as I think no one is really to blame in these kinds of situations. We all have to learn how we can improve. I think a part of the problem as just that the work is really very difficult for interns even if it doesn't seem that it should be so difficult which makes the intern/mentor relationship tricky. > I guess some of the problems aren't related to Git, and it's Outreachy > weak points. Please forward this email to Outreachy organizers if you > want. > > 1. The main problem of Outreachy internship is positioning. I mean, I > had strong confidence that it's an internship for newbies in > programming. All my friends had the same confidence, and that's the > reason why 2 my friends failed in the middle of the Outreachy > internship. Load was so big for them, noone explained this fact in the > beginning, noone helped with this situation during the internship. I > was thinking I could be overqualified and I took someone's place (I > had 2 other SWE internships before Outreachy). The truth is that my > skills were barely enough. Yeah, but will it be better if Outreachy scares too many people away from applying? I am not really sure. Also I think success depends not so much on the students/interns technical skills but on their willingness to ask questions and their ability to get the help the need. Maybe Outreachy and Git should state that more clearly. For a long time I thought that it could be enough to just tell students/interns that mentors are here to help, so they should not be afraid of asking even the most basic questions. But over time I have been realizing that mentors should actively try to understand what help the student/intern need. > 2. Please tell more about minimal requirements: write it down on a > landing page in the beginning and maybe repeat them in every task. I > guess it would be the same this year: good knowledge of C, gdb, Git > (as a user: intern needs to know how to work with forks, git remote, > git rebase -i, etc), Shell, base understanding of Linux terminal, > being ready to work remotely. It's good idea to mention that it's not > 100% requirement, but anyway at least 60% from the list must be > familiar. On our project page (https://git.github.io/Outreachy-15/) we tried a bit to do that, for example there are things like: Language: C Difficulty: medium to hard for each project. And there were no "easy" tasks. So yeah instead of "Language: C" we could have something like: Requirements: very good knowledge and practice of C, shell, gdb, Git, Linux terminal, ... and for difficulty we could remove "medium" and just select between "hard", "very hard" and "impossible" :-) But this could scare possible students/interns away and that's not really what we want. We think that if someone can successfully complete a micro project, they should have enough basic technical skills to get started and then we can teach them what they need. Maybe we could state that more clearly? I also think that the Git project doesn't make enough effort to be newcomer friendly. Maybe we could start by adding a document somewhere that could contain basic useful information for newcomers? Perhaps this could be based on the presentation that Peff gave at the beginning of the Bloomberg Hackathon last November? > 3. If you decide to be a mentor - at first, thanks a lot. Please be > ready to spend A LOT OF time on it. You need to explain not only the > task to your intern, but also how to split the task into subtasks, how > to look for solutions, how to work with the terminal, how to debug > better and many other questions. It's not only about solving > internship task. It's about learning something new. And I did not > mention code reviews: there would be many stupid errors and it's a > talent not to be angry about that. I think mentors are ready to do that. Often the problem is that we just don't know how we could help or how we can make the students/interns confident enough to tell us how we could help or what is blocking them. > 4. I fully sure that you need to talk with your intern by the voice. I > mean regular calls, at least once a week. It's good idea to share the > desktop and show how you are working, what are you using, etc. > Ask your intern to share the desktop: you need to feel confident that > they understand how to work with the task. Help them with the > shortcuts. There are interns/students who might not like doing that. So I am not sure if should make it mandatory, but maybe we should recommend and advertise that it's a good idea to do these kind of things. Dscho talked about pair programming in another thread and I think it is also a good idea. > Remote work is so hard at the beginning, I feel alone with all my > problems, feel ashamed to ask questions (because they are not "smart > enough"), sometimes I didn't know what to ask. I really think that a big part of the problem is that some students/interns feel ashamed to ask questions or to ask for help. They might think they will be evaluated based on their skills or problem solving abilities, so they are afraid to tell that they need help as they might think that it could be interpreted as not being as good as they should be. Maybe we might state more clearly that students/interns are failed mostly when we think they are not putting in the amount of effort or communication that is required, and that asking for help is actually expected and considered good communication and good effort? Maybe there are some interns/students who would be less afraid to ask for help privately to someone who is not their official mentor, because they think it will not count in how they will be evaluated? > I need to mention that > I had almost 1 year of remote work experience, and that helped me a > lot. But other interns do not have such experience. > Actually, I am sure that the only reason why I successfully finished > the internship is that my mentors believed in me and did not fire me > in the middle. I personally think that I failed first half of the > internship, and only in the end I had almost clear understanding > what's going on. (My friend was fired in the same situation.) I cannot tell about why your friend was failed. I think though that you communicated that you needed help (even if it was not always clear what kind of help) and you accepted, or maybe asked, to have Google Hangout calls which helped us find what kind of help you needed, and then things went much better. I really hope that students/interns could be less afraid to communicate that they need help and if possible what kind of help, as I think it would improve the relationship and the outcome a lot. What do you think mentors could do to make them more comfortable in asking for help? > 5. In the ideal world, I want to force all mentors to get special > courses (it will solve problems 2-3-4). Great developer is not equal > to great mentor. And, if you work with really newbie, it becomes so > necessary. I agree that mentors can and should improve but it's difficult to know specifically how. > I hope that was useful. Yes, I think it can be very useful. > In the end I want to say that there's no special requirements to > involve people from unrepresented groups. I see no racism or sexism in > mailing lists, my mentors were polite and friendly, I can't say > anything bad here. Please keep this safe environment and explain your > colleagues if you see something bad. Thanks for the kind words and the encouragement. > In my opinion, the problem is that Git is not friendly with newbies in > general. I very much agree. > We do not have task tracker, regular mentors (without any > special programs: just some developers that are ready to help with > first patch). About developers that are ready to help with first patch, I think there are many people reviewing patches and they feel like they are helping not just reviewing which I think is true. Most people try to give constructive reviews. Do you think we should kind of "tag" some experienced Git developers as "regular mentors" to make it clear that they are willing to help newcomers privately outside GSoC or Outreachy? > The code is not structured properly, this is additional > difficulty for newbie. This system with mailing lists and patches... I > understand that it's not possible to make all processes perfect in one > moment, but at least we need to help all newbies to solve all these > problems in the beginning. There are people trying to help on this, like Dscho with GitGitGadget, Eric with public-inbox.org, but I agree we should try to do more. Maybe we could also improve by: - adding information for new comers (see above) - making the build clearer about why it failed - adding information somewhere about how to get help, how to ask for reviews > I guess that there are only 2 scenarios how to become Git developer. > First one is internship. Second is to ask your colleague (who is Git > developer) to help you. Again I agree that it is very difficult for new comers (and even sometimes for long time contributors). > I don't want to speak on behalf of all women, but I guess many girls > feel not confident enough to ask for such help. For me the only > possibility to start was the internship. Yeah, I think the confidence barrier is very big not just for women by the way. > Some personal info: I am in the process of changing jobs. I wish I > could help you with mentoring (not as a main mentor, maybe as a second > or third one - my experience as an intern could be useful, I could > help other interns to start), That would be really great! > but I can't predict my load. If you are > interested in my help, please write me. Thanks for this offer! And yeah I understand that it might not be a good time. > And, by the way, please delete > my task from list of internship tasks, I will finish it by myself just > when I have some free time :) Great! Yeah we will work on a new task list hopefully soon for the next internship round. Thanks a lot, Christian.