Over a million developers have joined DZone.

PyDev of the Week: Alan Vezina

DZone's Guide to

PyDev of the Week: Alan Vezina

This week's PyDev of the Week is prolific Python organizer Alan Vezina! Get to know Alan, how he got his start, and what he has to say about starting up new Py groups!

· Web Dev Zone ·
Free Resource

Jumpstart your Angular applications with Indigo.Design, a unified platform for visual design, UX prototyping, code generation, and app development.

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 the 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?

At work I have several projects, my most active one recently has been around setting up the required infrastructure so we can provide Single Sign-On across several applications that we provide to our customers. Most of last year I spent my time working on various tools for the Mojaloop project. I am also working with a PuPPy member to make better tools for organizing a meetup, hopefully, we'll make enough progress this year to release these tools to the wider meetup community.

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 third-party, in no particular order: Flask, Marshmallow, SQLAlchemy, Django, and Requests.

What are the top 3 things you learned as an organizer/founder of a local Python Users Group?

  • 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.

What advice do you have for others who want to start (or improve) their own group?

  • 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,"  but sounds more like, "I really love what your group is doing for the community, and I'd like to help by organizing an 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!

Take a look at an Indigo.Design sample application to learn more about how apps are created with design to code software.

python ,user group ,python development ,web dev

Published at DZone with permission of

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}