 Hi everyone. Welcome to KubeCon 2020 virtually this year. I hope everyone is staying safe and doing fine in these tough times. So today I will be sharing my thoughts and experience with you all on giving and getting technical help without being scared. So I will begin this talk with a brief introduction about myself. So yeah, my name is Sunya Singla. I'm one of the members on the Kubernetes 1.20 release notes team. I was the past opportunity intern at Mozilla. Recently this summer I completed my CNC internship with Thanos project. Apart from this I love being part of different open source communities. So yeah, my talk is on giving and getting technical help without being scared. Asking questions can be hard. I first discovered that asking can be really hard when I was 17 years old in the first year of my college and at the same time I was beginning with open source. So we used to had a class as well as a lab for straight three hours on the subject called oscillations and optics. So in the class whenever the teacher used to ask any question boys would blurt out without even thinking. While the girls they would raise their hands get shouted over and then they don't say a word what they actually want to say. While I was sort of in the third category just observing things around me. Kind of an introvert person. In the same lab we were divided into groups of three. The teacher used to say clubbing groups of three as assigned open your lab manuals and here's all the required material for performing practical. So yeah go for it. But what I observed at that time is there was no curiosity among girls but the boys they used to rush and perform the practicals very quickly. While the girls they used to wait for the boys to finish so that they can copy the readings which came out while performing the practicals. At the same day I had this thought in mind in what type of culture I am living. Even by I'm studying these subjects it was emotionally weak for me. Helping can be hard. As I mentioned at the beginning of this talk I was also beginning with open source at the same time. So whenever I got stuck with something or need help with something I asked someone send them a DM. Most of the time nearly 95 percent of the time I didn't hear back from that person. I didn't receive any reply back. So I developed this thing in mind just because they are good at something doesn't mean they should be arrogant right. Maybe they aren't. And also trust me mentors in the open source are among the kindest people in the world I ever know. Maybe the person was busy. I was not asking questions in the right method or there could be like billions of reasons why I didn't get any reply back. So when I started restructuring my questions doing proper homework before asking most of the things were changed for me. It was like another side of the coin. Helping is culture. What I observed common between open source mentors and the teachers is that the teachers and the mentors are rushed to help girls more quickly than they help boys. They let the boys struggle a bit with the work they are doing and implicitly sending a signal that the boys are more capable. Ultimately they will figure it out somehow. At the same time I felt that the system is privileged and biased. It's totally understandable that the mentors wants to help the underrepresented people in tech to help them grow become better engineers. Help them in making money and in the promotions so that there is a balance reduced gender gap more diversity and inclusion in our tech industry. But at its core this plays into the idea that the underrepresented people aren't already skilled enough smart enough or ready for more responsibility or leadership. Opportunity and visibility not advice. What members of underrepresented groups in tech often need is opportunity and visibility. Not advice. They have to work extremely hard and be extremely good at the work they are doing so that they can combat the systematic privilege and unconsciousness biasness at play in our work environment. They're consistently under promoted and under compensated for the work they are doing even though they are excellent at their work. So these are some of the nice lines by Christy Tillman. Advice is just one thing a mentor give but there are residual benefits from visible proximity and tangential relationships to begin. So I would request everyone to give it a thought and think about it. Comunity Bridge with Thanos. Recently this summer when I did my community bridge in town trip with Thanos project of CNCF Bartek and Povilas they both were my primary mentors and most of the time I spent working with them. We used to have a weekly call. I saw how they both let me struggle with the code I was writing. How they helped me to grow to google myself and more importantly become self-independent. So yeah helping is a culture a culture of helping others and more importantly creating the culture for our community culture of people in tech and for me this in township absolutely turned down the culture and I saw how big helping can be. It really makes a huge difference in how the whole organization community or maybe class of a bunch of student feels and helps them in transitioning. The culture of organization plays a very important role and also focuses in terms of learning helping and if you have this kind of culture in your organization company or maybe in your college it means that you're doing absolutely great. You can hire amazing people more diversity among the organization. You can take junior fox and draw them into amazing senior fox. So today we are going to talk about tools getting technical help giving technical help and I'm going to share some of the specific tools for making these two things easier because you know they these can be really challenging. So without further ado let's talk about asking and first let's talk about the mindset of asking and then about some of the specific tools that you can use to make it more useful. As a developer it's exciting and challenging to stay up to speed with the latest trends in technology. Every day new challenges new languages frameworks and devices capture our attention. However our developer community is made of people not the tools and it's very fascinating to explore the socio-political aspects. Software engineers they are never done learning as our field is wide apart and it always keeps on changing. We are always beginner at some things and expert at others. Along the way from beginner to expert we ask a lot of questions but it can be intimidating to ask for help. So first of all the key rule is to remember that even if you're talking to a person who's a junior or senior they don't necessarily need to know everything and the same is applicable on you. Being a senior doesn't mean they know each and everything. It simply means you know some of the stuff they know some of the stuff and you both know some of the same stuff. If your code is not running giving you some errors or might be your application is not building this is a sign of progress. It means that you're about to learn something new and be sassy and brave enough to step up. It's scary and intimidating sometimes but anyway you have to push yourself through it. So here are some of the tools that you can use for asking. So the first one is choose the right place to ask. I just want to put this up here and I believe this is a base level importance because if you're working in a toxic culture no matter how good you become at asking no matter how brave and excellent you are you're definitely going to end up in a bad time. The people who are the founders leaders are going to set the culture so listen to them or if you're interviewing them ask them lots of questions whatever you have so that you know you're going to end up in good hands good place. Also online forms slack channels IRC are a much better place to ask. The rest depends upon the organization as every organization follow different norms different communication channels. Once you find a place don't just barge in have a look around to see how a particular community works before you demand for help. This should be the basic netique in some forms the same question gets asked over and over again so do your homework properly before asking a simple google research might give you your answer it will also avoid antagonizing the regulars. A lot of my google research is directed to me sites like stack overflow stack exchange which are both excellent sources of programming help and now I want to share a few don'ts don't expect to be spoon-fitted don't get annoyed if you don't get an answer in the first few hours. People ask you for more details someone tells you that you are doing it wrong and you can almost count on it and it has been occurred to me like many a times. So the second key rule is practice a 15-minute rule take 15 minutes to solve the problem in any way you can however if you don't have an answer after 15 minutes you must ask someone because if you keep escalating bugs without even trying to figure it out you're never going to learn how to solve problems on your own for yourself. When you're going to ask for help you are at least armed with the full context of the problem at hand. The third thing is explain what you're trying to do big picture rule because if you're secretive about what you're doing people might assume that it's your work assignment or maybe you're working on some commercial or it could be anything else. Also don't say I tried to run XYZ it didn't work please help you won't get any response or if you do they will likely to be sarcastic and unhelpful. If you're very lucky someone might say I can't help you unless you give me more details. There are a lot of very clever and helpful people in the community but if you don't give them enough information to be able to help you they simply can't and it will frustrate them out and hence you might get some rude replies. Also whenever you are explaining things suggesting things don't say I think delete I think say whatever you want to say without using the word I think. The fourth thing is say what you have already tried it will be really helpful for both of you. The fifth thing is say thanks and give feedback always come back and say thank you and let people know if their advice was helpful or not. This isn't a much of payback for giving out free help but if you can let people know their solution helped you this is their reward it's also an investment in goodwill they will likely to be there for you next time if you were one of those who said thank you for your time and thanks for your help. So to sum up here are the five tools choose the right place to ask practice a 15 minute rule explain what you are trying to do big picture world see what you have already tried say thanks and feedback so that was all about asking now let's talk about helping before I start on helping this is really a hard thing to do and we are never taught how to give critical feedback effectively we are never taught how to be good leaders we are never taught how to be mentors we are not taught how to be experts we are just figuring out the things as we go along so there are a lot of pitfalls here that are very easy to fall into it's also true that you have stuff to do you have a full-time job have kids and if someone comes in and interrupts you and asks you a question it's going to take a weird time on whatever you're working on and that's really challenging I totally want to acknowledge that up front but teams that are really successful know this is the job that helping your team be successful is helping everyone work to their full capacity is the work to do this is the role so even though it can be really frustrating in the moment to put down your own thing and help someone else try to take a step back and look at the big picture and that can really help everyone needs experienced motivated and highly skilled people to work with but people just don't get born with this in open source you are a variety of contributor sometimes it will be a badass ex-coogler who wants to help and might give you some amazing ideas but sometimes you will work with people who have just started their journey with programming the another thing that's challenging is remembering all the things being an expert can actually make it very difficult to remember but it's like to not understand what a variable is a variable is a very challenging concept to people who have never programmed before and you can forego that very easily when you spend all the day in an IDE or on the command line or you know whatever knowing something super well it makes it really hard to remember what it was like before and that can make it very hard to help them out and also very frustrating you have all probably helped people who are new to technology so now I'm going to share some of the specific tools that you can use to help someone the first one is encourage asking questions so whenever people ask you question be welcoming be gentle be compassionate and curious support people emotionally when people ask you questions like hey this is a great question be excited about the problem about the work you know problem related stress can make people seem rude or stupid even when they are not also there could be other two scenarios the first one is you are not getting enough questions at that time reward question asking you are getting lots of question teach them how to ship if the people are in the first few months deal with them and it's not really like you want to proceed maybe shape their behavior for example teach them how to debug effectively we have to look for help how to write better code let them struggle a bit because that's how we learn and grow also before you ask google it maybe search on the mailing list read the error messages try debugging or experimenting the second thing is create healthy environment by a healthy environment i mean you should read the people asking questions like they are your competitors or friends you should never underestimate them and for example if they are asking what is x y z you should never say you don't know even x y z this makes the environment really toxic and discouraging environment the third thing is explain the process and reason so after getting the question from people you should explain the complete process to them by process i mean how the things are running behind the scenes you should provide them enough data uh context or documentation links so that they can understand better there might be things of concepts which you understand but they don't tell them how you approach the solution for a certain complex problem how are you making those complex decisions tell them the reason why you know why you made this thing or feature like this way in this step make sure that if you are not spoon feeding them but providing enough resources from which they can learn after you gave them basic ideas this goes into a really long way but it will really make a very huge difference another point is help them to grow don't just grab their keyboards always ask first i have seen this in many communities and organizations and this is really harmful grabbing someone's keyboard and solving problem for them when the users or contributors are getting more ideas about your project you need to make sure that the wheel is running continuously by wheel i mean the process of turning contributors into maintainers because you will not always be there project will keep growing and it will need new maintainers to maintain them there should be a healthy environment so that they can turn into maintainers of the project after a certain amount of time and also help the other users last but not least use inclusive language by inclusive language i mean don't use the words like easy obviously just f wtw or guys because if something is obvious to you doesn't necessarily mean obvious to another person also and if it's not obvious it clearly states you are insulting someone so try to not use these type of words in github will request forms or discussions there are many times when your tone is misinterrupted by the other person so maybe add some emojis to that use some encouraging words and try to explain things constructively as well as politely so to sum up encourage asking questions create healthy environment explain the process and reason help them to grow use inclusive language successful and healthy community building a successful and healthy community takes a long time but after a certain point of time the result will be so sweet contributors will become maintainers and this chain will keep increasing over the time but the main point here is to keep in mind that don't push your support too much you should have a balance for the same because if you push them too hard or too far it can discourage them and backfire at the same time and if you keep supporting and helping them at every point they will not learn how to solve problems on their own keep a balance for the same because that's how we grow into successful and healthy community so yeah that's all about this talk thank you so much everyone and i have mentioned my handles feel free to ping me if you need any kind of help or support or have any questions regarding this talk again thank you so much everyone