Have you ever wondered what it would be like to start a PowerShell user group? I did an interview with Gary Barnes, Software Development Engineer in Test, Portland, Oregon, who just started PDX PowerShell (@PDXPoShPUG), a PowerShell user group for Portland, OR, USA, and its suburbs, including Vancouver, WA. He has lots of great insights.
User groups are an incredible vehicle for learning, whether you’re a beginner who needs mentoring and support, an expert who needs to know about cutting edge techniques, or just a diehard who loves to learn. They provide expertise, knowledge, challenges, and the sense of belonging you get from hanging around folks who share your passion.
But, starting a user group is not easy. It’s hard to find members and agree on a meeting time. It’s hard to find a quiet, affordable place to meet with good internet, a presentation system, and a location that people are willing to travel to after a long work day.
I live in a very remote area, but I travel to user groups for my work, so when I went to Vancouver, WA and Portland, OR, I searched for a PowerShell user group.
And searched. And searched. Some nice folks replied that they used to have a user group, but it died long ago. Finally, I found Gary Barnes and then ran into Brandon Olin at #PSHSummit. We facebooked and tweeted our little hearts out to get 5 people to meet at local restaurant. Then, we arranged a kickoff meeting (not easy to agree on a date/time), and I was shocked to arrive and find 25 people there.
I went back to Utah, but Gary has led this steadily growing and now-stable PowerShell user group for several months. So, I checked in with Gary to hear how he pulled it off.
Why did you start a PowerShell user group?
I started noticing the PowerShell user groups out there and that was kind of the inspiration for me. I probably searched for about six weeks before I realized that there wasn’t one. That’s when I met you and a few others and realized that, if it was going to happen, I needed to step up and make it happen. So, I took it on as part of my role as a [PowerShell scripting and automation] resource at my work. I felt like there had to be more than enough people in the Portland area that are interested in PowerShell.
How did you actually start the group?
After reaching out to people on Twitter and Facebook, we had the preliminary meeting. There were just five us after work at a neighborhood restaurant. Then, you offered to do the first talk.
I think there were about two weeks between that preliminary meeting and actually having the first meeting, and that delay was useful. I set up a Meetup.com account and that was really useful for driving in the masses. We had 25 people for the first meeting and 16 for the second (Bill Hurt on Automating Websites), and the one tomorrow (Aaron Jensen on Carbon and Continuous Delivery) already has 12 confirmed coming to the event.
I even heard from a gentleman who’s been to quite a few of the other Microsoft technology meetups that he was really shocked by the turnout last week compared to others that he goes to, like SharePoint-related and SQL-related events.
Kickoff Meeting: 25 people
It was exciting, wasn’t it? We held the first meeting in a conference room at my company’s offices. It wasn’t the best venue, because the building was locked and we had to keep running downstairs to let people in. But having it at work made it easier to convince a bunch of my colleagues to turn out for that first meeting.
It created excitement for the group. Other than the people I brought from my company, everyone else showed up at the second event where Bill Hurt spoke. At the second meeting, I think we had 16 in attendance because a few people who showed up as friends of other friends who hadn’t RSVP’d through Meetup. I said “Hey, keep bringing the friends. I’d like to have us fill this room so you force me to find another venue.”
How did you find a venue?
We now have our meetings in a private room at Lucky Labrador Brewing Company’s North Tap Room. Everybody’s really excited about the new venue. They like the pizza that our SAPIEN sponsorship pays for and being able to buy their own beer or wine.
[Editor’s note: Show the Lucky Lab some love! If you’re in the PDX area, have a great lunch or dinner in this iconic spot. You can even bring your dog! And, be sure to thank them for supporting the PowerShell community.]
I’m really grateful for the SAPIEN pizza sponsorship because Lucky Lab makes pizza. I worked out a deal where they get our pizza order and, in return, we get their private room with their audio-visual equipment. Everybody who was there bought a beer, so they got that business. Some people had pizza and others ordered salads and a bunch of other stuff. I was also contacted by an MVP and evangelist from Microsoft and he had offered to give us a little bit of sponsorship if I reached out to him, so maybe can get a pitcher or two of beer provided as well.
We would have had to pay for the room if it weren’t for me brokering a deal with the events coordinator. Thankfully, I have a background in sales, so I met with their events coordinator and explained that I’ve got this group and we’re looking for a venue, and I have a sponsor who will pay for pizza and a beverage. I don’t really want to charge a cover for people coming here. I want to drive in the masses and get people to bring their friends.
We have a meeting coming up tomorrow and then I’m supposed to meet with their events coordinator again just to make sure that everything’s kosher and we can continue using the room.
A few people suggested some other places, like Microsoft in downtown Portland, which sometimes hosts events. But I’ve heard from a gentleman who attended ours and other Microsoft technology meetup groups that when you use the Microsoft venue, you can get kicked out at the last minute if something comes up and they need your room.
[Editor’s note: In some cities, Microsoft charges user groups for the after-hours security guard that they need to provide. In other cities, the rooms are free of charge. If you’re holding a meeting at Microsoft, be sure to ask about charges before you schedule. A few user groups meet in their local Microsoft store, which is very convenient and lots of fun, but holds only about 25 people and is not private.]
The only reason why I chose Meetup [over alternatives like EventBrite] was that I was more familiar with it in the Portland scene from the other events that I had been to in the area. It just seemed to have a bigger following and a bigger presence for a lot of the big events that I’ve been to. I didn’t realize what was involved in it. Meetup has a lot of really great tools and I would recommend to anyone who’s out there trying to set one of these up. The cost of it is nominal. It’s less than a coffee per month, so whether there’s reimbursement or not, I don’t really care. It’s all for the better of everybody, including myself.
I had to upgrade the account because, originally, I started with the limited version. Then, I started getting notifications that there were tons of people who want to join our group, but I needed to upgrade. So, I went ahead and paid to get the unlimited account. I pay it personally because I just want to do a service for other people and get a little something for myself as far as having the camaraderie and community.
Recently, I set up a GitHub account that’s specific to our PowerShell user group. So, anytime we have sample code, it’s out there as a resource. We’re putting slides and code from the presentations in monthly folders in our PUGDemos repo. We also have a Tidbits repo so you can throw whatever you want up here. And, that’s where I got the idea of doing recordings with the AVerMedia software, just so the person giving the presentation doesn’t mind installing the software and running it.
I know that people who are from my work who, sometimes, life happens, and it just doesn’t work out for them to attend the meeting. They always come and hit me up the next day. “Hey, do you have any of the code that you guys did? What did you do?” They’re always very interested in what’s going on or what they miss. Now, they can just go to GitHub.
Using Recording Software
We haven’t used it yet, but AVerMedia has a version of Sphere2 classroom software that you can download for free. It records everything you’re doing on the desktop, including sound. I was working with the speaker for this month (July 2016) to see if he’ll use it just so people who aren’t there will have a way of just seeing the screen — without any audio for now.
We’re thinking of online sessions because we now have 62 members through Meetup (71 as of 7/27/16!).
Are you learning PowerShell from your new user group?
Your PowerShell skills are very advanced. Are you learning from the meetings, too?
I really loved the session that you did (Thinking In Events) because I drive a lot of tools in the background and there are still people afraid to type things into a console for whatever reason. Being able to pair PowerShell with a nice little UI so they can click through makes it simplified. That was the “butter on the bread” so to speak.
I also learned a lot from Bill’s presentation, Automating Websites. You know, I have used Invoke-WebRequest the way he did in his presentation, but there were a couple of things that he did, and I was like, “Wow, I’ve never tried it that way. I really like that.” You learn one way, but PowerShell being so multi-faceted, there are so many angles you can come at it from, and some are better than others.
How do you help beginners?
At work, we started a book club with Learn Windows PowerShell in a Month of Lunches. I’ve been showcasing a lot of other code, because the book is really geared toward the administrator and our automation team doesn’t do administration as part of their daily job. Our team needs to use PowerShell for web administration, including invoking our public or private APIs using either Invoke-RestMethod or Invoke-WebRequest.
Advice from Gary
If there isn’t a PowerShell user group near you, don’t be afraid to just step out on a limb and make it happen. There’s a lot of support out there on Twitter. Just throw it out into the universe and you can make it happen. Because, at the end of the day, it’s been a blessing. It’s just really great to meet so many people in your community who are doing some of the same stuff that you’re doing and everybody’s helping everyone out.
It’s nice to have that because, sometimes, you end up with so much competition at work that people aren’t so willing and forthcoming to help you out of fear of their own competitiveness or whatever. At a user group meeting, nobody’s worried about [competing]. They’re like, “Hey, come look. Here’s how I’m doing it. Here’s the code.”
You can also piggyback on other Microsoft technical user groups, like .NET user groups.
If people have questions or need help getting started, they can contact me on Twitter at @G0GMANGO.
Thanks so much to Gary for his time and for the awesome PDX PowerShell user group. If you’re in / around Portland, stop by!
Resources for PowerShell User Groups
To find a user group:
- PowerShell Community Groups: http://powershellgroup.org/
- EventBrite and Meetup: Search for “PowerShell”
To start a user group:
- PowerShell MVP Teresa Wilson (@ScriptingWife), the fairy godmother of PowerShell user groups worldwide. Need help? Ask Teresa.
- So You Want to Form a User Group? by Ryan Yates (@ryanyates1990)
What about speakers?
- Start with your members.
- Grab speakers from conferences held in the area.
- Reach out to potential speakers, including PowerShell team members and MVPs. If you don’t ask, they can’t say yes.
- Skip the speaker. Do a scripting challenge or round-table discussion.
How do I get sponsors?
- Ask your employer and employers of your members for a small donation.
- SAPIEN Technologies, Inc. sponsors PowerShell community events and donates pizza dinners for user groups in the U.S. For information, email email@example.com.
- Microsoft sponsors user groups. Contact a local MVP or Microsoft Technical Evangelist.
Great ideas to keep members interested:
- Great speakers (including your members!)
- Scripting Games