 Welcome to day three of Drupal Khan Vienna. Ryan and I are the community elected representatives on the board. And we have great pleasure to welcome you all to day three of Drupal Khan. I'm Shyamala. I'm from Unimity Solutions. I come from Chennai, India. We are a company that started using Drupal for publishing. And we're proud that we are today delivering ambitious digital experiences for many enterprises. And I'm Ryan Zarama. I've been a board member since April when I was elected this year to the board. And I've been enjoying finding out what that means and kind of representing, if you will, the developer, contributor, community at the board level. And as Shyamala said, we kind of wanted to take part in helping the community think through what it means for us to communicate about and think about Drupal as a platform for ambitious digital experiences. Because I think a lot of people hear that and immediately think, well, that's not me. I'm just trying to make a website for this person. Or they think about scale. Like, I'm not a huge, massive company. Forgetting that ambition isn't about how big you are or where you are right now. It's about where you want to be. It's where you want to grow. I think it's just adding on to what Ryan said. It's not how big you start, but how you hope to grow. And it's fascinating to see how young developers get an opportunity in Drupal to learn not just to be in the forefront of technology, but also have an opportunity being part of an open source to really develop and showcase their personality as a whole. My personal story had me starting Drupal development while I was making blinds in a warehouse at night and selling lenders on eBay. And then quickly discovered that contributing to Drupal and being a part of this community was a way to have an impact around the world, including in India, where some of our earliest Uber cart users were very supportive and helpful. And then all the way up to today with Drupal Commerce 2.0 being released and parties all over the world celebrating what really was like this community accomplishment that far exceeded my expectations for my career 10 years ago. Yes, we can't be at this event and I think it's important that we thank the people behind this event. A big thank you to the Drupal Association staff and volunteers who have produced this event. I think without their tireless work and many days of doing the things in the background which seems really to us just a seamless experience. A big thank you to the Austrian community. It's been amazing. Yes, the Austrian community has been just amazing and starting with the community summits to interacting with them at the DrupalCon. It's been an awesome experience just seeing their passion for Drupal. Take care. We're going to go through some housekeeping slides to get things started. If you haven't managed to connect two or more devices to the Wi-Fi yet, you can do so using the DrupalCon SSID, the password of course being Vienna 2017. If you would like to heckle presenters today, please use the hashtags that people are sharing, especially DC Joe, but find us on Twitter, Flickr and elsewhere. We love to see the... Oh, jeez. I'm behind. I like to read the feeds. For coffee, which I think was missing. There we are. There will be a coffee break immediately following the opening session here and paid coffee, of course, as you know, is available in the lobby and elsewhere in the venue in those handsome little black carts for food. Thank you again to Druid for sponsoring our lunch here at the conference across the hallway. You can find it there during two separate lunch hours that also have sessions staggered between them. You're vegetarian and have any special meal needs you're taken care of. Make sure you walk right to the back and you can find some really good food. I have it on good authority. The hummus is delicious. If you are new to DrupalCon or events that we put on as a community, we do like to remind everyone that, you know, for our code of conduct or standards of behavior and interacting with one another, we communicate about those on the website. And if you have any questions or concerns, you can always raise them with Adam or Rachel or email the community working group directly. Not sure, you know, for new folks, handled folks alike in the community, if you haven't been to a Drupal Trivia night yet, you can make plans to attend that this evening at 9 p.m. in Platinum Vienna. And I believe it's right off the U-bond, so it should be easy access. It's always a fun time, so feel free to come out and test your hardcore Drupal knowledge with the rest of us and be like me and shout out answers every now and then just to keep it interesting. On Friday tomorrow, we will not have the regular program schedule. Instead, we have contribution sprints. So if you are interested in contributing back to Drupal, whether that's documentation, screenshots, usability support, patch review and architecture, any of the above or something else entirely, we'd love to have you join us back here tomorrow. And especially for first-time contributors, we would love to have you come join us in the first-time sprinter workshop, which will be from 9 to 12. And then, I suppose, Drees will give you commit access to Drupal Core in the afternoon. And we do have one session change to announce today. Chris Taitzel will be talking about the future of Internet security in the 2.15 break. It takes me a second to convert the time to... Anyways, so you can find Chris there, learn more about Internet security. And then when he does a poor job, go to the DrupalCon website and evaluate him. Just kidding. Any feedback you have for any of the speakers here at the conference on the session forms, it's very helpful for the track chairs and conference organizers to know who to feature in different tracks. And it's also helpful for us as presenters to know how to improve the next time that we get a chance to speak. A big thank you to all the sponsors, the Diamond, Silver, Gold, Platinum sponsors who've made this without whom this event would not be possible. You have to make up something else to say. Yes, and also... Yeah. A thank you to the supporting partners, and they've been sponsoring the work of the Drupal Association and doing the mission critical stuff on Drupal.org. A big hand of applause to them as well. And for those who weren't able to join us at the public board meeting on Wednesday, you can review what we presented there about the infrastructure because it's pretty phenomenal the level of activity that we have on Drupal.org from hundreds of thousands of test runs to millions of visitors served and of course plenty of engagement and customization around the issue queues and credit system and so on. All of that funds that and keeps the lights on for all of us, so very grateful. And grateful also to Druid for being a Diamond sponsor here at DrupalCon Vienna. They are this morning's presenting sponsor for the Community Keynote and if you'd like to get to know them and their work more in Finland, you can just find them right out the door on the way back into the exhibit hall. And last but not least, today we have the honor of hearing from Joe Schindelar who is the lead trainer and lead developer of DrupalizeMe. I've known Joe for a few years through his work at Lullabat and now it's DrupalizeMe and I've really worked hard at DrupalCon Bogota to convince him to do training videos on salsa. But after he went out with me at night to a salsa bar and saw what that looked like, he decided against featuring us doing salsa training and kept with the more traditional Drupal program. For folks that maybe are new to Drupal or want to learn more about how to do Drupal, DrupalizeMe is a great option for learning from Joe and from others who just put on great training videos. So again, let's welcome Joe to the stage and you can find him on Twitter and Drupal.org is EOJTheBrave which is Joe spelled backwards and it took me like six years to figure that out. Yeah, it could be like a setting. Hi friends. I'm going to go ahead and start because I don't need the slides for the first part anyways. Ryan and Shyamala, thank you. You know how to make somebody feel special and important and I appreciate the introduction. And it's also nice because now you got a lot of the important details out of the way and I don't have to tell everybody my name. I do... There are a couple of additional things though that I want to tell you guys about me before I get started. I have some background information that I think will help provide a little bit of context for the stories that I'm going to tell today. I'm from Minneapolis, Minnesota. If you don't know where that is, it's about dead center in the North American continent. I like to joke that my house is about 3,000 kilometers drive from any ocean which is okay except if you want to visit the ocean. Minnesota is known for things like hot dish and hockey and people who like to talk about the weather. Did you know that Minneapolis has 151 days average every year that are below freezing? Kind of wild. Minneapolis is not known for being a destination for... Oh, here we go. This is working now. Yes. It's not known as a destination for people that like to snowboard which is unfortunate because I'm a big fan of snowboarding and I like to do that a lot. You know, here in Austria you get the Austrian Alps which is a great destination for snowboarding. In Minnesota we have Afton Alps which you can see here and you can see both the top and the bottom of the hill in the same photo. This run is the longest run at Afton Alps. It takes approximately 45 to 60 seconds to get down the hill. You can make in the average of like 8 to 10 turns and you're at the bottom of the hill. But it's still really fun. When you're passionate about something, anytime you can find the opportunity to get out and do it is a good time to get out and do it. And I feel the same way about Drupal. It's something that I've always been or at least as long as I've been doing Drupal I've been really passionate about. And anytime that I can find the opportunity to do more things with Drupal or get more involved I like to take that opportunity to do so. Today I want to talk about sharing and all the different ways that we as members of the Drupal community can share with one another. Sharing things like code when you contribute to Drupal core or sharing time when you volunteer at an event or give a presentation. Sharing ideas when you show up at a sprint and you help mentor someone else on how to contribute to Drupal or sharing knowledge and being a teacher or helping to update the documentation. Like there are a lot of different ways that we as members of the community can share with one another and that will help improve the project, help improve the community and also help us improve ourselves. And I think it's an important thing for us to talk about. I'm a firm believer that every single person in this room has something that they can share with everyone else in this room and that when they do so, when you share those things with the people sitting next to you and the rest of our community you're going to make Drupal better and you're also going to make yourself better. I think that sharing is a great way to increase the diversity of our community both the cultural diversity and the technical diversity and then when we do that when more of us add our voices to the pool and we grow the community as a more diverse community we can get better at answering complicated questions with new solutions that as individuals we may not be able to come up with. I think that when we share with each other we help build each other up and that's an important thing to do. I think that sharing makes you as an individual smarter. Like I said, I think it also makes Drupal as a community smarter. I think that sharing is a great way to create opportunities for yourself maybe in the terms of a job opportunity in the future but also for your friends and your coworkers and others around you maybe in the form of a job opportunity in the future. I think it's probably obvious and goes without saying but sharing definitely makes Drupal better. And sometimes it just feels good and it's okay to do things just because it makes you feel good or you enjoy it. I've been doing Drupal things for quite a while and one of the things I've learned that through sharing I've gotten a lot of opportunities and at this point I've got a job doing something that I love I get to spend time teaching people and empowering them to use Drupal to create awesome things and to solve their own problems and that feels really good for me. I've had the opportunity to travel all around the world to four different continents and a bunch of different cities and maybe more importantly I've gotten to meet a lot of people along the way and share my experiences traveling with them and have them share their cities and the places that they live with me and I've learned a lot about myself and about Drupal in doing so. And I think that all of these opportunities have come because other people in the community were willing to take the time to share with me. So, sorry, I need a sip of water. So like I said I've been doing Drupal for a long time I think that one of the things about this journey that has been interesting for me is that in getting involved in the community it has not been a thing where all of a sudden I woke up one morning and I said you know what, today I'm going to be an active member of the Drupal community. Today I know how to participate and I know how to share but instead it's been a bit more of a gradient. Over time I've learned that there's a real value in sharing and that in taking the time to get involved in the community has afforded me a lot of opportunities. What I want to do today is tell you some of the stories about how I've made that transition and kind of this fuzzy space in between the period of time where I use Drupal to build websites for myself or for clients but didn't yet really understand the importance of contributing to the community and being involved and then there's this sort of fuzzy period of time in the middle and now there's the current era in which you could say I've totally drunk the Drupal Kool-Aid and learned that participating and being an active member of the community has a lot of value and is really important. So in 2008 I attended my first ever Drupal community event and so maybe a little background before this story that is also helpful. For those of you that know me from the Drupal community as someone that gives presentations at DrupalCon or has their face on a bunch of Drupal training videos, it may be sort of a surprise but I tend to be a bit more on the introvert side of the introvert, extrovert scale and like for example coming to DrupalCon works well for me at this point. I've had a lot of practice. I can practice what I'm going to say for each slide before I get up on stage so that's a little less scary and I can spend the week in advance of a DrupalCon or a Drupal event thinking about who are the people that I might run into when I'm there and when I run into them what might they want to talk to me about and when I'm talking to them what are we going to talk about and I can just sort of mentally be prepared for these things and it's really helpful. The flip side of that is when I meet people that I maybe wasn't prepared to talk to like in the exhibit hall it's awesome and it's a really valuable experience but then I also find myself occasionally being like I got to go to the bathroom, I'll be right back and I walk over and I go in the bathroom and I wash my hands and then I come out and I usually like walk the other way down the hall which now I realize is not going to work anymore but I say this because in my journey to getting involved with the Drupal community one of my biggest hurdles has been dealing with that it's been dealing with the times where I feel uncomfortable putting myself out in front of other people and just having the willingness to say hello. So when I attended my first Drupal community event in 2008, I actually attended two events that summer one of which was Drupal Days it was the first of what is now the Twin Cities Drupal Camp it was a small camp organized by a bunch of volunteers it took place at the Science Museum in Minnesota and I decided to go I had heard about it I read about it on groups.drupal.org and thought, you know, there aren't really any classes that you can go and take to learn Drupal if you want to advance your career and you want to get better at this this seems like a good opportunity to do that and it'll be okay because you can definitely sit at a table in the corner where there will be no one else and you don't have to talk to them and you can just listen and absorb the information and it'll be great. The funny thing is not only did I attend Drupal Days I also ended up giving a presentation at the event Right, why did you give a presentation if you didn't even want to go? Well, it turns out that it wasn't because I felt like I knew something about Drupal that I could share with anyone else it was more of leverage for me to be able to convince my employer that I should go to the event but not have to take the day off of work and so I convinced that it was sort of like I'll give a presentation and I'll put our logo all over the slides and then you can pay me to go there for the day and it'll be great and maybe we'll meet people that also do Drupal things and if we need to hire someone in the future it'll be a good opportunity and so I submitted a session and it was selected and again probably not because I knew anything about Drupal but because they were just looking for warm bodies to give presentations and I was willing to do that so I remember going to this Drupal Days event and I've submitted a session and I'm already a bit nervous and I show up and you go to the registration booth and they've got little name tags and you put it on and you walk into the room and the conference is small enough that there's just two rooms there's an advanced track and a beginner track and then two rooms and we all started in one room and the room has a bunch of round tables in it and so I walk in and I'm kind of present I'm not the first person there and I'm not the last person there and I've got this problem where it's like the lunch room here so you go into the lunch room and you get your lunch and now you have to decide do I sit at one of the tables that has no one at it and hope that no one else will sit at the table so I don't have to talk to them or do I sit over here at this table that has a handful of people sitting at it already and maybe meet some new people and I'm like okay I'm here to like meet people and get involved with the community so I sit down at one of the tables that has people at it already and then of course I like get my backpack and I pull out my notebook and I set it on the table and I get my schedule and I'm like circling things on the schedule like as if I'm trying to figure out what sessions I'm going to go to even though it's like you know two tracks I could have memorized the entire schedule what I'm really doing is avoiding making eye contact with anyone or talking to them and like everyone else at the table is doing the same thing where I'm just kind of like I hope no one says anything and then I'm like alright the introverted me is like this is getting really awkward I need to break the silence here and like at least say something and so I say hi I'm Joe what do you guys do with Drew Paul and so here I am sitting at this table with a bunch of people I don't know already feeling like an imposter because I'm going to give a presentation in a little bit and then they're going to know for real that I don't know anything about Drew Paul and now I've just admitted to them that you know within 15 minutes of being here I don't even know how to say the name of the software that we're all here to talk about and as you can imagine it was kind of embarrassing it was quite embarrassing though but thankfully the people at the table that were sitting there they didn't laugh at me they didn't make fun of me they were just really generous and they corrected me and they informed me that it's not Drew Paul or Drew Paul it is in fact Drupal and I can tell you something I have never gotten it wrong again really? that's what I'm going to get applause for guys I can pronounce the name alright but I've also never laughed at or made fun of or in any way felt anything other than empathy for anyone else that's ever gotten it wrong like the first thing I did was say oh you know what that's funny I totally did the same thing the name of the software is in fact Drupal so that was an important lesson for me and just sort of making sure both I can pronounce it now but also in participating in a community and being generous and being courteous and not making fun of people in any way so then it becomes time for me to give my presentation and I stand up and I give a presentation about the develop module and I've got 30 minutes to give this presentation and like 12 slides or something like that and so in the 30 minute time slot I'm like alright I can cover everything in the develop module and I proceed to rush through like every single slide and it takes about 15 minutes to get through the presentation and I've definitely covered everything that the develop module can do and I know this because I printed out the source code so that I could read it on the bus like to and from work just to make sure that I was going to cover everything that the module could do and so now I've given the entire presentation in 15 minutes which means we've got 15 minutes for Q&A and all I can think is oh man I hope nobody asks any questions because I won't know how to answer the questions and it's going to be really awkward but of course people did ask questions and then something awesome happened I actually nearly answer to some of the questions that people asked and some of the questions I didn't know the answer to but it was okay because people in the room that did know the answer were willing to stand up and say hey you know what I know the answer to that question and it was this really cool experience where I went from you know at one moment feeling like alright I got this I know everything about this module that anyone could ever want to know to immediately feeling like oh they know they know that I don't know everything and I made that obvious to a moment where as a community those of us in the room were able to share our knowledge with one another and I guarantee you that every single person that walked out of that room learned something about the development module that they didn't know before including me and I think that the lesson there for me was that my being willing to give the presentation even if I didn't have all of the answers my being willing to start the conversation was an important part of that experience in a way for all of us to share and learn together and I learned an important lesson from that I think the lesson for me was that everyone has something to share even if you're not the person that wrote the module even if you don't know everything single thing that it does just being willing to be the one that starts the conversation means you've got something that you can share and that you're going to get a conversation started and get other people involved regardless of where you are in your journey along the path to becoming a Drupal contributor you've got something unique that you can bring to the community that you can share with the rest of us it's an important thing to remember another thing that happened as a result of attending that Drupal days in 2008 that room where I you know initially was very embarrassed that I didn't know what I was talking about I met a bunch of people that day who now 10 years later I'm still friends with a lot of them don't do Drupal anymore but we continue to be friends some of them do Drupal still and live in the Minneapolis community and I see them on a regular basis and it's always kind of amazing to me how just sort of being willing to step out of my comfort zone and go out and talk to other people a little bit about Drupal develop these friendships and relationships that have lasted for such a long time and I value that quite a bit so everyone has something to share but sometimes figuring out what it is that you have to share can be a challenging thing to do it certainly was for me you know I had this idea and I still struggle with this today I have this idea that there's like this is a room of all of these amazing Drupal experts you know people like Angie and Wim and Tim Plunkett and people who know more about Drupal than I could ever possibly know what is it that I have that I could contribute and share with them wouldn't it make more sense for the people that wrote the development module to give the presentation about it than for me to give that presentation because they certainly know how it works better than I do you know I deal with this today still I was thinking about this this morning so Dries was standing up here on this stage and now I'm standing here giving a presentation and this morning all I could think is like well what do I have that I could say about sharing with Drupal that he doesn't know already and that he couldn't tell you better than I could do and maybe nothing maybe there isn't anything that I can say that he wouldn't be able to say already but just me being willing to do it is contributing and starting that conversation so I think that's an important thing to remember this is an imposter syndrome it's basically like I assume that everyone else in this room knows more than I do and that I don't have anything that I can contribute but it's not true you may walk into a room where everyone in that room knows more about Drupal than you do or the person sitting next to you does but the things that you know aren't just limited to what you know about Drupal every one of us has a different life experience that we bring to Drupal and that's just as important as what we know about Drupal you know all of the experiences that you've had that diversity that you bring to the Drupal community helps us to think about Drupal and solve problems in new and unique ways additionally even if what you know is the same as what somebody else knows just being willing to say it out loud or share those things again is valuable you know to say the words like five or six or seven times before people internalize that I think the same is true when you're learning new concepts like how hook form alter works you have to experience it multiple times and have heard it from multiple people before you really internalize it and make that knowledge your own and so getting to hear it from a variety of sources that's really valuable so I think for me it was just a good reminder that there's a lot of things that I bring to the table to make my knowledge about Drupal and when I do that I get to help make Drupal better because I think this is what it looks like when all of us do that when we all combine together there's certainly going to be overlap in the things that we know about Drupal you know you turn to the people sitting on either side of you there's going to be overlap in your knowledge about Drupal there's also going to be gaps in that information but when we combine that together as a community member and it's what makes an open source economy like Drupal's in that where everyone shares the knowledge that they have really powerful I like to think of this as sharing creates diversity both cultural diversity in that it allows other people with different life experiences to bring that experience to the table and to make sure that when you're solving for a problem a particular problem in a module or a user experience that you're keeping in mind what they know and the experiences that they've had using the internet or using the software but also technical backgrounds and technical diversity too when we bring in people from other communities and allow them to participate in the Drupal community we benefit from the knowledge that they bring with when you participate we benefit from the knowledge that you bring with from all of your previous experience whether that's writing Drupal code or anything else and I like it because when the community comes both cultural and technical the better we're going to get at solving hard problems and that's an important thing to remember my friend Wes sums this up really well and this message that he posted on Twitter a few days ago Wes said being the smartest doesn't matter getting a diverse and reliable group that covers the needs of a project is the most important thing for good work and I think that Drupal is what makes the project as powerful and as capable as it is it's not that there is one or two rockstar developers that wrote all of the code and made it do all of the things that it's capable of doing it's that all of you contributed what you had that you could provide that made it better together so I agree with Wes on this sharing creates diversity and I like to think that we all do better when we all do better so around the same time that I attended my first Drupal days event in 2008 I also mustered up the courage to try this submitting patches to Drupal Drupal.org and for me it was a little bit of a bumpy path and I want to tell you about that my first patch at least the first one that I remember it may not actually be the first patch but I definitely remember this is that there's this was for like Drupal 5 there's the admin menu module if you're not familiar with it it adds like a black toolbar on the top of the page similar to the toolbar in Drupal 8 it moves all the administration links up there and for a client project that I was working on there was a requirement where we needed to add an edit link in the top right corner and it had to be in the admin menu toolbar so this is like a couple of lines of code that I wrote that would move the tab that is normally above at the top of a node on a page where you can click edit it moved that edit link into the toolbar that was it nothing complicated and I thought well this is cool maybe it would be useful and it turns out like I don't know ten years later we actually have this feature in Drupal 8 now there's an edit link in the top right corner so I wrote a patch for this and in order to do so I read the documentation for the diff module and I learned how to make a patch and I made a patch and I probably read some of the documentation and uploaded that patch to Drupal.org or at least I eventually uploaded the patch to Drupal.org what really happened is I made the patch and I made this editor work in my free time and well I guess I had written the code at work and then I went home and in my free time did this and I made the patch and I go to Drupal.org and you have to upload the file and then you've got to fill out this really complicated form where you can submit an issue and you have to come up with a title for your issue and I'm like what am I going to call this patch and then you have to fill in the body field and it's like I remember agonizing for a very long time over what am I going to title this issue what am I going to put in the body of this issue what if my patch is wrong what if my code is wrong what if when I upload this someone notices that my code is wrong and then they tell me that it's wrong and I sort of fought this demon that was like no it's okay you should submit it don't worry it'll be fine and then this like just don't do it just let the module maintainer do it maybe there's a reason that this feature doesn't exist and then just thought well we don't need an edit button up there so we don't need to implement that feature and I struggled with this a lot I actually I filled out the form and I attached the file and then I was like you know what I'm going to do I'm going to sleep on this and if I still feel like submitting this patch in the morning then I'll submit the form and so I get up in the morning and I go to submit the form and now I've hit the like form cache expiration and so I actually have to fill the field out again and go through this whole thing and eventually I eventually submitted the patch and then I spent like the entire day hitting refresh waiting to see is anybody commenting did anybody see this not yet eventually though somebody saw it and they took a look at the patch and they replied and the very first response that I got and what I learned from that response was that my code was wrong I obviously didn't know how to make a diff because I had made the diff the wrong way like I tried to remove code that didn't exist and basically it was this like hey sorry well not even sorry it seems like you diff the wrong way isn't there a more generic way for this conditional statement don't forget we're dealing with the menu system and all of this for me is like the menu what okay it was tough and I read this and you know looking back at this now I I went in like actually read this read again and it's definitely not as bad as it experiences it is in my memory but I think the important thing is to remember that at the time the way that this made me feel was not awesome I basically come away from this feeling like you did it wrong do you even know what you're doing and the obvious answer was no I don't know what I'm doing can't you tell and it sucked I didn't feel good about it and unfortunately I know that this is not a unique story I've talked to a number of other people that have had similar experiences where you sort of antagonize over is it worth me taking the time to write this patch or contribute this thing what do I know that they don't know you know somebody else probably already thought of this and already had this idea and then you finally kind of get over that hurdle and you get an unfortunate response of do you even know what you're doing and the obvious answer is no no you don't know what you're doing in that moment I was totally heartbroken and it was not fun it took me 10 months to muster up the courage to submit another patch after that and I did I finally came back around and I was like no this is important I'm going to submit another patch I'm really going to do this three lines of code similarly not useful I upload the patch I antagonize over it for a while I refresh a bunch and the first response is I noticed that you don't know how to make a diff you made it the wrong way and I'm like oh my god I did it again yeah I know how to do this now most of the time I know where to find the documentation that tells you how to do this but the response this time was a little bit different too so I made the diff the wrong way and I wrote code that didn't really accomplish the thing appropriately but instead of just sort of being mean and saying do you even know what you're doing Jared replies hey it looks like you got this wrong later in the comment you can't see it here there's a link to the documentation that says if you want to know how to do this the right way go check out this documentation and this is a really simple patch so I actually went ahead and just applied it anyways because it turns out you can do that with the diff tool you can just pass in a flag and it works and when I did that I was testing the code I noticed that there were some other mistakes have you ever seen this function in Drupal did you know that it would do this thing maybe you should try that instead and so instead of just putting me off and saying you don't know what you're doing Jared said it looks like you don't know what you're doing and here's where you can find some more information about what you need to do and how to make this work and so that was a much more pleasant experience I like that holy cow I contributed a patch and it got applied that's awesome and so then as you might expect I waited for I don't know another like 10 months or so and I decided to contribute another patch this time I decided I'm going to contribute something to you Drupal core which is like a whole new level of intimidating at least it was for me I would do this thing where I would go home and I would pick an issue in the issue queue and I'd be like alright tonight I'm going to contribute and then I would read the entire issue like all 100 comments and I would get to the end and I'd be like that's cool I don't have anything to add to this discussion but it did take me an hour to read all of the comments and now I'm done with the time that I've allotted to contributing tonight so I guess I'm going to go to bed and try again tomorrow comment threads on Drupal.org eventually I mustered up the courage to contribute and I decided that I was going to I was interested in the image handling work that was going on for Drupal 7 and I thought okay this is important to me I think it's really cool I've read all of the comment threads a couple of times I have some sense of what's going on and there's a patch here that needs to be re-rolled which is really just a matter at least for me it's like I can do work and make sure that it still applies I don't even have to come up with new ideas but anyways in that process I submitted another patch I put it together I uploaded the patch I actually got the diff the right way this time that was important and then Nate came along and responded to my the work the effort that I had put in and the first thing he says is thank you and that to me was like wow you're welcome and that made me feel really good that made me feel like I had something to contribute and then Nate also said he answered some of my questions I posted the code saying I don't know entirely what I'm doing in fact what I had done was I had written like 300 lines of code to implement some functionality that already existed in Drupal there was just a function that you could call that would do the thing but I didn't know that that function existed he answered my questions and then also pointed out did you know that you could just call this function instead and I was like no I didn't that's awesome thank you and and eventually after a lot of back and forth the patch got finished and it got committed to Drupal core and I had this moment of like holy cow that's my name next to a commit in Drupal core it was really cool thanks and it honestly felt really good the takeaway for me from this experience was that every time you interact with someone in our community you should be aiming to build that person up and help them become a better participant in our community and that when you do so you're making our community stronger because when you or anyone else takes the time to share or to be a mentor to other people you get to build them up and you get to make them better when you say thank you instead of you did it wrong even if you say thanks you did it wrong it's a lot different than just saying you obviously don't know what you're doing and the cool thing for me was that this experience was super motivating I had finally like had some success people were nice to me and I continued to get more and more involved over time you know after that first experience where I uploaded a patch and it was wrong and I had a poor experience participating in the Drupal community but I didn't I gave it another shot and thanks to the generosity of the people that I interacted with those second and third times I discovered that I like doing this and I kept doing it and I ended up contributing quite a bit over the next couple of months and Drupal and Drupal's image handling system is better because of it that was cool and I think it's important to remember that I also so it turns out that I now actually work with both Jared and Nate and I was on a phone call about a month ago with Jared and I was telling he was telling me I heard that you're gonna be the community keynote at DrupalCon congratulations and I was like oh thank you it's funny that you mention that I'm actually gonna tell a story about you in my presentation and he was like what what story and so I told him the story I don't remember that at all I'm like oh I do and it was in that moment I had an important lesson which was when someone else in the community does something like that for you when they have an impact that influences you and allows you to continue to be motivated and involved in the community it's also important to remember to say thank you to them and sort of celebrate those things that were very important to you but someone else didn't even remember because when I was able to tell Jared this was really cool thank you that moment influenced the next 10 years of my life that's pretty cool and Jared was like I remember that now thanks I mentioned snowboarding earlier so in addition to Drupal one of the other things that I'm really passionate about is snowboarding believe it or not I do things other than Drupal leaving my house once in a while one of those is teaching snowboarding I've actually been doing this longer than I've been doing Drupal and I got started teaching snowboarding I could get down the hill but I wasn't very good at it one of my friends worked at a ski school that was desperate for snowboard instructors and I was able to get the position teaching snowboarding not because I was better at snowboarding or not even because I was good at it but I was good enough that I could get down the hill and that was better than some of the other people could do and they were like you're a warm body you seem nice you can get down the hill that's better than the kids that are just starting can do and so I would go and I would teach snowboarding teach I would go down the hill with the students and they got better and I got better primarily I think just because of mileage which is similar to learning a new software participating in a community you have to do these things many times you don't get it right the first time you get better at it every time that you do it after that mileage is just as important as actually the first time that you've done it and what happened is like over time in that experience of teaching snowboarding I also got better at teaching snowboarding I learned initially it was like go down the hill alright now turn right and I learned that it's a totally different thing to tell someone to turn right than it is to tell them how to turn right to turn right and you had to learn a lot about physics and the way that a snowboard works and a way that your muscles work and you know rotational inertia and all these things that I didn't even know existed in order to be able to tell someone else how to accomplish them and I learned how to do those things and in doing so it made me a better snowboarder so in learning how to teach other people how to snowboard or in learning how to you know help other people contribute to Drupal I've gotten better at doing so in the medical profession you often hear this expressed is see one do one teach one and the idea is that if you really want to master some technology or skill or anything the process that you go through is first seeing it so watching somebody else do it or read the documentation in the medical world this would be observing someone performing the surgery as a student and then you move on to doing it yourself you're writing the patch now you're the one performing the surgery you're the one that's teaching or you know you're the one that is getting down the hill on the snowboard and actually knowing what you're doing and then after that you get to move on to teaching and this is sort of like in order to be able to teach someone you need to really understand how the thing works and so now you're not only are you the doctor performing the surgery you're performing in a school environment where other people get to watch and learn from you this is like going to a mentored sprint at DrupalCon so you get to go to the sprint tomorrow and this is your first time you get to sit down at a table and you get to watch someone else or participate with someone else who has done this before what the process is like how to make the diff the right direction and then you get to go home and you get to practice this on your own you get to write more code or you get to contribute more documentation and do this yourself and then next year you get to come back and go to the mentored you can take these skills that you have and you can be a mentor because you know a little bit more than someone that is new to this for whom this is their first sprint and you can help them figure out how to make the diff the right way and how to move on and demonstrate that you've mastered that skill I think of this as sharing is a way that makes you smarter you and the people that you're sharing with as well so in addition to building others up after so as a result of like teaching snowboarding for a number of years I learned that something that I really enjoy doing is teaching and so when I was looking for new opportunities and this opportunity came up to get a contract position teaching people how to use Drupal I was like I know how Drupal works sort of at least I know how to make a diff which is more than some people know and I like traveling and this says you can travel the world and empower people with Drupal and I thought I should apply for the job and see how it goes and I got a position doing this working at Lullabot at the time doing training it turns out that so back in the day when you would apply for a job at Lullabot you would submit your application and then your application would get posted on this internal wiki and everyone in the company would look at your application and they would rate it and they would say like this is what I think about Joe this is what my experiences with him in the past etc etc and so eventually I get the job and I get access to this internal wiki and the very first thing I do is search for my name and I discover this thread where like everyone that worked there prior to me was discussing my merits and whether or not they thought the company should hire me and it was it was mostly positive and in particular there was a comment from Nate who I had interacted with in the issue queue previously I know him personally but he's been super helpful in the issue queue and he's done this and this and he seems like a good guy and I think that in part that's how I ended up getting this job and for me this was this cool moment where I was like wow the fact that I was willing to share in the past and contribute some of what I know and some of my time to making Drupal better led to this really cool opportunity where in the future I got a job at the time I couldn't have projected that you know or two years the result of this is going to be I mean to get a job teaching Drupal but it's interesting to look back on it and see how that thing that I shared in the past has created opportunities for me now as a Drupal instructor one of the things that I learned how to do was explain some of the weird nuances of Drupal in particular with Drupal 7 I guess 6, 2 when you're creating a theme for versions of Drupal that are not Drupal 8 you've got template files .tpl.php files where you put your markup and a little bit of PHP and then you've got the template file template.php where you put all of your PHP and none of your markup and so we would give these theming trainings and you'd be like alright so what you need to do is you need to create a template file and put some markup on it and then in the other template file you need to put the PHP and people would get really confused about like the difference between the template file and the template file and I got super good at explaining this like I could give a presentation and like 2 or 3 slides I could clarify all of this for you and it would be not confusing to anyone in the room which I thought was a really cool skill but it turned out that for a lot of the people in the room it didn't matter how well I could explain it this was still just a really confusing thing like why bother learning how to explain this when you could just instead fix it and I had an experience where one of the students in a workshop that I was teaching sort of pointed this out to me and it was like I get it it makes sense you could also rename the file and I was like yeah yeah you could that's a really good idea I hadn't even thought about that you know I've become so accustomed to this I inherently know the difference I don't even have to think about it so I wasn't able to see what they as a new person or new to this I didn't see about how the system worked that maybe didn't make sense you know sort of the Achilles heel of expertise is you you you see what you expect to see your expectations get set through repeated experience and so you've experienced this enough times that it's just like I know how it works I don't need to think about this anymore and I learned that like one of the benefits of sharing and especially of teaching and sharing that will allow you to see things through a different set of eyes that will help you solve problems in unique and novel ways that you yourself may not be able to think of you know when you work with a technology like Drupal or any technology the thing that makes you really good at it the thing that makes you an expert is all of the assumptions that you can make about how the thing works so that you don't have to go look it up but certain things may be complicated because you just gloss over that complicatedness as you already know how it works new people can help you check those assumptions sharing your knowledge and trying to explain things to other people can help you check those assumptions and make sure that we're improving the software not just glossing over the details I think this is just one of the many many ways that we can make Drupal better again this comes back to that idea of creating a culture or a community that is more diverse culturally and technically is going to allow us to be better at checking those assumptions and coming up with good solutions to all of the problems that we're going to encounter so sharing makes Drupal better last story I also in the Twin Cities in Minneapolis where I'm from there's a chapter called Coder Dojo you can go to Coder Dojo as a volunteer you can go and teach people about programming and about the internet and technology and get them really excited about how cool the internet is which is really cool I get excited about telling people that and kids come to Coder Dojo it takes place on Saturdays I occasionally volunteer at it probably not as often as I should at one particular time I showed up with my friends that had never been to Coder Dojo before but they wanted to learn about how web development worked and I was like I got this and I go over and I like grab one of the white boards and I wheel it over the table and I grab a marker and I'm like let's start with the basics and so on the white board I draw like a picture of a browser and then on the other side I draw like a server probably like a Drupal drop and then I draw a line connecting the two and a little cloud over the line and then the cloud I write TCP and I'm like all right so if you want to know how the web works we got to start here and I kind of launch into this and these boys are like 10, 11 years old and but I'm like I'm an expert at this I was born to explain this problem and and I very quickly realized that they were not this was boring to them they weren't interested in the intricacies of like packet routing what they really wanted to do was like and so I back up and I'm like whoa okay this isn't going anywhere let's start again hi my name is Joe I like snowboarding I'm excited about you know the Olympics coming up I'm really hopeful that Danny Davis will land his triple on the you know super pipe this year and then what are you guys interested in and they're like hockey and I'm like of course you're interested in hockey we're from Minnesota and so we start talking and we go to show me some of their favorite hockey websites and we look at some of the websites and in particular we look at a site that is showing the scores for one of the recent games and the Minnesota team has lost and I'm like we could fix this you guys and so I pop open the Web Inspector in Chrome and I'm like so this is HTML this is how the web works this little bit right here represents the score this thing right here this is called a you can do that I was like yes yes and they're like can you do that on Facebook too and so and so for the rest of the afternoon we went around and hacked the Internet and it was super fun and they learned a bunch about HTML along the way and I learned that sometimes sharing is awesome just because it feels good that was a moment for me that was really motivating you know it was like I started out being like well the Internet's boring and complicated and it starts with TCP connections and let's talk about this and it very quickly went to like no you know what this stuff that I take for granted like putting a class name on a different element in the DOM is actually really cool like we do really cool and really powerful things all of the time and that was a nice moment for me to remember that and also to share some of that passion and enthusiasm with other people who then came back later and were like and eventually we learned more about HTML and how that worked so sharing feels good and it's okay to do things sometimes just because it feels good or just because you want to and and so you know lucky for us each and every one of us has something that we can share we all have this opportunity that we can go out and inspire others and feel good about doing that we all have ideas that we can as mentors I press don't press that button we have you know simply by adding our voice to the pool to Drupal's community we help increase the diversity of the community and just that act of sharing is going to help us solve new problems in new ways Drupal sharing is going to make Drupal better taking the time to teach others helps them make Drupal better you taking your time to contribute code or to volunteer an event helps make Drupal better sharing makes you smarter when you if you really want to master a skill teach someone else how to do it share that knowledge with someone else and you know the amount of time that it takes to prepare and be comfortable to give a presentation I've learned a lot just from getting ready to do this presentation that I'll be able to carry forward in the future sharing creates opportunities that might be in the form of a job it might be in the form of an opportunity to go visit a friend that you met on the internet in a country that you've been to in a city that you've always wanted to visit and see some cool castle or try some new cuisine and sometimes sharing just feels good and it's okay to do things because it feels good so my call to action to everyone here as you're going through the rest of your day at Drupalcon as you go back in your own communities and you're figuring out what am I going to do now I'm really enthusiastic and expired that Drupalcon is over I want you to think what it is that you're going to share how you're going to support others who have figured out what it is that they want to share and how we can all do that better together is this thing on? alright how about a great big thank you to Joe thank you so much that was wonderful really appreciated that so I have got some questions for you would you like some water you've got some so my first question after listening to this amazing presentation all about how we can come together as a community and make ourselves better by making the community better is how do we do more of that do you have any tips or any suggestions for people who want to help grow their local communities what growth hacking techniques could you suggest for us or other buzz words that you'd like yeah yeah I think there are a lot of ways that we can grow our community especially at a local level I think maybe a really important one for me and something that I think about a lot is making sure that as someone who is active in the local community trying really hard to make sure that people have a really positive first or second or third experience when they attend an event or when they participate in our community taking the time to say thank you just making sure that like people's initial impression is a good one so that they want to come back and do it again and we'll continue to grow the community that way because if we scare people away we're going to have a hard time growing our community excellent if you were to see a community that was maybe not very diverse you mentioned diversity in several ways what do you think the people who are in that community can do to foster more diversity what should they be thinking about and what actions should they be taking to bring new and different people into their local communities that's a good question I think being conscious of it first of all is an important step like being willing to say diversity is important to me and to us and I want to improve that and make it better and like if you say it out loud other people will know like yeah I should probably think about that and help with it I think that you know taking the in the community that I'm the most familiar with in Minneapolis one of the things that we've done recently to try to increase the diversity of our group is sort of reassessing how and when we as a community get together and recognizing that like maybe having a happy hour at a bar isn't always going to be the best place for people to come it's a good place for a lot of people but we should also maybe consider doing things during lunchtime sometimes so that people can participate we should consider going to not a bar so that people that don't want to go to a bar can participate and making sure that we find opportunities to allow people to get involved in the community that works for them and not just assume that they're going to be able to do it the same way that we do it interesting so like varying formats and giving people different experiences and maybe different places and I think that's part of like making sure that people have a positive experience that first time too it's like if you're a person who is not interested in who does not like attending events that take place at a loud bar that first experience might not be positive if that's your only option but if you do like getting together with a small group of people and drawing things on whiteboards making sure that we can facilitate those types of interactions cool so sounds like there's a couple of things in there that might be detractors to growing communities what other barriers do you see in community growth and how might you solve those do you have any solutions in mind I feel like I just keep giving the same answer be nice to people just don't be a jerk yeah don't be a jerk the takeaway yeah I think that what makes it hard for you I mean you mentioned like the demoralization that you felt but were there any difficulties around the technical aspect of contributing or for non-technical people maybe who are getting involved might they have difficulties I think the thing that's always been the hardest for me feeling like feeling like I have something to contribute and not feeling like an imposter and feeling comfortable like going up to you know yourself or Angie or people in the community who I look up to and being able to say hi I've got a patch that I'd like you to review or I have a question about this thing that's for me personally that has always been one of the biggest struggles to participating and so I think about that a lot and especially anytime that I'm meeting someone new or I'm interacting with people it's like remember what that experience was like for yourself so that you can make sure that it's good for this person that you're interacting with and you know it's like I get that at this point my face is on a lot of videos that people watch and learn about Drupal and it's you know I meet people at DrupalCon and it's you know I've seen your videos it's awesome thank you for everything you did and I try to remember like this person just made a took that really big step of walking over and saying hi and introducing themselves I want to make sure that I you know appropriately respond and put as much energy into saying hello and thank you and what are you doing here and what's your name and how would you like to get involved with Drupal is they put in the energy that they put into kind of getting over that hurdle of just coming over and being willing to say my name is Joe okay so I like the way that you answered that and giving tips about like how to approach someone who approaches you because that's not always very easy either being on the other end of that I can help people and what do I say to someone who just walked up to me so thank you for that what would you say today in terms of contribution you have a lot of passion about giving back to the community is there something that still inspires you to keep going back to Drupal and keep giving more yeah there's a lot of things there's a lot of things that keep me coming back to Drupal and having done this for so many years you know for me I think the I love the fact that we all work together to build this tool and this community that is empowering others to have some of the same opportunities that I've gotten to have and I think it's so cool that I've been able to get a job you know get paid to do something that I love to do and travel and make new friends and I really want other people to have that opportunity too and so that's like the thing that gets me like out to the local meetup and willing to interested in talking to people or willing to contribute to Drupal and it's like I think you're probably not alone in that I think everybody here can relate to that feeling of really great I really liked that where you said that a quick question around something that's maybe not so easy can you talk to me about one of the more challenging contribution moments or one of the more challenging aspects of doing your work in the community or trying to foster the community that you've had and maybe how you overcame that yeah you know I think again sort of the thing that continues to be the challenging for me is just stepping outside of my own little bubble and being willing to like say hi to someone and not be like I gotta go to the bathroom and go washing my hands and not coming back and you know I think learning that going through the experience of having done that a few times and learning that 99% of the time the fact that I did come back and I continued to have conversations with people helped me advance my own career and advanced Drupal and like actually get things done versus like just walking away and being shy in the corner and never actually asking my questions and getting answers to them so so that's the most challenging thing but having gotten through it a few times what I've learned is that there's a lot of benefit and a lot of rewards to having done that and so I just had to remember that and awesome thank you very much Joe we're out of time and so I just want to say that was a wonderful experience that we just had there all together I'm having the feels about it and I invite everybody to go and have some coffee in our lovely exhibit hall and enjoy the rest of your day thank you very much