 Okay. Hello, everyone, and thanks, Javier, for your introduction. So, yeah, the talk topic is how to build a Python community. And, well, yeah. So, let's get started with the annoying parts. That's me. That's my Twitter handle. The picture actually from Python, Finland, 2012. I think, yeah, I think it's a Python, and you can reach me in that email address, and so forth. So, the talk topic is how to build a local Python community. So, what we're going to go through in this talk is that, well, first of all, like, first thing is why build a local Python community? How do you manage expectations? If you build something from scratch, like, how do you deem if it's a success or not? What resources do you need? And if I have time, I try to leave some time for the question in the end. If I have time, I'm going to go quickly through, like, how do you grow up your community once you establish something? But, first, the internet is an amazing place, not for the old parts of it, but some parts. Like, there are really good guys online. There's the pip install PyLadies, there's the Django girls' organizing document, there's also a conference organizer handbook by PPK, and then there's the form Python.info conference by, I think it's written by Justin Oliver, right? I might be wrong. But, anyway, the slides will contain links to all of these. The latter two are about conferences, but they're still, like, skimming through them while they talk about, like, hundreds of people in a two-day conference with one track. They still give you some ideas of what, like, running a community, like, a local community means. The two first are really amazing when you're starting from scratch. Like, even if you won't be doing a PyLadies or Django girls' community, just written through because they give you billion, billion tips. And then the last point, like, there's plenty of people like me, all the people in this conference or people in other conference or meetup groups that are willing to help you if you just ask them tips what to do with your newly built meetup groups. All right. So let's talk about the why part. The why part I found really interesting because I think it's a really hard question. Like, I can't tell you why you should build your own local Python community. I sort of hope that because the people who are here, either you just happened to stay here after the previous talk or you actually are really interested in building your local Python community. Maybe, like, maybe you as people want to do it because you think your Python is a really cool conference. So you just spent a week here. Maybe it was your first time. You feel like, oh, damn, this was really nice. And you want to replicate that one. Not necessarily as a conference, but you want to get, like, same kind of people together. Maybe you don't want to meet people who are interested in Python. I remember when we were starting, like, in Finland in 2010, back in then with my co-founder in a company I was working on, he just said, like, he has no idea who works in Python in Finland. Like, zero idea. We were two guys. We knew a few others there and there, but we had no idea. So we decided, let's build a conference. And we found, like, 30 other. And next year it was 150 other. And now we know about 200 other Python developers in Finland. Or maybe you want to create, like, a sub-community. Maybe where you are, there's already a really nice Python community or other communities. But you want to focus on something. You want to build your private issues. You want to build your own Django goals. Or you want to have a local twisted user group, where it's going to be you and Hinnak. And that's it. Something like that. Like, there's plenty of reasons. Just what I'm trying to say, like, try to have a reason. Because that helps to you to motivate. Like, if you have a sum, even a wakey idea, that motivates you a lot. So then why do I do this? Like, why have I been involved in Python Finland, Python Sweden, the Stockholm Python user group, and so forth? I think that there's a lot of good in the community, especially in the Python community, but still there's a lot of bad in it. It's a kind of a technocracy where people are merited in weird ways to give them leadership positions. And I think, like, actually to make it more diverse, actually make it more a community that accepts more people. And so that, and that you can actually, like, change the community. I think, or I feel that I need to get my hands dirty. I want to be part of building that community. And the easiest way to do that for me, it seems to be that I start organizing this stuff. And then when I'm organizing that, when I'm part of the people organizing those, I just keep tracks on, like, all kinds of potential stuff around diversity and try to emphasize as much as I can. But no matter what reason you have, I strongly suggest you to go for it. Like, if you just have some motivation to do this stuff, if you really want to have a local community running, like, go for it. All right. So you came up with a nice reason. You felt like you want to replicate the awesomeness of your Python in your local area. So how do you manage expectations? How do you deem that something was successful? Like, you want to announce your first meetup, your first, like, a gathering of the local Python people. Do you, like, count the number of people that showed up? Do you count the number of speakers that showed up? Do you hand out feedback forms and, like, ask them, was where the pinch is good or bad? And then judge from that. I think, screw all those. Back in 2009 or something, I was a part of organizing an agile conference. And we had an amazing metric for the first conference. There's someone else. Like, if you're the organizer, there's another person. It doesn't matter if you're, it's your friend or your parent. Like, if there's someone else, like, if someone actually is willing to spend their free time to come into an event, doesn't take part in the organizing part, then deem it a successful event. If it's someone else that you don't even know, then, like, then you blown all the expectations to the roof already. So don't overcommit. Don't, like, expect that your first meetup is going to be billion people. It might be you and two others or you and five others and you and one other, but you might still have amazing talks. Don't also overcommit by, like, taking a too big of a slice of the pie at the beginning. We sort of did that with Python Finland. That the first Python related event in Finland was a whole conference. We had no idea what we were doing. I think, like, 100 people signed up before got to send them invoices, so they didn't pay, pay, pay at all, like 30 of them actually showed up in the conference, and our company back in the days ended up paying the whole thingy and we never invoiced anyone. So, like, if you start too big, you might get kind of turned down. It was still an awesome conference, but a lot of work, and we clearly started from too big. If you think about the Python in Sweden instead, its origins are in the Django Stockholm user group that then became more generic like a Stockholm Python user group, and then it grew up in a conference. That way, it was way easier to, like, build from a small and then, like, keep on expanding when you felt like, hey, we want to do something bigger. All right. So you set up doing stuff, and then you're going to think about, like, how much do you need people? What kind of resources do you need to run the stuff? First, we can start talking about the most important resource when you run a conference, which is you. Because you alone are the one that can actually make the conference happen, like, not conference, but the meetup and community kind of stuff. That, I think, is the only single thing that you actually need to run a local community. You need the one person, and that one person needs to be you if you're interested in having a local Python community. Of course, if you find other people, those will help. I tend to classify the other people like in two buckets. The one bucket is the other organizers, and the other part is the, like, speakers, trainers, and stuff like that. So if you get other organizers on board, that's really great. Like, if you actually meet someone else who's willing to help you with that, that is a superb thingy. And when you get other people on board, you should have only one aim. You should actually aim to make yourself replaceable. Like, if you get other volunteers on board, like, start sharing responsibility. Don't just hug on stuff because you were here first. Like, aim to the fact that at some point, like, they can do, they can run the whole conference, be like, appears to you, not like you create any weird power structures inside your community. A good example of this is, like, the PyStockham community, where my friend Tume, who ran it for a long time, actually won in the Green Card lottery and just left to New York. And he could just hand out the community to other people. And it kept on running on its own without him, even though he was kind of viewed as, like, a driving force behind that. But remember that when you have other people on board, they're also volunteers, so you can't force them to do anything. The only thing I usually stress to people, and I try to keep in mind myself too, is that if you work on this kind of stuff and you feel that you lack the time or it's too much or you want to drop out, like, fine, just do it, like, please don't break yourself by building, like, voluntary communities, but actually stop, but please do tell the other people. So don't just disappear, but say to the other people, hey, I feel like I'm running out of time. Can someone take over my stuff? And usually people can. So remember that you're also one of the volunteers in this thingy and there's no point of breaking yourself in it. Then you get to the other part, like, speakers and trainers and stuff like that. If you want to run a meetup, you don't need any of these. You don't need anyone to talk about any topics. Just get people together, just regular people interested in the topic, whether it's Python, whether it's other pilates, whether it's Django developers or whether it's you and Hineck with the Twisted stuff. And that's it. All right. So that was the people part. Next part, people usually think about, like, how much do you need money to run this stuff? I didn't view money and time as a kind of two currencies. That you're going to exchange one to the other. So you want to spend less. Money will use more time and get away around. So first, the time is the tricky one. Because you need to spend some time and you can't spend as much time as you want running a local community. I can always tell the same words to everyone else, like, learn to prioritize, focus on what's important. And that is a damn hard thing. All of a sudden, you find out that you're tweaking your communities. You haven't done any meetups because you want to build a web page where you want to build a signup form with Django. And then you heard about this new database technology and you're just cramming everything together. And then you want to maybe add that bootstrap on that and design stuff. Forget all that kind of stuff. The easiest way is just to send out emails to the people. Maybe you're going to create a Google group. You need to learn to build a network. You need to find a place where you can get together. And then you try to reach out to those people somehow. We're going to talk about later how that works. The money is a thing that you don't need at all. If you look at this, it might kind of feel kind of weird that you don't need money running stuff like conferences, stuff like that, for sure. But if you're going to run a community event, you can just gather together somewhere. If it's a country like this, you can even go in a park, given that it's not raining. If it's a country like Finland, you can probably just find a pub or university place or maybe your local library has some space where you can just gather together or go to a cafe and just sit around the same table and, well, see who shows up. If you have some money to use, then that's really nice because then you can use money to reduce the time you spend. You can use money to buy a meetup.com account which kind of offloads some of your organizing stuff and such stuff. Yeah. Anyway, money is a thing that helps you but you don't really need it. So don't feel like you need to gather a billion partners and sponsors to help you. The partners and sponsors are also interesting thingy because while they help, they're also not needed. But if you happen to be in any city that has some tech scene in there already, what I found out the best thing with partners and sponsors for meetups is that you can ask them that, hey, can we host a meetup at your place? Usually the companies are pretty willing to do that. They have a meeting room or something where you can gather together. They probably have an overhead projector if you want to show some slides and stuff like that. Or if people want to show stuff on their computers. Plus, if you're 20, 30 people or if you're a small group, they probably even give you beverages or food or stuff like that. But also, this is kind of a bonus stuff that you don't need. All right. So we got to the point that you have a nice motivation of why you want to run a Python community. You figured out that you're going to do it all your own because you don't need anything else. And then you kind of end up with this question, like, if it's a new community, if there's nothing in there, like, how do you tell people about that? Of course, like you have your friends and stuff like that, but how do you tell the people about that? Well, there are a few things I found useful when that was especially when we bootstrap it to the finished Python community. Like, go nuts with existing user groups. Even if they're not, like, Python user groups. Just like, especially in smaller countries or smaller tech scenes or more connected tech scenes, like, if you send the PHP user group that, hey, we're going to have a Python conference, there's probably some poor soul who has to write PHP, and it's in the PHP user group just for that, but it actually likes Python. Or you just go bold and, like, send to the Python unknown, announce that, hey, there's going to be the first Python user group of our city gathering in this one town. And that's a really nifty way of, like, reaching out to people that you don't necessarily even know, but who might be still be interested in a topic. Another quite handy one was internal mailing list of companies. So if you have some bigger companies, like, I'm blanking on bigger major enterprises. Oh, well, let's say, I'll throw some funny ones from Microsoft, if you know people who work in these bigger, like, mega corporations or even, like, let's say companies of tens or hundreds of people, they usually have internal mailing lists. So you can ask those people, like, hey, I'm doing this event. Can you promote this in your internal mailing list? And if those people who you know are kind of pro for this event, like, or coming themselves, they're probably going to send some sort of announcement in the internal mailing list. And we found out that when we did this around Finland, we actually found a lot of people who didn't follow, like, Python scene at all, but work with Python and only way they heard about it was that someone sent this email to the mailing list. And now there are regulars in the meetups and also in the conferences in Helsinki. And then, of course, there's the usual stuff, like post public, post on Facebook and go nuts on the Twitter. And if you have some money and if there's existing text scene that uses meetup.com, spending a few bucks per month to meetup.com is actually pretty neat. Because if there are other meetups, they will get notifications like, hey, there's a new meetup called the local Python meetup at your neighborhood. If you don't have any other user groups using meetup.com, the value of the service is kind of questionable. All right. So we reached a point where you've done your meetups, you have a nice local, tiny local community running and then you feel like it's time to grow up. So the first thing I would ask you to think about when you think about growing up to be a conference or maybe more recurring meetups and stuff like that, do you actually want to? Because that's going to imply a bit more work. That's going to imply some other stuff also. But if you're really happy with the community as it is, if you don't grow for the sake of growing, because if you have a nice community that people actually like being a part of, why do you want to grow it? Maybe you can wait for another year or maybe you can wait for half a year and see how you feel then. If you don't feel like growing, then don't try to force it to be a bigger community. Now, if you and the other were going to feel that you want to grow it, then first thing you need is the other people. It would be kind of madness to think that this, not even this kind, well, that's kind of like, let's say you would like to run like a hundred person conference. Running that alone is probably possible, but you're going to just burn out and feel really bad afterwards. So you actually need other people. Another tip I've learned is that you want to organize. You want to spin up a nonprofit. If you're going to start handling more and more money, you want to spin up a nonprofit because that gives you, not only is it usually easy in any country, but that also gives you like a sort of legal structure and makes you to actually track how the money flows and add some responsibility. But there's also a caveat in this because if you actually add like a legal responsibility when people join your nonprofit as board members, and that's going to stress them out. So there's a sort of balance you have to have. And in the end, I want to stress this, that don't be afraid to reach out to an experienced people or reach out to us who have done all the mistakes down the path when taking a community and building it to a conference and asked from us what kind of advice would we give you. All right. And in the end, like whether you grow it or not, whether you run in your community or not, just keep in mind that you keep doing it only as long as you feel like it. If at some point you feel that it's going to take too much time, then that's it. You can always step down. If it's a successful community, someone will pick it up. And amazing quote from Django girls that be proud of yourself if you're going to do this stuff because that's what matters the most. So go build your Python communities. And thank you. I think we have time for a break with them, so three. Thanks for such a nice talk. I have a question. So even thinking positively like being proud and so on, my question is about the community side. If there is some, how healthy is it? For example, there are always people like trolls or people like aggressive recruiters or perhaps someone else. Do you have some experience or how do you either approach it or just ignore it? Or is the spirit being damaged or not? And if yes, how? Thanks. So let me just recap. So you're asking like if there's people who behave badly and that kind of stuff like how do you approach it? Yeah. Well, I've been lucky enough that I haven't met anything too bad. But of course, like the stuff that conference-organized handbooks and those promote that if you're going to start setting up something that you might consider setting up like a code of contact or something, because that also gives you a nice basis of like if you get this weird behavior that you can reference this like commonly accepted rules and say like, hey, that's not right. But of course, a hard question like if you have a really bad case, like how do you solve it? Like you can have like one person poisoning the whole community. Unfortunately, I don't have any ready made answer to that. And I've been lucky enough to not be having to deal with stuff like that. I know that there are like individuals in the communities that are kind of iffy, but then like if the rest of the people tend to keep their mouth shut and just sit and enjoy the show on the side. Unfortunately, I can't give any more specific answer on that. But don't let it stop you. Like just deal when it becomes a problem. Don't be too afraid of it beforehand. No question. Just a remark. It's always good to organize yourself on an other conference. The Python user group Cologne was founded on the free open source conference in St. Augustine because we met always there and we know we are a Python user and you should just consider to find people of your town here. It's a good idea to talk if you want to make your own small community. That's a good advice. Thank you. Another question. Thanks for the great talk. I just wanted to mention that if I'm not mistaken the Python Software Foundation pays for the Meetup.com registration. I actually had it in my speaker. Apparently it blows it through it, but thank you. So yes, Python Software Foundation will reimburse you the Meetup.com for Python Meetup, not like everything. With what place for one more question? Thanks for the talk. Do you have an experience how to reach people who have children? How to make it more possible to them to get involved? In Stockholm my employee in Spotify has done a few things where we hosted a kid coding session or how to teach kids coding. So I think that's one good thing. I also want to involve the kids. If you have smaller kids I think we have had a few Meetups where we have had actual small kids involved. It's a hard question because people might react to the what I find pretty stupid is that people react to the bringing kids sometimes in weird ways while they usually don't cause any harm. And then sometimes talking more about the Nordic culture like they expect Meetups to have beer and stuff like that. So we've also tried sometimes to have Meetups completely without alcohol. Cut down these barriers that make it iffy to bring your kids in there. We haven't had any great effect on that though. So we haven't seen anything. But I don't know if the kids are big enough to take part themselves, then try that. And then maybe you could have a Python parents Meetup or something like you can drill down and you can try to make the event to be as much as people in the same state of life as the others and maybe make it a bit more welcoming so that people actually feel that they are welcome with their kids. It might be really hard if you have a common Meetup with 120-year-old males in there and the one parent. Okay, we've run out of time. Thank you, Jerky, for our questions and answers. Thank you.