 Good morning, evening everyone. Thank you so much for joining in. And my name is Payal. I'll be your session coordinator for this particular session. And so welcome me in joining Pooja Jagani and Manoj Kumar. And these guys will be having a very interesting fireside chat session on the topic. How can I become a committed. We are very glad that you people joined us today. Thanks Payal. Hello everyone. So happy to be here along with Pooja Jagani. So happy to have you here on an exclusive fireside chat session with you on. I think the title is how do I become a committer but it's more about how Pooja become a committer and I'm hope there are a couple of things that we can learn from her experiences on how she became a committer and how you if you are listening to this. However, you'd be interested very much in knowing about how can I become a committer or contribute to open source in general, you know, irrespective of any other projects, or in particularly in Selenium. Since the Selenium account will be very focused on keeping what is Selenium and how someone can contribute and specially learn many things about how Pooja has become a committer. Pooja, warm welcome to you. And I think I was actually preparing how should I introduce you. I mean, there's no actual any script or anything but I think one thing for sure I can say to folks listening is Pooja is the wonder woman of the Selenium project. She's the one and only active woman committer that we have. And so yeah, we are so happy to have you Pooja. Over to you. I would like you to introduce yourself to the attendees and also talk a bit about how Selenium came into your life. Thank you so much Manoj. First I would like to thank Pire for the quick introduction really appreciated. Thank you Manoj for such a generous description. And you'll be actually very kind and it's actually, you're also a little modest. You've been here for over a decade, you're a part of the PLC the planning committee and your contribution to the Selenium project in every aspect is commendable, and I'm more than happy to share this stage with you. And also as a part of the Selenium Confidence Light event. So, hello everyone, this is Pooja Jagari I think now you know that's who I am. I am a team lead at Browser Stack. I'll talk a little bit about my journey so everyone has an idea a little bit about my background so everyone knows how this fits right in. I, after doing my undergrad in computer science I did my master's from UCLA, after which I joined as a new grad at Adobe headquarters in San Jose. There I was primarily working on microservices and developing tools for internal teams. My goals were related to observability, building observability related SDKs observability related tools that are internal system sister teams could use about two and a half years later, I moved back to India to be with my family. As a part of transition, I was working in a small startup for a bit, but eventually I was looking at something that was a little more long term. And that's where Browser Stack came in. I found Browser Stack, I pumped it to Browser Stack, liked what they were doing, applied for a job. It turns out they were starting open source program office led by the very capable David Burns who's my manager and also one of the integral part of the Selenium community. And things went right and I landed a job in Browser Stack to work at the open source project and the first project they were working on was Selenium and I was more than glad, that's what it happened. Quite an interesting journey Pooja, thanks for sharing that. Welcome back to the last bit of introduction that you gave but before we pick it up on that, my first question to you is Pooja, according to you, what does open source mean and what do you think about contributing to open source in general. So like the, so I'll go to the first question, what does open source mean. I think the word itself says open, but when I say open it doesn't mean it definitely means that the code is open. It definitely means the code is available for everyone to use it and develop into but one thing I think a lot of people, maybe not necessarily look at from that perspective I think open source also means it's open to everyone in the sense it's inclusive to everyone. It doesn't matter what your background is. You could potentially be a doctor and want to write code as long as you want to do good for the project you could just come in. No one holds that against you and that's something I really really like about open source. Anyone who wants to contribute, it's very very welcoming. So that's that's one side of what does open source mean. And when you ask me the second part. So I think contributing to open source has a lot of a lot of scope for growth in multiple facets right like you can have. There's a lot of scope for personal growth. There's a lot of scope that you're actually working with the smartest people getting your code reviewed with the smartest people. So there are great learning opportunities and go and as you the more you collaborate with them. You also network with them so that comes in your net professional network that just happens right it just fits right in. At the same time you also become a part of this very big community. In which you're giving your learning from them you're giving back to them it's an endless cycle. And at the end, not necessarily at the end of the journey through this journey. It's immensely rewarding experience to know that you're contributing to a greater good that's helping a lot of developers out there. Nice, nice. Thanks, Pooja. So picking up from your introduction which is actually interesting to know because you said you've been interviewed at the role specifically for open source right. So my question is, I don't know how others feel but sometimes I've felt this and in my early days and I'm sure still a lot of people feel so is how do you feel about contributing code publicly. Because I know you have been a developer and you have been, you know, coding for your living, but that's totally very different from contributing to open source, right. So what was your, like let's take a before and after view around how it was earlier to now contributing code in public. Definitely, so I think to summarize in one statement, it's a joyful ride with the very shaky start. When I say shaky start, it's on me in the sense the before part of when I realized I was going to be part of the open source team I was very thrilled that I'm getting a chance to do this that we have this special opportunity to be able to do this. But at the same time, there was a lot of bouts of self doubt. A lot of thinking that what if I'm like, what if my code doesn't work. What if I mess up the code. What if it doesn't be the code quality standards like there was so many questions in my head. What if I don't understand the code code sources so big how I'd have to navigate my way through. So these were the kind of questions that came to me before I started. And the after part or maybe the during part is when I slightly gain confidence and I'll tell you how I think Selenium committers are the contributors have an important role to play in it. I remember when my first comment went in, it was related to absurdity because that's what I had worked in and that's what just fit writing as a transition just to getting started for me. First comment went in, there's always when your code is much there's a thank you that says thank you for the journey at the end that really helps is a big confidence booster. I got my first comment in I know my notes you reached out to me. I did not have active Twitter account you ask hey let's have a Twitter account we want to share your contributions showcaser to the world. And it was really really fulfilling to be able to do that. And slowly that's how I built up in terms of getting help from the committee whenever I wanted suggesting ideas. And always helping me review the code and you know give suggestions as needed. So the after part is now it's it's it's a beautiful joy. Wonderful, wonderful. I think my next question was around. Do you remember your first comment you already answered that it was around observability. So what I'm going to ask you next is, do you remember who merged it. I don't remember who merged it I have a feeling it's most likely Simon, but I unfortunately don't remember exactly who that got it got it has to be Simon Diego. This is fine folks right yeah it's a wonderful team we have got wonderful Pooja. Next thing that I want to ask is you've been around Selenium for quite some time now, like if you were to change something the way it is right now. Maybe you might be thinking, you know why the heck Simon has done, you know this way or you know why Diego has done it some way. You've been seeing the code that we've written over a year so over a decade and a half maybe what that would be. So, so I think when it comes to code wise I think they have a lot more expertise. And they're the ones I look up to, like I want to code like Diego I want to go like Simon, it's become like a role model sort of a situation, but I've often seen Simon leave these to do comments in Java. And if you go through it like if you just were going to get up so it's a little bit like slash, like comment to do, stop being lazy, comment to do Simon to enable this test to do this too much for the users, you know we need to rework on this. So there are a lot of to do items that he's left behind, which I always wonder why do we not get to it. I always wonder that either me Diego or anyone why do we not get to the tech that's that has been listed but I think it's also on us, there's just too much on our plate. So that's that's one thing I noticed. Another one thing is, there is, like, if you talk the selenium contributors they've been here for so long they have so much immense and implicit knowledge around browsers, the way they work before the way they work after the web driver spec. There's a lot of context in their minds in their heads, which always is not out and about and I don't blame them it's not something easy to just offload there's just so much out there which comes in maybe as conferences. But there's this one section on selenium website. There's newsings about how I think that I'm not trying to take that. But yeah, I think the further there are two tidbits in there and the first one is how atoms became atoms, how selenium atoms became atoms and it was just so good to know the context. So I just wish there was maybe an easier way to need to pick that context or to pick everyone's brain to get that. I think it's interesting how you picked up all the nook and corners of selenium in a short while. I mean Simon talked about atoms and why it was named it in a keynote earlier earlier this evening right. I mean, folks are listening if you attended Simon's talk, you know, told about atom. Now you see what I explain about atom right so that's, that's, that's about it in selenium. Now, I'm slightly moving on to how you organize your day Pooja like I know right now you have a full time contributor like full time role as an open source contributor. So how do you plan your day is there is there a roadmap that you follow or do you pick, you know, issues that you want to work on. So how does your day looks like and also tell us a bit more about how do you coordinate with the whole selenium contributors team. So pretty much the thing is I think one thing to keep in mind is selenium developers are everywhere. It's pretty much like everyone's working around the clock following the sun, whatever one may like to call it. So I'm from an India time zone so when I usually start my day in the morning. That's when either the American folks I think Titus is there around late sometimes so that coincides. But I think first thing I do is obviously check my email go through companies like the standard routine, or then I have dedicated time allocated to check selenium slack, because the selenium TNC channel commit bitten friends dedicated channel there's a selenium channel just for help or any other conversations pertaining to it. And that's what I go through and try to answer. If I have any concerns or things that need my reply. If it's usually I think in the morning it begins with Titus being around because people in the European continent are still sleeping. So I think that conversation gets wrapped up. He doesn't sleep isn't it Titus. No I don't think so he does. Yeah I mean I remember like we have a like whenever someone applies to join Slack channel we get an invitation to accept or not. And I used to do that quite often because we are in the Indian time zone and I remember still I used to do a lot and these days, you know for past couple of months I'd see it's already been approved like then I say it will be like approved by Titus partner I was like oh this guy doesn't sleep at all. Exactly what we have felt too so yeah I mean that's the team. Yeah, and I think once any of those conversations have gone through it's trying to either or typically I'll be trying to fix a bug, complete a feature or work on documentation that needs to be done. If like he said if I'm done with whatever I have on my plate or my mind the best place to go is the issue tracker. Have a look if there are any issues or pull requests that need to be merged in any way. There are some concerns that need to be looped back to the Selenium folks. We might have some internal like office commitments in general. And then comes the afternoon late afternoon time, which is when it's morning in the European continent and then you have David coming in and this day Diego around. So there's more chatter more conversations any questions concerns doubts that we may have that we carry on at that point of time. And I think additionally every two weeks is when the Selenium DLC needs. We have it on the Selenium DLC channel whether other folks as well, or helping for the betterment of Selenium and that's that's one thing I really enjoy because that's where people come together to discuss Selenium in all its technical strengths to plan for the next release to see what progress we have made in terms of pull requests the features we want in issues closed, what we want for the major release, but there's a lot of technical discussion that goes through. And one beautiful part about that is people come from different time zones, people come from different backgrounds, people come from different companies could be potential competitor companies. But in when you're in Selenium Slack, everyone is one of the male goal is Selenium and betterment of Selenium. And I really like how those conversations go. That's wonderful right I mean that's something related, you know the same thought process that I have as well I think it resonates well with the opinion that you shared I mean the inclusive around the Selenium project I mean we didn't it was not that good back in the days but at least slightly getting better in terms of what all we do. I think every person is very different and I think it is all has an influence based on where they come from, like what I mean, do they have English as their, you know, native speaking language or whatever it is. I think, I think the same rule applies in terms of coding as well so when we think through a problem, it all depends on the contextualization of, you know localization of where we are right now. The beautiful part that you touched about Selenium is the project where we have people from all over the world. Well, we should still increase the diversity Diego Diego wouldn't agree to it I know, but while we still we improve need to improve the inclusive of the project. I think so far that I've seen in the decade of even of being associated with the project. I think that is one thing that I've truly learned as well. It is very true like approaching a problem with a particular thought process it could be the other way around, and it is so, you know, welcoming and it is so inviting to see how people think through that problems and approach I think that totally agree with you that that's the best part about that's the after part that you mentioned I like you feel super fulfilled about. Yeah, that's great. You, I mean that's when it doesn't stop only from after you contributing code it also about when you're reviewing a code. That's, that's more important because that's when, you know, we, we have to improve a lot as well so given I talk about reviewing the code process push up. You've been a committer and have you what does you look for when you review a code when someone contributed in public. How do you go about commenting it or how do you encourage someone if, say I've contributed an API which, which absolutely looks bad, or it doesn't have to be the way that it designed, right. So how would you go about encouraging the developer or what will be your thought process. Have you come across any situations like that. I'm not exactly come across situations things like that but it's maybe a little sometimes like the intention is right, it's just that we want to approach the problem might not be aligning with the way Selenium things and it's nothing to take away from developer developers contributors time and effort we definitely appreciate that, but it just could be that there was some context that they might not have had, right, but typically when a pull request comes in I think the number one thing you see if it's correctness. If it goes with what Selenium project is intending to, if it's a, it's a legit bug or maybe it's a bug but then it. There's a different use case where it doesn't fit in or there's a feature that we were looking for first identify that fits in, if it does. If I let the typical code quality checks that one does any suggestions there are sometimes very healthy conversations that go through that hey maybe in Java this how we do it, or what do you think if we rename it this way. And then they share their opinion and you're pretty open to that and they're also pretty receiving about the comments we give. We try to ensure if there are sufficient tests of just to validate what we have like yes I think Selenium is very big on test driven so that is that is one loop like that's one feedback that we loop into it. And if there are more conversations, detailed conversations we welcome them to the Selenium Slack to discuss things at length and see how we can help them, how they can help us so that we can get their code landed in. Got it, got it amazing. My next question would be, Pooja, imagine me as a as an automation tester, right, I'm working in automation testing using Selenium for quite some time. But I wanted to contribute to Selenium. So, what are the places to look for how should I start contributing to Selenium. I think anyone who's new to contributing to Selenium. One thing I would like them to at least consider is every contribution has impact. It's not measured by how big or small it is or where it is a simple example. If one is starting off with the usually a documentation is a quick start. In the documentation, you might be missing some translations. We might be missing some features that you've not added, or they might be a code example which is not working correctly that could be any sort of a use case. And if they help us in that, imagine what is called with our documentation. It's impact, right. Similarly, if someone thinks that in a Selenium repo, anything that is that we want people's help from that they can help us and we have a needs help tag. We can filter by that there are issues there of they are more than welcome to ask questions and we'll reply discuss it further on slack as needed, but without if we didn't have their help, how will we progress further. So, it's, it's, it's important for everyone to understand the contribution, every contributions impactful, and that they're more than welcome in the Selenium community, and whatever they do that sense of belonging is going to be that. That is that is what everyone should keep in mind because then the fear of it being scary will slowly start. Absolutely. I mean, I agree more with it. I think that wordings I can totally agree with it like no contribution is small it's it's pretty impact. And I know we got like another six minutes more for a change I'll pick a question from the Q&A panel. From anonymous attendee. The question is who defines and manages the backlog for Selenium. I think that we don't have a single person who defines and manages a backlog for Selenium. It's not how we typically have in closed source project. And more of like I said we have Selenium TLC meetings where we identify the major action items that need to go in for the next release. What is missing, how can you bridge the gap, who can help take charge of it. That's one thing and I think one big part of open source is also it's, it's free flowing. It's also self driven. So it could be in the sense you look at a you look at the issue list and see there's a bug that's high priority that needs to go in. There's also a way if you think about it typically as developers, we have this sometimes you have a itch we can't scratch would be a technical debt changing library redoing code, but you get to scratch the edge in open source you can pick a priority you can go like hey, I think I want to read it because it'll be maintainable later. I want to rewrite the same way make it readable for a user as you can do that. So the backlog, it depends on where you're coming from or what do you think is more aligned with the Selenium at that point of time. Got it, got it wonderful Pooja. More questions coming in that's great. No question is silly please folks ask more questions. I think Pooja will also hang around in the hangout channel hangout table. Next question is from the man himself Naresh chain. This very wonderful question can easily so what was the hardest part of contributing to Selenium project. I mean we've talked about all nice things, but I know you're, you earned the commit bid yourself it's it doesn't come easily I know because I've been there. But what do you think is the most hardest part. The hardest part I would say is not getting scared of the more low repo we have. I think Simon has very gracefully covered the poorly got people we have and what why we have it. So that stays intact right in the previous self session today, but as it like when you're starting off, it's very easy to get started by all the I work privately with Java that's where I started you open Java earlier we used to have a client package and a server package now it's all one. So navigating your way through might seem hard at first, but the more one does it one realizes the logical grouping of it it takes some time, but I've also realized if anything seems hard, you ask the Selenium contributors, you'll be sorted. Absolutely. There you go. Any questions, I mean come to Slack channel, then we'll be there to help you out. Yeah, Arish agrees to it quite intimidating. Yeah, totally agree. Thanks for that question. Yeah, there's more questions coming and interesting. I'll hold on to my questions. But these are all very interesting. What is from Magesh Nagamani what is an interesting feature that you're currently working on with Selenium. Interesting new feature I wouldn't say it's exactly new it's a work in progress. What we're working on is what we call by die. I know not a lot of people are aware of by die so make it a little clear. It's a it's a bidirectional API. It's very similar to what Chrome DevTools protocol does but this is a more standardized protocol where all browser vendors are coming in together. And they have this, just like the web driver spec, they have a web bidirectional web driver spec, where when you're talking as a client to the browser you open a WebSocket connection, and then you can talk through it. And the reason why this is being done is a lot of things that happen on the browser as a vendor and because in a WebSocket it's a two way communication so you can subscribe to a web and browser can let you know if something of interest is happening. That was the code reason why this exists. So the by die spec is in progress browser vendors are working towards implementing those APIs. We already have a one flavor of it in the form of CDP and some user friendly API is like network interception, geolocation simulation, dog mutation identification, those kind of things, but by die is going to be a very standardized spec that we're willing to wanting to implement. We've installed slowly as browser vendors implemented. We're trying to keep up with the same. Wonderful. Wonderful. I think there's more questions coming in. We have two minutes more. I think slightly for a change that is a suggestion from Dinesh on when there is a new version. Why don't you guys do a video on the latest version? Can we have something similar for Selenium? Or are we already doing it? What do you think about it, Pooja? I think that's a valid suggestion or a concern. When we have a new major version, we usually have videos on it. I think last when we did Selenium 4, it was like a bang on entry sort of a thing. There was a blog about it. There have been videos about what's new in Selenium 4, even when it started till today. There's a lot of information out and about as to what's new in Selenium 4. I think the Selenium 4 new feature Simon wrote a blog. He has done videos on it and there's a lot of content that's gone along. So I think anything which has major changes coming in, we already covered ground and in case if you're missing something, more than happy to take suggestions or platforms where you'll have a better lead. Cool. Cool. All right. We'll take a last question, Pooja. It's been a wonderful conversation. I think the last question is around what would be a piece of wisdom that you would like to share to people who are looking forward to contribute to open source or probably stepping into the world of open source. Or who are just an automation tester now, or probably they are thinking about contributing. Tell us a bit, like tell us your thoughts around how they should overcome the thoughts and as well as, where is there any stereotype? Like given there are a lot of stereotypes around, did you experience any discrimination while contributing to the project? If you combine these both, I think we can summarize completely around what's the wisdom that you want to share to the people who are listening and hopefully next time we will have more committers on the Selenium from India specifically. Definitely. So I think earlier when I said that when what open source means, it means inclusive is what I've learned from Selenium. My interaction for open source journey so far has been Selenium. So all the experiences that primarily draw are from Selenium. So like I say, open source, it does not matter what your background is as long as you're willing to learn and take that effort and time to contribute for the good of the project. Trust me, there's no one who's going to go and see, oh, what are you on LinkedIn? Oh, what are you? No one's going to do that. There is no judgment. This is a very judgment free space. There are no sort of biases as long as you're doing good. People are willing to help you, people are willing to guide you, even mentor you to an extent to guide you in the right direction. So I don't think there's any sort of biases remotely that I have faced. You've always spoken in a very respectful manner. The thank you at the end of every comment is wonderful. The same thank yous and appreciations goes on in Selenium Slack, if you see, it's out for everyone to see, they can go see it. They can see it on a Twitter. It's all public. There is, there's nothing that we got to hide in the front. And also when it comes to piece of wisdom, I think I would again reiterate back to the thing that every contribution is impactful. The one is getting started. They can get started in any space. They want to get started. They want to help change a typo. It'll be wonderful. They want to add comments. It'll be great. They want to add example docs. It'll be great. Even if they want to come to Selenium Slack, where people asking for help and help reply questions, that is also equally beneficial. So any step they want to take a little closer towards the journey, it's helping Selenium community as a whole. So I would just suggest don't try and be scared. I know it was scary for me as well, but we have wonderful, wonderful folks to guide you through the process. Wonderful. Can summarize better. Thank you so much, Pooja and Manoj for being with us. I am very sure like all of the participants are very much influenced by Ukuja. And I'm sure there might be many more contributions on the way just by sharing like the awesome examples that you shared and your quote. I like very much liked your quote. Like no, every contribution is a significant one. So thank you so much guys. Thank you Pail for hosting us and Pooja, thank you for joining. And hopefully, you know, I've asked the right questions and it has been super helpful for all of you attended. And I think this is entirely a spotlight to bring the Indian community, especially our own open source. The first edition we had Shri Harsha, this edition it's a Pooja and I'm hoping next year we have a new editor, a new committer, you know, from our Indian community to the project. And we'll host them so looking forward to the next one and if I'm sure you're inspired by this so go join the Selenium Slack channel fire up your ideas and fire your questions to us. And I'm sure you'll become a committer too. Thank you so much. I will not lie. I was a little nervous, but this has gone. Like, it was smooth. Thanks to you. Thank you so much.