 Okay. Hi, hi. Awesome. Everybody can hear me? Yes. So, welcome, everybody. Thank you very much for showing us today. The presentation is going to be a day with several phases, coordinators, mentors, and interns of OpenStack All-Reachy Internships. My name is Victoria Martínez-Helacruz. I'm software engineer at Rehat. I'm the coordinator of the All-Reachy Internship for about, well, co-coordinator because I have somebody else working with me. But I have been coordinating these internships for about two years now. Today with me is Samuel and Nisha. I'll let them introduce themselves. So, hello. My name is Samuel. I am a core developer in Keystone and I have been an Outreach mentor this around and I was mentoring Nisha. Yeah. So, hello, everyone. I'm a final year undergraduate student and I participated as an Outreachy intern in the May to August 2016 round and I'm here to share my perspective and glad you are here. Thank you. Awesome. So, we split this presentation in three. We are going to start with the point of view of the coordinator. Then we are going to talk about how is to be a mentor for Reachy and we will end up with the Nisha experience as an intern. Let me see here. If I can start passing the slides, of course. Well, we have the introduction but we have your pictures. There you go. Okay. Being a coordinator, first of all, I want to introduce you with what Outreachy is. How many of you is familiar with Outreachy internships? Please raise your hands. Okay. Most of you. But still, let's do a brief overview of what Outreachy is. So, Outreachy is not something about OpenStack only. It's an internship that it is broader. It has been more than 12 rounds today. It's going to be 10 years since Outreachy internships has been around in open source software. The idea of these internships is to bring more people for underrepresented groups to open source communities. In the represented, we are talking about women. It is started for women and now it also includes, of course, the LGBT community and some other communities as well. It was started mainly by the GNOME Foundation. The first rounds for this internship was in the GNOME Foundation. Then the program started to cut on and it got more popular and it generated a really good impact on GNOME. So, they open it to open source organizations. That's when OpenStack started contributing as well. Since then, the software freedom conservancy is the organizing that has been leading and organizing these internships. As I said, there was more than 12 rounds to date. There are still new rounds, more interns for the upcoming months as well. So, when OpenStack has shown these internships, OpenStack has shown these internships for the Grizzly release that was 2014 in the picture. Well, I am in the picture with Anita Kuno and Laura Alves. We were the first interns for reaching for OpenStack. It has been six rounds since OpenStack has been joining. We have had a total of 30 interns up to date. We only had four hires of those 30 interns. I put that in red because it's something that kind of worries us because what we are seeing is that the level of the interns that we have is very good, but there are no entry level positions in current markets. It's like there are no juniors, no internships for our interns to continue working on OpenStack. Still, it's okay since probably not all of the interns who are looking for, you know, working at OpenStack to continue like in a full-time manner, but still it's like something that we are worried about. Of course, every time we have the chance, it's like we expose it. So, maybe, you know, get some attention on that area. Overage funds itself with sponsors. A sponsor for OpenStack has been the OpenStack Foundation, Red Hat, Rackspace, Intel, IBM, HPE, and a few more, but for sure those listed in that slide. Several projects of OpenStack have joined it. Not only coding projects like Horizon, Infra, Glance, Indoor Soccer, Sahara, Keystone, but as well we have interns in documentation and there has been some interns in other areas for OpenStack as marketing. So, how is the original workflow? How is that we as coordinators organize everything so we can have interns working in OpenStack? So, ORICHI has rounds every two times every year. We have rounds that are for summer usually in the Northern Hemisphere, but also have for summer in the Southern Hemisphere. Rounds usually goes from May to August and then we have another one in December to March. And we start calling for mentors usually. Our task as coordinators is to reach to people that have experience contributing to OpenStack that work in a full-time manner. And we ask them to propose ideas so interns can pick those tasks and use those tasks as the anchor project for the internship. After we have the mentors proposing their ideas, we have the application period in which mentees reach the mentors listed in, well, the ideas page for all the mentors we could recruit. And they start talking with them. They start interacting with the call base of the project they are willing to mentor for. They start setting up their developer environment. They work in environment in the case of blogs or marketing. They start talking with the community not only with the mentor. The idea is that in that period not only they got to apply, but also to start knowing people in the community. Then they propose an application and they contribute a minor patch to the call base so we can get a feeling of how it would be to work with that intern. Then we have the intern selection in which that is a collaborative process in which all the people that have worked with that applicant collaborate in order, you know, they did feedback on how it was to work with this person. And we pick interns according to how much funding we have for each round. And then we have after one month more or less the internship period. The internship lasts three months. And it's a paid internship. And we expect our interns to work in a full-time manner. That is 40 hours per week. Because this is an internship as it will be in any other company contributed to Open Stack. Finally, this is something that is about Open Stack. Precisely, it's not for all the projects that are showing O'Ritchie. We try to get our interns to attend the Open Stack Summit. Why is that? Usually the foundation has been very supportive in this case since our interns attending to the Open Stack Summit allow them to attend to talks, attend to workshops, to attend to the sessions. We usually, mentors try, well, mentors and coordinators, try to get these interns to, you know, be able to collaborate with the people. It's like mentors try not only like to help them to get involved, to radiate with the rest of the people. But also it's like they guide them so they can, you know, have their first summit, have a good first summit. We also try to help with career advice as time permits. We try to help them to land their first job when they come here. We try to connect them with people that might help them to do that. And we also consider that this is a great networking opportunity. So they can start, you know, getting into this market. In the picture, while we see the first one is one of the workshops. The second picture, like the one in the right, is one of our previous interns that has given a talk today about Open Stack SDK, Shefali. And the other picture is from Vancouver in which we have a networking session. I am there in the picture with mentors and interns for previous outreach rounds. So what it takes to coordinate. I'm doing this voluntarily. I have shown Open Stack as an intern. I have been a mentor as well and now an coordinator. But it's voluntarily. Any of us, of you, sorry, can help coordinate through this kind of effort. If you think it's important, if you want to give back, I'm doing this, as mentioned, because I'm trying to give it back to the community. And it's not so time consuming. Like most people worry about this kind of, you know, extra activities that it's going to be more time consuming. But it's not. What we have to do in order to have these kind of internships in Open Stack is to, well, first try to reach mentors, to reach people you consider that are capable enough, well, everybody's capable enough, but that might be interested on mentoring. And, you know, you are willing to help them to understand what it takes to mentor somebody. You also have to coordinate events. This is sometimes we have ideas with coordinators of having, I don't know, hangouts during the internship so we can help mentors to, you know, get everybody together and to connect every mentor and mentee. So they get to know each other and we kind of build a community around that. And we also try to encourage communication between all of them. And so they can later meet on summits and meet on some other conference and continue with what they have been working and anything that might be of their interest to continue with this internship. And with that, I'm going to give a sample number for us yours. Okay, so what does it take to be a mentor in a program like Outreach in Open Stack? How is it to work very close to a mentee and actually try to pass some knowledge you have and the mentee doesn't yet? So I'm going to cover a few points here. So first of all, the motivation of someone willing to be a mentor. First, it's very interesting because when you are teaching someone else, you are learning as well. So that's very common because when you are teaching someone else, you got to review everything you know so far and you are going to validate that or not. And maybe you can even fix your knowledge. Another very important point is that you got to pay forward to the community because there was a time when you first joined the community, you were just like your mentee. You didn't know that much and you learned by getting help from other folks as well. So that's just how the community works. It is corrable and you got to just pay forward. Having mentees and very interested folks in an organization like Open Stack is also very interesting for the organizations involved because they are going to take benefit from the code and from the resource generated there. In our case, Nisha worked in functional tests and she was using Keystone Client. So there were no functional tests there and now we have covered like most of the operations available there and everybody, every enterprise using the Keystone Client is taking benefit from that. Also, it's very grateful for a mentor to see that you are impacting someone else's life. Maybe most of the time that's a positive impact, that's what we expect and you impact that person by teaching her how to be better technologies but also like other things like her career because you also give some advice on how path, what are the possibilities to go and they are always very receptive to some, to those kind of advice. Okay, here we have listed some preconditions for being a mentor, for being very well, who is willing to be a very good mentor for my point of view. So first is experience because if you are going to teach and pass knowledge and have discussions with someone else, it is expected that you have more knowledge in that very specific domain you are going to be working with, right? And second, it's necessary that you have a very well-defined project because that's one of the first key points to get a very successful program and in Outreach that's a point that is very, that is required because at the first beginning you have to apply to the program and you have to have a very well-defined project there just to make sure you were looking at things like before, you have a very good idea of what you are going to do during the internship. Also make sure deadlines are set because when you have deadlines and list of things you are expecting to be done by that time you can keep track of the progress very easily and if you lose track of the progress your program is very likely to fail and you don't want to do that. So for a mentor, for me it's also very important to be able to help on any maintenance questions that doesn't mean I need to know everything but if she asks me something that I have no idea what that is, I know at least all the folks I can ask with her and then we can get a response so we cannot, we won't be blocked there. Also make sure your mentee has enough background on the project because there's something very interesting that happened to us that was before this program so initially developed functional tests in Keystone Client for OpenStack and before the program she didn't know about OpenStack, she didn't know about Python neither how to write tests so she had she had tried to get approved in the last, the other round like in the end of last year yes but she didn't get selected but she was very good because she didn't give up then she got the background knowledge before applying again and she was approved in the last round and was able to complete all the work. So and for me one of the points that are very important to make sure you can see in your mentee is that proctiveness and will to learn because if your mentee is very proactive that means if you get in a week where you are very very busy that person will not just stop working if there is a block there she will look around and ask for help and this is very important especially in OpenStack because there is a whole community there, there is the IRC channels and you can just go there and ask and people will be very helpful. Now I will give some tips on being a good mentor so these tips here are about before starting the program so when you first get to know your mentee. So this is something very basic but it's very important so be kind and polite because even sometimes even if you don't want to sound like that if the other person perceives you like being a little bit rude that can just end the connection there and that could be a very successful program but just because of that you are just losing very good work. Share your background so just set up a hangout or IRC talk and just share your background tell your mentee what you do what you like to do why you feel comfortable you have confidence and why you are very motivated with that project as well and ask and see the other way around as well because the mentee needs to show interest in the project and share her background and this was something very important in our case because Nisha was very clear about what she knew and what she didn't so that's very important because some mentees may try to pretend to know something and that's just going to be a blocker in the future. Just agree on the communication means that's about well you have you have to communicate very regularly with your mentee so make sure you have a preferred channel like a hangout or something like that and do not make assumptions so that point is about do not make assumptions about what your mentee knows like I could just think that Nisha was very aware of what OpenStack is Python and all the other things but I didn't make an assumption just asking okay so what do you know and what you don't know right and I think that something that's very valuable is the will to learn even if the person doesn't know that yet that doesn't mean she can she get learn during the process and make it happen so there are some tips for during the program so the first one I just talk it was communicate very regularly so just to help keeping track of the progress of the program because that's very important and when you keep track you won't have like headaches in the future and it's our common that when you first when you are in the first weeks of the program you've got a better idea of how the work is and then you can adjust the deadlines you had first proposed in your application one very important point as well is to let your mentee very comfortable to ask because sometimes especially in the beginning the mentee may seem like avoiding to disturb you a lot but you have to pass her confidence that you are there to help and you are available there you are like spending our time for her to learn to learn you as well so one approach I do that I make that happen is by at the beginning of the program you start asking questions to your mentee just to see the progress and then the confidence starts to to be established there and the last point here is risks so as a mentor you got a pay attention the risks like the timeline the deadlines if your mentee is spending enough enough time in the project if everything is going right and sometimes it may happen some situations where you can't evaluate by yourself you can't get answers by yourself and there is the coordinator you can get some help from the coordinator or maybe even some from some other mentors and make sure you have a plan to mitigate the the risks and finally after the program it's not like okay you have finished it also bye okay we are free so just make sure you have some time for feedback because that's very very important so make some points and some note some situations when things went right and some other situations where things didn't went that right didn't go that right so you are both still learning with the process right and how you can avoid mistakes in the future that's even very useful for your mentee because maybe Nisha is going to be someone's mentor in the future so she's also learning at the process and always praise the good work I think that points very important because since the beginning if your mentee does a work that may be very easy for you that's not that easy for her like an open stack she started by fixing a link replacing the link yeah in the documentation and some people just look at that okay that's too easy but it's not that easy because there is all the development process behind that you have Garrett as the system for review you have Launchpad for bugs you have Github and you have everything behind that use this yeah you have a whole infrastructure there with tests and everything so do not underestimate what your mentee has done just praise the good work and the person can also be you feel like very comfortable to be happy and see that she's going the right path okay I think I've covered all the points from a pain mentor point of view so yeah I'll take so being a mentee so I successfully completed my internship so I'll share my experience so motivation so why did I apply for being an outreach intern and that open stack so I was actually inspired by a former outreach intern who did her internship in open stack get a couple so I was actually looking for planning to apply in Google summer of code but then I started applying in the December winter round so Google summer of code happens only summer so I got started that way and then it's a great way to start because it's my first open source contribution so yeah and then you get you get to grow as a person not just your technical skills but also communication skills writing skills and a lot more so so why I chose open stack is because it's an active community whenever I used to ask any question on ISE I used to get help from people maybe it will take some time but yeah it's still quite active so then it's a beginner friendly and encouraging so like Samuel said they don't really make assumptions that you know everything so you can get started from the scratch so that's then widely used open stack is used by thousands of organizations so that's also why I wanted to contribute and then it has rich guidelines a set of guidelines and documentation so that also really helped me in getting to know how open stack works because I didn't know anything about it before the internship period then you get to learn from experienced contributors around the world chasing time zones and all it was my first experience on like working from a mentor we had a around seven eight hours time lag so it was it was great working with him and other community members and their experience so I'm still in my undergraduate studies so it's really nice to get working with people who are already working in industry then takeaways so after I completed my internship so I got to learn about the basic concepts on how open stack works I did my internship in the I wrote the functional test for the Keystone client library so I got to know about more about Keystone and then I got enough interaction with the code base so that's really important when you choose a project and because after the internship you should have sufficient interaction with code base to actually learn and continue contribution code review system and feedback so I learned about the code review system get it I didn't know about it before the internship so when I started in the first batch that's what that's when I got started with get it but it took me long to get more comfortable so then feedback I learned the importance of feedback before the internship I didn't know why the reviews are so important and why it's important for people to actually leave comments and suggest you better ways and all so I got to learn it's really important to for making the code better in an such a big organization so then after the after my three-month internship I was able to during my three-month internship I was able to get 30 plus merge patches so that's also thanks to family Victoria then yeah that made me more confident open-stack contributor so if you are planning to start up contributing in open-stack this is a really good way then I got to know about the travel support program and I got accepted for it and that's what made me stand here and share my experience with all you few then expectations so it's basically expect what you can expect from a mentor from your mentor when you're applying for the application process proposal for the internship so mentor someone who shapes the mentee because I didn't had any experience so Samuel has really helped me achieve what I have contributed all that I have contributed Samuel and even other contributors from the from open-stack then so when you are so we were free to choose any project and any mentor when we were applying for the internship so it's good to communicate with your mentor before the application proposal and find someone who has enough time for you who is not too busy and has enough to guide you and tell you communicate well communication is really important because it's an international community and that's the only way you get all the work done ask your doubts then role model yeah the your mentor should be around model should be someone who you aspire to become that that would be a great way to get going keep keep yourself motivated then clears your doubt is able to clear your doubt you actually understand he he's actually able to explain to you and you are actually able to grasp the concepts so that's also important and who is as enthusiastic as you are for the whole internship so Samuel was really very enthusiastic just like me so that also really help me keep going and then I have shared a quote so give a man a fish and you feed him for a day teach a man to fish and you feed him for a lifetime so it's really important to have a good mentor so that even after your internship you can keep contributing then tips so tips for all the people who are want to apply as a mentee in any future outreachy open stack outreachy or opens maybe an open stack or any other organization so start early it's never too late to start but yeah the earlier the better because you get to learn more and you get more comfortable find an interviewing project so that's really important because during the whole three month internship you are mainly working on that project so it's really important you find it interesting otherwise I guess it won't be so good experience so good project timeline you should have a good project timeline I talked about it with my mentor and he really helped me because I didn't know much about the task because obviously I was still learning so it's it's like good thing to communicate well and have a good project timeline so that you can actually finish successfully or internship then be completely honest so be completely honest about your time time availability about your technical skills and anything and it shouldn't be like you shouldn't try to hide anything I think that way that way you'll be more comfortable even talking and that way you'll be able to successfully complete then engagement with community so we had keystone meetings every Tuesday so yeah it's even if sometimes at the starting of my internship I felt that I might not be able to understand much in the meeting or maybe I won't be able to help or put in my thought they won't they might not be useful but later I realized sometimes a fresh outlook to the problem is actually the key so it's still good to attend meetings and discussions then good communication as I said it's crucial then during the internship so after the application proposal if you get selected then during the internship you should not try to have any other commitments because it requires a full-time contribution then jot down your daily and weekly progress so at the beginning of the internship I use I talked with the mentor and we used to maintain a etherpad link and I used to jot down what I have been done today so that we he also knows that I'm not stuck at somewhere or if I need some help or if I'm contributing enough putting enough time that's really important then try to be independent because at times yeah he might not be available so you have to be and also it's not good to be good to ask him everything like even the basic things you can just go google it out and try on your own so then once you hit a dead end it's good to ask as soon as possible because you shouldn't also waste your time in just being too independent and trying everything on your own and try to ask that shouldn't be the case as well they seek help from everyone not just my mentor I actually got to know a lot of people in Keystone and they were ready to help and that that gave me even more confidence and I like I got to know a lot of lot more people and that's that makes me even more willing to keep contributing in Keystone then blog in share my share experience so even after even during the internship or after the internship I actually wrote a regular I did regular blogging outreach he actually expects the mentee to blog like twice a month at least so it's good to give back to the community and share your experience then have fun there are times I was Chuck there was like I felt frustrated and there were times I felt great pride if I even if I was able to just replace a link that's true so you should learn to have fun on both then what comes next so now that I have completed my internship I still want to own my skills further and learn and then I plan to keep contributing and then code review yeah so my mentor suggested me that it's a good way to learn I even attended like a few sessions here so code reviewing I'm trying to do code reviews leave a few comments and everything blogging and sharing my experience at here at the top and even in back in India I have shared I have recently given a talk on outreach over stock so help new contributors learn yeah I want to like the on the OPW channel whenever someone asked if I'm available I try to answer the queries and then I want to apply as a mentor in some future round and we like okay so that's it thank you so thank you very much yeah we are open for a Q&A if you have any comment as well we just left the our Twitter handles there if you don't have any question now but you want to reach us in some way yeah so feel free to use the microphone over there if you have a question now or reach us on our own on Twitter no questions thank you thank you