 Vinith is joining us from all the way from Australia. That's awesome. Thank you very much for taking the time to join us on. Oh, yeah, sorry. You're actually joining us from India, I guess, not Australia. Confusing you with a different speaker. OK. So awesome. Take it away. So just give me a second of this sharing. OK, no noise. So in the previous session, there was a couple of mix-ups. Sorry for the background noise and sound. The recorded version of the talk will be uploaded to YouTube for everyone to review. Thank you. Yeah, are you ready, Vinith? Yep, so I hope everyone is able to see my screen. Yes, I can see your screen. So hello, everyone. My name is Vinith. So today we'll be talking about a roadmap to becoming a CNCF mentee. So firstly, I'm glad that I could give this community talk on CNCF mentorship programs in a Kubernetes community in Africa. So it's definitely a great place and a great content to be shared. So firstly, about me. So I'm currently a software engineer at Timescale. So we are a company behind the Time Series database. So anything around Time Series and relational databases and monitoring data, feel free to reach out to me. And I have interned with CNCF for a couple of mentorship programs, like I did Cortex, I did LFX mentorship with Cortex and Open Policy Agent. I also have done a Google Summer of Code with the Postgres operator, which is the Zalando's Postgres operator. And I'm also a co-founder and organizer at CNCF Hyderabad community. So I run local meetups in Hyderabad, India. And during my free time, I'm with books or with my cycle. And reach me out on Twitter if you have any questions or if you want to talk on anything. So find me at this vnithweb.com. So you can see all my work, my blog, post everything on this website. So let's get started. So today our agenda is what is to be a CNCF mentee and what are the different mentorship programs, how to become one and how to do it right after becoming one. And things one should do post mentorship program to continue the growth you have or the learnings you have done during the mentorship programs. So firstly, what is CNCF? So if you want to do a mentorship program with a foundation, you need to know what exactly is CNCF. And trust me, you ask anyone in the CNCF community, everyone has their own definition of CNCF because it's that huge and it's that broad. So this is one of the definition which fits accurately on what CNCF is by Vlamidir from Twitter. So it says that CNCF is a collection of technology and participates that automate the deployment and management of highly decoupled and resilient application workloads across elastic infrastructures. So using a uniform abstract of computing resources. So this is something I would say in simple terms as this is a modern infrastructure for cloud. So a couple of years back, the cloud era has just started but cloud native computing foundation has brought all the cloud native projects to all the industry. So it just brought what needs to be the specifications be what needs to be done for to achieve and embrace the cloud native infrastructure. So that's what exactly cloud native does. So you will get all the projects which are standards for migrating and to build your projects in cloud native environments. So what is it to be a CNCF mentee? So CNCF is firstly a very welcoming and vibrant community. So you can see the gif. So even my starting with CNCF community was so, like I was literally a child when I was trying to understand this tech and everything. So I didn't know anything about CNCF and anything. It's likely two years back. And I was totally impressed by the passionate people working on this community and everything you touch, everything you see it. Like you can clearly understand that this is going to be the next big thing in the cloud native ecosystem because all the projects a cloud native community invests on or many companies which invest on this projects are definitely cutting its technologies. And they are the future of how an application needs to be deployed and how it needs to be managed like the day to operations and everything. So it's very passionate to be in the CNCF ecosystem and majority of users deploy these projects at very large high scale. So it's not just using cloud native projects, but so I usually say many people like you might be working on a project. So using it is definitely a big win if users are using your project, it's definitely a big win, but running them at a very high scale is something very few projects and very few people can do that. So CNCF projects are mostly running in very high scale and mentors with immense knowledge with high quality code and operational knowledge at scale. So one important and unique thing I've seen in the CNCF community is that all the developers and the community is not only writing a high quality code, but they do also have an operational knowledge when they are running these projects at the high scale. So it's not only you're learning how to write code, but you're learning how to run them at scale and what matters when things are running at scale. So coming to the CNCF mentorship programs. So I have been following the KCD Africa today and I've seen this programs have been illustrated multiple times like contributing to Kubernetes. There was another talk and there was a slide on what are the mentorship programs to getting started with contributing to CNCF. So we will discuss deeply on what each and every mentorship program is and how one can contribute to them. So firstly, Google Summer of Code. So the Google Summer of Code is an internship program for students. It does, everyone all across the world can apply to it, like only dedicated for students and currently the CNCF has participated in the GSOC this year and it's already started. The program has already been started. And so I have tried for a couple of like, I tried during my first fresh year of my bachelor's of engineering and then I didn't get it. So I got it at the third time, the GSOC applied for different organizations. So yes, the Google Summer of Code is definitely an amazing mentorship program if you are a student and if you want to get started with coding and to start your journey of coding. So that's definitely a great place. And Google Season of Docs. So this is similar to GSOC, but this is basically on docs. So if you want to write technical content, you want to write the docs, anything that revolves around docs, it can be getting started guides, it can be a design doc, it can be user service, anything, whatever the project demands, you can write it. And one important thing about Google Season of Docs is that you do not need to be a student to do the docs mentorship program. So even you can be on working individual and you can figure that out. So if you have time during the weekends, it definitely works out. I know many folks who have done Google Season of Docs being a full-time employees. And there's a very interesting thing I always suggest and keep advocating about, the LFX Mentorship Program, which is formerly known as Community Bridge. So this is totally the Linux Foundation Run Mentorship Program, but this is a very active mentorship program in the CNCF community, because if you see Google Summer of Code, Google Season of Docs or Outreachy, these are dedicatedly in other programs and where CNCF just participates based on the cycles announced by these programs. So Google Summer of Code happens once in a year and Google Season of Docs happens once in a year and Outreachy happens twice in a year. So it's like that. So one cycle is from May to August and the other cycle is from December to March, the Outreachy. And the LFX Mentorship Program happens most likely every quarter in the year. So the probability of one getting into LFX Mentorship Program is very high because it totally depends on your work and what you add value. So the Google Summer of Docs, Season of Docs Outreachy have external factors involved in it because they have limited slots, they have multiple projects. So there is so much of equations in the other mentorship programs, but in an LFX Mentorship Program, which totally the CNCF has total control over it and it happens every quarter. So even you can just apply like in a year you can apply four times, whereas with other projects you cannot do that. And for LFX Mentorship Program, you need not be a student. So even if you are a working individual, you can definitely apply the LFX Mentorship Program. And for Outreachy also, you need, you should not be a full-time working employee. So Outreachy has that important note. So these are the four mentorship programs which are very active in CNCF. So how to become one? So let's say like it can be any of these four mentorship programs, so we will just talk on how to become one when you are doing one. So this is me when I was trying to apply the Mentorship Program, CNCF Landscape, you have like more than, like you have many projects, graduated projects, incubating projects, sandbox projects, and you do not know where you need to start with. So there is the captain of all projects within the Kubernetes community, which is Kubernetes. So everyone is excited and everyone wants to be part of Kubernetes. And trust me, Kubernetes project is very huge. So you can start with contributing to release team, docs, projects, like anything. So there is so much of opportunities on the CNCF land, so you need to figure out where you want to start from. So let's discuss on how to become one. So getting started. So be active in CNCF Mentoring Slack. So when I say active, don't keep sending the messages. It's just that keep an eye and just keep reading what are the updates coming in the CNCF Mentoring Slack and add a watch to CNCF Slack Mentoring Repository. So any new projects, any new cycle of mentorship programs being announced will create a PR to CNCF Mentorship Repository. So if you have a watch, you'll get notified whatever the new things have been getting added to the repository. So that's the best way to put yourself updated with the mentorship programs. And the second thing is pick the project you love. So it's like, I think many folks just apply to a project because just it's an mentorship program. But I personally suggest is that try to apply for a project which you love. So there might be like tens of projects, but target a project which you love and start applying to that. Because it's not just you doing a mentorship, but it's more about you doing a mentorship and trying to stay with the project for a long time. So that's how you should see this mentorship program as. And having a prior knowledge on the project or a tech stack is a real added value. So if you're picking one project, like if try to make sure your previous experience or your skill set, like let's say go or anything matches with the project, that would be an add-on because you can concentrate more on the project, not on the skills which you need to learn. So that would definitely be a very big add-on. And play with the project. So when you like the project and you want to work with it, so play with, don't just reaching out to the maintenance is definitely good, but don't keep asking like how, where, why, how and all these questions, just play with the project. Start contributing to the good first issues. So how I would suggest is that first clone the project, open it, open it and just check the structure, how everything is happening and read the contributing.md, styling guides, everything. So you'll get the general sense of what the project is and what are the priorities and how does the project actually work. So that would definitely put you way, way ahead than other mentees who are applying for that project. So how do you pick a project? Because there are so many projects I usually say that. So choose one project from mentorship programs and start working on it. So it's like, do not just put your hands on 10s and 15s of projects and just draft an application and just see that one might come in 10 or 15 applications. Trust me, it doesn't work that way because like many, many other mentees will just apply for one project and with the complete details and with the complete knowledge on it. So they would definitely tend to stand way ahead of you. So do not target on multiple projects. I would instead suggest choose one project which you are interested in and propose a feature. Like if your lover project and it is not in the mentorship program, propose a feature what you would like to see in this project. So try to use it for a couple of weeks and try to understand what are the gaps and attend the community calls, read their meeting notes. So you'll understand what is the project lacking and what is the future roadmap of the project. So you can propose a feature which is priority and which is in the roadmap of the project and you can propose to the maintenance that I would like to work on it. Do you mind recommending or proposing this feature to the LFX mentorship program or GSOP. So that's how the feature gets proposed and added to the LFX mentorship programs and then maintain that knows you and you are the person who proposed it. So make sure you are there with the feature and with the project throughout its life cycle. So now the project has been proposed. So you need to write a design doc, make sure that all the stakeholders and when I say stakeholders, the core contributors and maintainers are agreeing with how you want to develop the feature and how you want to take it forward. So just pursue it in a way that everyone agrees and everyone knows that you have a solid plan for the future. So that's how you should pick the project and move forward. And now becoming one. So you propose the project or you like the project which interests you, then how you should become one. So now introduce yourself in the Slack. So every project has a Slack channel. So if you go to this, there's a CNCF Slack, there's a Kubernetes Slack and in CNCF Slack, you can see all these channels for the projects. Like let's say for Thanos, you have a Slack channel, for Cortex, you have a Slack channel. So get into the Slack channel, introduce yourself, just try to read the conversation and the common problems users are facing and what is the conversation exactly about in the Slack? And now write a design doc with implementation details and different approaches. So propose two to three different approaches so that you will understand how exactly the maintainers want the feature to be implemented. What are they trade off? So are they planning to have it this way or the other way? So if you propose multiple approaches, you will tend to build more communication and the bonding with the maintainers. That's how you can understand deep down what is the fundamental features of the project and why we should take one approach over the other. And now share the design with the community. So not only with your maintainers or just with one person, just share with the design doc in the complete community. Like if it has a Google groups put it there, if it has Slack just put it there, show up in the community call, talk about the feature you want to work on and just make sure that everyone in the project are aware and are okay with what you're proposing and keep contributing to the project like good first issues, docs, anything. So wherever you find an opportunity, keep contributing to the project while you want to get into the mentorship program. So doing it right after becoming one. So trust me like getting it would be much, much easier if you do it right away, but doing it right after becoming one is one of the toughest things I would say because now you have been handed over the opportunity and you need to make sure that you build it in a way that every user of the project will use your feed and scale in every possible way the feature works out. So that's the toughest part after becoming one. So primarily target the working model of the future. So do not rush on writing docs or unit tests or anything. I would personally suggest that primarily target what exactly. So first like the bare bones feature. So you have something in a working model. Now try to build things around it like the unit tests or you want to give extensibility, you want to write the docs, anything. And now discuss the implementation details in the Slack channel. So you have a, you have designed, you have the doc and you have implemented it. Now discuss the implementation details because everyone has their own way of implementing it. So discuss it and write all possible kind of tests because you may not be working with the project or you may not be active in terms of writing code. So if you see open source projects after you, tens of people come into the project, they write code around your code. So they may not be aware of what are the, what is the internal functionality of your feature. So the more tests you write, the better the feature maintenance would be because even if you are not with the project, your test would help them to maintain the feature you have built. So make sure to write all possible kind of tests which would keep your feature always stable and follow the styling guide. So all the open source projects, the large open source projects have the styling guides, how one should write the project, how one should even write a commit message and how you should write the test, everything. So there is a dedicated styling guide for most of the projects follow that and aim for efficient and robust code. So it's not just that you just write the code, you complete and you just merge it. It's not like that. You need to write efficient and robust code so that it just works in all times. And iterate quickly over the review comment. So usually what happens with this mentorship programs is that the maintainers are also working for some organizations and they do have a full-time job and they just have a couple of hours to mentor you. So make sure that whenever you ask a review on your PR by the maintainer, make sure that you iterate over them very quickly and make sure that when the maintainer spends the time on your PRs, you're almost like you're adding the true value. It should not be like you didn't resolve the previous review comments or anything. So keep iterating over your review comments very fast so that the PR vault and gets nearer to merge and write docs and blog posts on your work. So the better the docs are, the better user can use your feature and write the blogs on how one can use your feature, how you got into the mentorship program, how did you work with the maintainers, anything. So blogs can be anything. So blog always inspires and helps other students or other folks like you to get into the mentorship program. So I would highly recommend in writing docs and blogs of your work, which would help and which would pay forward as you progress. So the other thing, what if it didn't happen? So everyone says that in the roadmap, okay, you just catch a point A and reach B and C and there's the destination. So it's always not like that. Even if you are following the roadmap, you may not get into the place where you need to go. So how you need to deal with it if you didn't get one. So it's totally fine. Many get into mentorship program after multiple attempts. So including me, like I have applied GSOC for twice and I got in the third time and I've applied for LFX mentorship programs also couple of times. So that's how it works. So you need to apply multiple times. It's not like you just need, you will get it on your first try. If you are fortunate enough and your work speaks out, it definitely happens. But for some reason you did not get one also. It's just a matter of couple of months as every quarter you have mentorship programs. So apply it in the other quarter. So you got the experience, you will stand way ahead of other mentees who are applying for the other cycle. So it's totally fine. You have done the great work already understanding the project, contributing to the good first issues and by writing the design doc. And you have a good bonding with the maintainers as well. So keep contributing to the project. So a mentorship program only doesn't decide your work. The way you communicate, the way you answer the good first issues or the users with getting started with the projects also matters. So mentorship program is good, but sticking to the projects without mentorship program is also good because always being part of the project is really good because as a project grows, you grow along with the projects and you build a true colleagues with the project maintainers. So keep applying for the next cycles of mentorship. Try starting early with your contributions and implementation details. If you're planning to apply for the other cycles. So post mentorship program. So there are many do like apply, get into the mentorship program, complete that feature. But what you need to do post mentorship program to make sure that you get the whole package, whole deal of mentorship programs from the CNCF. So keep contributing to the project. It's not just that you just write the code, your feature gets merged and you just say bye bye to the project. So when I say contributing, it's not just the code. You need to talk to the users. Like let's say you advocate the project. You see what is a new feature, what's the major release? You just follow the project and you answer the questions in the Slack or talk to the people about the project and what's happening there. So contributing comes in all terms. So if you have totally switched your domain of working, it's totally fine, but just try to follow the meeting notes, join the community calls, add your value and feature discussions, how the project future should be like issue triaging, being a shepherd to the release. So you can contribute in all possible ways. So try to answer the questions in the Slack, attend the community calls and reviewing the peers is also a great way to be part of the community and also bug triaging. So post mentorship, you have a whole lot of things to do to stay with the project. And I always recommend Menti Swood who completes the mentorship programs to always stick to the projects in one or the other way. And last note, that keep working on what you love and cloud native communities, definitely a great place to be in. And you will definitely feel this statement once you start your journey with cloud native. So all the best. And I can't wait to see you in the cloud native land. So thank you. I have an ability for you. Awesome. Thank you very much for a great session. And I believe our users also, have you shared your Twitter handle so they can follow you especially those that might also want to reach out on the opportunities you've shared and if they have any more questions. So you want me to share it in the chat? Yeah, you can drop it in the chat, your Twitter handle. Oh yeah. Awesome. Thank you very much everyone's first thing with us thus far. We'll be going on a 30 minutes break now and we'll be resuming back at the top of the hour. We have lots of awesome sessions that are remaining and you wouldn't want to miss. I think one very good one is by a developer and director of DevOps recruitment from a company in the UK who is going to share with us what employers are looking for when they want to recruit DevOps pros. Also we'll be having an EMA session with Priyanka Sharma, she is the general manager of CNCF much later in the day towards the end of the day. You won't want to miss out on it. And we have a lot of freebies that we'll be sharing with you, especially those of you that are students at the end of the day. So stay with us to the end of the show and you will get to learn more aside from enjoying all the awesome sessions we have. Yeah, Vinit has dropped his Twitter handle and for that information on chats. So you can always reach out to him if you have questions about mentorship or you have some concerns that you want to share with him. Thank you very much and thank you Vinit. We'll be back soon. It's my pleasure talking at KCD Africa so looking forward to give more talks. Yeah, sure. Thanks for having me. Yeah, you too. Bye bye.