 Hi, everyone. I hope you're all having a great day. So firstly, I'd like to thank you all for coming here to attend our discussion panel. Besides that, I'd like to thank the Cube Day Singapore team also for inviting us. This is our first international conference, and we are really excited to be here. I'll start with our introductions. I'm Gauri Maheshwari. I'm a third year undergraduate student from India. And I was a Google Summer of Code mentee this year with a project, FreeCAD. Yeah, hello, everyone. This is Bhapna. And currently, I'm working as a C++ developer and a Monado XR project. And I'm also a founder and lead organizer of She Builds. And currently, I'm working as a founder and other C++ developer. And other than that, I'm pretty much active in open source and contributing in different projects like Google Summer of Code, LFX Mentorship, Under Harbor Project, and MLH Fellowship. And currently, I'm trying to giving back to the community, being a part of GitHub Campus Expert. And this Red Hoodie signs the same. So thank you. Everyone, hope you're enjoying the conference. So I'll make a quick intro for myself. So I'm Shivang Shandelia. I am an undergrad as well. And I'd like to call myself a DevOps and Open Source advocate, as I have helped various folks get into DevOps and Open Source. I was also a Google Summer of Code mentee under CNCF only at Armada. Armada is a sandbox project. Then I also serve as a CNCF New Delhi organizer. Basically, again, we conduct events to advocate around CNCF and open source only. I am also a collaborative contributor, where I've contributed to various projects such as Armada, Captain, Kubernetes, Meshree, and much more. And yeah, that's about it. Hey, everyone. My name is Rakshit Gondwal. I am a pre-final year student from India. I am an approver for the Captain project. I was also a CNCF Fall intern for the Kaivarno project. And I have also been a Google Summer of Code mentee for the Captain project earlier this summer. Then I'm also the CNCG Chandigarh chapter lead and also a team member of VMAG Devs community. Yeah. OK, so to give justice to the topic of our discussion, I'd like to ask you all. What do you understand by open source programs? So according to me, open source program, other program that gives you an opportunity to learn new things? Open source for me, I think it provides new contributors, the platform, to dive and explore the vast realm of open source. So basically, you connect with the experienced developers and get hands on experience. What more do you want? For me, it's like a gateway to cloud native or a gateway to open source. It basically gives you a head start from others in the beginning of your journey. Well, I think to conclude it all, I'd say that open source programs allow new people to join the open source ecosystem. And they help provide mentorship and might also give a stipend for what they are working for. So in order to get started to contributing to open source, first way is obviously knowing how to code. But if you are learning how to code or you do not know how to code, you can contribute to the documentation part. You can contribute by making video content, by making written content. That's extremely useful for yourself as you get to know about the project. And it's useful for the community as they get to learn more about the project, for the newcomers as they know how to navigate through the project. Bhavna, would you like to add anything? Yeah, sure. It's a very good opportunity for all of us. And we got to learn new things and meet some amazing people over there. Kewang, would you like to add anything else? Well, certainly, there are many ways to get involved into cloud-native. And like discussed by my fellow panelists, Chigori and Bhavna. But if I have to add, I would say first would be the cloud-native community groups. So if you didn't know, there are several cloud-native community groups that are globally active right now. So you can get involved with those either as a volunteer or attendee or even as a speaker. But what to do if you don't have a community group in your local area? Well, what you can do is take charge in your hands as discussed in the previous talk. So you can take charge in your own hands and start a community group, organize some amazing events. Second, I would say is if you have been contributing to Open Source, I would recommend you getting involved with CNCF projects. As the community in every project that I have joined and contributed to has been really amazing. Third would be it's a program and I'm pretty sure most of you have not heard of it. It's called CNCF Zero to Merge. So the first cohort of this program took place this spring of 2023 and I was part of it. So basically it is a four week long program where you are taught how to communicate with CNCF staff, how to work on GitHub issues and how to create effective PRs. So it's a great way to get started with your cloud-related journey with CNCF Zero to Merge and I would recommend you to keep a lookout for the second cohort that is going to take place in the spring of 2024. Okay, so Rakshit, would you like to shed some light on how to get into cloud native via Open Source programs? Yeah, so in Open Source programs, there are many Open Source programs like GSOC, then there's LFX, then there's a shadow mentorship program. So what usually happens is you get a mentor sign to you and they'll help you throughout the 12 weeks or 16 weeks, whatever the timeline is and you can ask them any question and it's a great way to get started into Open Source as well as cloud native. And Bhavna, would you like to add anything there? Yeah, as Rakshit mentioned, there are different programs like LFX mentorship, Google Summer of Code and way more. So during this particular program, you got assigned by a mentor. They will guide you throughout the program, assist you during the fellowship if you face any issues. So I feel like if you're a beginner, just to start it through Linux Foundation as well as Kubernetes part of that. So you get a right mentor as well as you learn a lot through him or her. Now, we all four of us were part of some of the other programs. So we'll tell you a little about all of the programs we were a part of so that you get an idea of where you can contribute to the cloud native ecosystem. We'll start with Google Summer of Code. So finally, my area of expertise. So let's talk about GSOC, okay. So Google Summer of Code, it is a global online program basically which invites folks who are 18 or older to get involved with contributing to open source. So it's an amazing opportunity. And so it involves large and medium projects for you to contribute to but the amazing thing is going to happen the next year they are going to involve small projects as well. So this is going to let you get involved with open source and CNCF more easily. And if we have to talk about the timeline, so in the start of the 2024, the accepted organizations are going to be listed out. Then basically you're going to come in with the community and you know, discuss your project ideas. Then you basically have to craft some proposals explaining how you are going to approach the project and a possible solution. And then basically submitting the application and then waiting for the end results. Rakshit, can you share about the LFX mentorship program? Yeah, LFX mentorship program or you can say the CNCF interns usually happens three times a year, the spring split, then there's the fall split in the end and I forgot the summer split. Yeah. So again, it's like GSOC, just the differences, you'll get to work on CNCF projects. In Google Summer of Code, there are projects like for AIML, for cloud, then there's web development. But in LFX, there are mostly CNCF projects and they have usually listed out the skills that you would need to get into these projects. And yeah, you get stipend based on which country you are from and yeah, that's pretty much about it. And what about the MLH Fellowship? Yeah, so MLH Fellowship is a 12 weeks remote alternative for the student as well as the working professional. So this particular program happens three times a year, like summer, spring and fall. So if you're someone who's looking to work with the fan companies, because most of the project over there is by different companies like GitHub, Google and all. So this is a quite good opportunity if you didn't learn DSA and all. So I would highly suggest if you're just starting it out just apply for this particular program and you got some amazing people over there. Well, you now must be wondering what are the prerequisites for joining any of the programs. Well, the only thing that you need to have is the urge and the zeal to learn new things while contributing. That's the only thing that can take you far and forward. Moving on, I'd like to ask the panelists how to communicate effectively with the community and the maintainers of a particular project. For me, what worked out the best was I used to attend community meetings of the projects I was interested in. I was interested in captain project. At the start, I used to just go there, sit in the meeting. I didn't do anything, but I used to be there and see what they were talking about. And that's how I got to learn about things. Then you don't spam the maintainers or people because obviously their first priority is their job. They usually have their jobs too. So don't spam them. If they take two to three days to reply, it's okay. And then yeah, you can go through the code of conduct to follow the rules of that particular community. Shivam, would you like to add anything? Well, I would say keeping a lookout on the communication channels for every project. So if they are having either Slack or Discord or mailing list, so I would recommend you joining those because at least you'll know what's going on as my fellow panelists just said. So you don't need to know everything. Just be involved, just be there. So that's one thing. Second would be, let's say if you have a problem, I would recommend asking for a solution of that particular problem in the community itself. Don't just go around DMing your fellow contributors, like I want a solution for this. Why? Because your problem can be others' problem too. So if you're asking that stuff in the community and the maintainers are going to provide a solution for this, so it's going to make the stuff easy for other fellow contributors. The third point I would like to say would be don't just go around messaging, direct messaging, maintainers, or even your fellow contributors. As I myself, I don't know about others, but I think it's an unethical practice because you just, without their permission. So even if you need to do this, what you can do is get involved in the community, build some connection, get bonded together with the community and after sometime you can go ahead and yeah. So once we get selected into a program, we need to make sure that we are actually learning something from it and not just working there for the money. So how do we maximize the learning while we are in a program? The things that I'd like to suggest are explore the other parts of the project as well. As in if you're working on a particular issue, make sure that you are knowing the other parts of the project as well that allows you to understand the project better and contribute to it more effectively. Besides that, I'd say take part in the conversations, the GitHub issues has the option of commenting on them. So you can take part in conversation and let other people know what you think, where you might be wrong, what you can contribute to. So that way you'll get an idea of what is working for the project and what is not working and what is, you can learn various things that way. Besides that, would you like to add anything? Yeah, like try to share whatever you are learning or working on that particular project in form of video content or today try it anyway more. And other than that, I would like to add, learn from others code base as well, because if you want to become a good developer, you need to learn the code base at every once in a while because we want the code base which is of high quality and contains the code. And other than that, be open for feedback, always take it in a positive way, do not take it in a negative way. I'll continue with you only. What do you think are some of the most effective practices of contributing? Yeah, so for me, try to read the contribution guideline that is being specified on the read me of the particular project. And other than that, always read code of conduct of that particular project, whatever you are doing. And if you're a beginner of that particular project, just go to the good first issue of that particular project, pick one of them. And while solving that particular issue, you got to learn a lot of things over there. So this is my way, how I contribute to a particular project. Well, talking about issues, I've got a few points. And I'm pretty sure most of the folks here know about these points, but just to discuss these. So if an issue is already assigned to someone, I would recommend not just sending out a PR for that, and even if it's assigned and you see the person that has been inactive for a while now, I would recommend mentioning that person and asking if they are still working on the issue or not, and then working your way through it. So that's about the issues. And the next thing I would say is follow project roadmap. So every project out there, CNCF projects, they all have roadmaps. So do give them a look, so you'll know what direction the project is heading towards, and you'll get a better idea of what our project is all about and how I need to work towards the project in future. And basically, if you get a good hold of the project and you can obviously ask better related queries. Okay, so being an approver for the Kepton project, there are many times folks would raise multiple PRs or spam PRs, they'll not know how to use Git. So I'd say that first get to know about how Git works or version control works, because obviously everyone begins somewhere, but the things you can learn on your own, you should do. And then if you are looking to contribute to a project such as Kubernetes, you can also contribute to its SIGs. SIGs are special interest groups. So these are groups divided, subdivided into a big project. So you can contribute in them too, and they have multiple programs inside them too. Okay, so now these programs are usually open for people all around the globe. So how do we ensure that we are actually promoting collaboration and not competition among the people? Any thoughts? Yeah, that's the main thing of this whole thing, collaboration or competition. So like many times people think that if I help him or her, he or she will raise a PR before me, and the chances of me getting selected would be less, but that's not the case. The maintainers see that you are helping other people too, and it usually leaves a positive impact. So you should always help others and help the community. If I have to say, I'll say that don't contribute to these open source programs or CNCF projects just for the sake of getting into these programs. Just don't contribute to these projects. I'll get admitted to these programs, because again, the main thing behind this whole open source is collaboration over competition. Well, these programs can very well serve as a motivation, but don't just make them your ultimate goal. So while contributing to these programs, it happened with me, so I'll say for myself that I felt like other people in the community, they know about the project better because they've been working on it since so long. So I felt less of myself, and I felt like I did not know anything, and same happened with most of us here. So this is known as imposter syndrome. So how do we make sure to overcome or tackle this imposter syndrome? Any thoughts? Yeah, I would like to add in this particular stuff, do not compare yourself with others. Like when I just started my coding journey, I think like how I can become a developer like that and so on. So the thing that mentioned over here, like that person also be at my place being a beginner, and when he started learning new things, he will be reached at that particular point. So why I can't do that? So that's why I try to think about in this way, other than that try to celebrate your achievements as well, like a plan a trip with your friends, family, members and all, and take rest when it is necessary because it would be very overwhelming if we do not take any rest. Well, if I have to say, I would say make a list, okay, sit down in a room, lock yourself, and make a list, okay? Set short-term and long-term goals. Short-term would be what I'm going to do in like a month or two and long-term could be anything from ranging from years to whatever, but make a list so that your mind is not diverted, like I have to do so many things at once. So make a list and learn on the go. As you go, take one thing at a time, don't try to learn multiple things, learn on the go. And next thing I would say is this I learned from the college. So this thing is known as Johari window model. So what you do here is this is also known as SWOT analysis. So on the piece of paper again, you make four columns where you write your strength, weaknesses, opportunities and threats. Here you do this analysis on yourself only and you see where I'm lacking in which, where I'm strong, what are my threats and what are my opportunities. So you get a better insight of yourself. So give these tests a try and I'm pretty sure they'll help you handle imposter syndrome. Okay, so when we see the CNCF landscape, we see so many projects there. So one must get overwhelmed about how to go about these projects. I was very overwhelmed because 176 projects, they are way too many. So what I think is, in spite of contributing to a bigger organization like Kubernetes, start with smaller projects, projects that are Sandbox projects or the incubating projects. They have lesser number of contributors so they need more contributors and you get a proper mentorship there as you get directly involved in the project. So that would be my suggestion here. Any thoughts, Rakshit? I'll say that higher the risk, higher the reward. That's true. If you are going just for the open source programs, obviously the bigger organizations will have more number of contributors and obviously the chances of your getting selected are less. But again, higher risk, higher reward. You will get more number of rewards. You will get more networking opportunities in bigger projects and yeah. I'd like to add one more thing here. People from the non-tech background, that is people who are not studying computer science, they usually think that we can't contribute here because we don't have anything, any experience or we haven't studied about it. So I'd like to say that I'm studying mechanical engineering, he is studying civil engineering and we are still here in front of you. So there is no foundation of which background you are from. It depends only on your skills. Would you like to add anything here? Yeah, obviously. Companies are now looking for skills, not your degree and if you have the talent, you'll surely get hired. That is so true. Now we are almost at the end of the discussion. We'll have some pro tips from each one of us and then we'll be open to questions. So we'll start with you. The one tip that I follow right now too is aim for the maintainer of a project. Like obviously if you are aiming for, to become a maintainer of the project, you'll need to have a lot of knowledge about the project itself and if you are like on that path, everything will fall into place on itself. That is true. Shivangi, your pro tip? If I have to say, if I have to give a pro tip, I would say whilst these programs, allow you to apply for multiple projects at once. I would say target only few or I would say only one because if you're targeting multiple projects at once, then again, in post syndrome, you won't be able to manage anything at all. So try to go for only one project, give it your all and I'm pretty sure you'll get it. Your thoughts, Babna? Yeah, yeah. From my side, I would say like pick up a project which you want to explore and keep that particular project on watch, on GitHub. Whenever a certain user as well as the maintainer create an issue, create a PR, you can review that and you got a notification through email. So I would say being a beginner, it will help you a lot. So this is the pro tip that I can give from my side. My pro tip will be just begin contributing. There is no other way to actually get started than just starting it. So I remember when I wrote my GSOC proposal, I had a three-day weekend holiday. So I wasn't expecting to be getting into the program. So it was a weekend, I wrote the proposal, I sent it to the project maintainer and eventually I got selected. So the only pro tip I have here is just begin, do not stop, that's it. So we are now open to questions. If you have anything to ask, please go ahead. Again, brilliant minds there. You can ask anything regarding to college, university. If anyone of you is a student here, anything? Yeah? When you decide to choose which project you want to involve. Okay, so like if you are looking from the open source programs perspective, they usually release a list of projects that are going to be in that specific program, like before the LFX mentorship program, there's a list of projects and they list out the technologies that you would require. So choose that project to which your technology matches like the thing you are more interested in. And obviously explore projects and the one which looks good or you're more interested in sounds more cool, just contribute to it. Well, if I have to answer this in my way because we are having different opinions as a panel. So let's just say you found your projects related to your text tag, right? And there's a really popular project and there's one that is not popular. Both are CNC projects, let's say. So I myself would recommend you going for the lesser popular one. First why you'll have more chances of getting in because people are more focused on, you know, I need to get in, let's just say Kubernetes and my project in which I was in, let's say Armada. So I got in because there were not many, not much competition and people wanted to get the name only. I got into Kubernetes but the competition is going to be really tough. As he said, high risk, high reward. You can go for it. But then you'll face a lot of competition. In Sandbox project, what you'll have is you Sandbox and incubating, you'll have much more higher chance of, you know, getting in touch with the maintainers. You'll have much more learning to, you know, get much more learning. You'll have a higher chance of getting in. And I myself advocate of folks getting into Sandbox and incubating projects because they really do need contributors. Graduated projects are having like ton of contributors. If you'll join the Slack channel now, I think there are 100K people in Kubernetes but the project, my project was, there were only 150 folks. So I was able to learn and connect much more easily. So that's my take. My suggestion here will be, choose the domain that you like the most. If it's security, CICD, whatever you like, go for that one. Whether it's graduated, incubating, Sandbox, anything will work. So go that way, it might be better. Anybody, any other questions? Okay, so we will be here till the end of the conference. If you have anything or just have a conversation, come and join us, yeah. Thank you so much, everyone. Thank you. Thank you. Thank you.