This week we welcome Alan Vezina (@fancysandwiches) as our PyDev of the Week! He is one of the co-founders of PuPPy (Puget Sound Programming Python), a Python user’s group in Seattle, WA. He is also one of the organizers of PyCascades, a Python conference in Vancouver, BC. While Alan has a blog, it doesn’t appear to be updated regularly so you might want to check out his Github profile instead to find out what he’s been up to. Now let’s take a few moments to get to know him better!
Can you tell us a little about yourself (hobbies, education, etc):
Born and raised in the midwest, but have been living in Seattle for the past 6 years. I have a Bachelors in Computer Science from University of Michigan. I am an avid cyclist, I commute to work by bike year round (Seattle makes that easy), and I don’t own a car. I’ve been experimenting a lot with homebrewing fruit wines and mead lately.
Why did you start using Python?
I had been writing Java and JavaScript professionally for a few years and was looking for a new language to pick up in my free time. I did some light research on a bunch of languages (Ruby, Scala, Haskell, and more) but settled on Python because it looked so elegant and easy to use. Turns out it is very elegant and easy to use, so I’ve since stuck with it.
What other programming languages do you know and which is your favorite?
I’ve had experience with JavaScript, Java, Go, Perl, PHP, and Visual Basic. I would probably say Go or JavaScript are my non-Python favorites. I have never used Nim or OCaml but have been intending to pick them up.
What projects are you working on now?
Which Python libraries are your favorite (core or 3rd party)?
For standard lib: I think the Abstract Base Classes module is pretty underrated, and I’m a big fan of the Typing module as well. For 3rd party: in no particular order, Flask, Marshmallow, SQLAlchemy, Django, and Requests.
- The Python community is truly amazing. I know this sounds cliché at this point, but it is true. I’ve attended conferences and meetups for other topics, and the Python community truly is top notch.
- I have gotten much better about taking criticism (still not perfect). Hearing someone critique something you’ve put a ton of effort into is hard. It’s also really hard to critique work done by others, and for the most part people are really not trying to be mean, they really do want to help. Try to do your best to suppress your emotions when responding to critiques, try to use it as an opportunity to educate people on the amount of work that goes into the events you run, and as an opportunity to get new volunteers.
- People are much more willing to help than I could have ever imagined. Right now people have a lot of reasons to have little faith in humanity, but both PuPPy and PyCascades have really shown me that people want to help, and will help. PyCascades had so many volunteers that we struggled to give them all work, in fact we were unable to give some of them work.
- Instead of starting your own group try to find another related one and put on events with them. Part of PuPPy’s success is the fact that we are rather open to allowing other people to operate a meetup under the PuPPy “brand”. You will have an existing group of people who will be more willing to join you immediately, and in general you’ll have a higher chance of success. If you go this route attend a few meetups and get to know the organizers before you pitch the idea, and make sure your pitch sounds less like “Y’all aren’t doing enough please do more”, sound more like “I really love what your group is doing for the community, and I’d like to help by organizing and event with you”.
- Have a Code of Conduct and advertise that you have a Code of Conduct at every single meeting. If you’re worried people won’t attend with a CoC don’t be, you probably don’t want those people anyway.
- Be consistent. I cannot stress this enough. When you first start out you will not be a smashing success, the first few PuPPy meetups were ~30-50 people at most. I believe the biggest reason we are now 5k+ members on meetup.com and can pull off monthly events with 150-250 people is because we (almost) always meet on the 2nd Wednesday of the month. This lets folks with tricky commutes, busy schedules, families, etc. all plan ahead. If you want to attend PuPPy you can block off the 2nd Wednesday of nearly any month and plan ahead. People are also creatures of habit, you’re better off embracing it rather than fighting it.
- Forget about a website, it really isn’t necessary. We have a domain, but we don’t have a website, we have some URLs that just forward to google forms to sign up for a talk. Everything else lives on Meetup.com
- Try not to do pizza. It’s hard because so many companies and venues default to pizza as their choice because it’s very popular and people assume it’s cheap. Pizza is not as cheap as you think it is, we’ve once had a $5k pizza bill at an event. Try and find a small business that does something like Tacos, Banh Mi, or even Dim Sum. Not only can it be cheaper than pizza, it can be more healthy, but also you’ll be remembered as the not-pizza meetup.
- Talking about diversity is not enough. You can shout from the mountaintop day in and day out about how you are all for diversity, but that won’t make your meetup more diverse. The solution is to actively engage and recruit more diverse members. Don’t have any diversity in your speaker line up? Ask friends and colleagues for recommended speakers. Send out an announcement email asking for diverse speakers. Go to other meetups and invite the members to your meetup. Make sure your group of organizers is diverse as well. Diverse organizers lead to a diverse meetup.
- Don’t sweat the tiny mistakes. Mistakes happen all the time, almost none of our meetups happen without some sort of issue (food is late, finding the venue is hard, A/V doesn’t work, etc.). For the most part people won’t notice the mistakes, or won’t care as much about them as you do.
- Q&A is hard, and for many speakers stressful. I recommend making Q&A optional, ask every speaker if they want questions or not.
- If you do decide to do a Q&A session make sure you really emphasize that the audience should only be asking Questions, not providing statements. I recently saw someone say something like “Your first sentence should be a question and your second sentence should not exist”, I really like that and I plan on using it. Rude questions will happen, I have on more than one occasion taken the mic back and told the speaker “You don’t have to answer that” in front of the entire crowd.
Is there anything else you’d like to say?
Tech interviews are broken and we as a community need to do something about it.
Thanks so much for doing the interview!
Pingback: PyDev of the Week: Alan Vezina - Codangoâ„¢