I started a Node.js User Group here in Jacksonville back in 2013, and I wanted to post my experiences about starting a Node.js User Group. JaxNode is Jacksonville Florida's main user group for Node.js and JavaScript related subjects.
Back in the summer of 2013 I became interested in learning more about Node.js. I had a side business where I was building native mobile applications for iOS and Android smart phones. My day job had been building ASP.NET web applications and web services. I was looking for a way I could build restful services for my mobile apps without having to run a Windows emulator since I was doing my mobile development on a Mac. This was pre .NET Core.
So I looked at the alternatives for doing backend service development that could be done on a Mac. I looked at Java, PHP, Python, Ruby and Node.js. I had some server experience with Java, but I was looking for something that did not require the overhead of using a compiler.
Node.js turned out to be a perfect fit for my needs. It had very quick startup times. My http requests took a few miliseconds to process as opposed to several hundred miliseconds with ASP.NET. There was also a huge open source community with tools and frameworks for building the applications I needed with an amazing module ecosystem through NPM (Node Package Manager).
Jacksonville has a great community of software engineers, and many programming User Groups, but none that were dedicated to Node.js or JavaScript. I had seen a few presentations on Node.js in Jacksonville, but no one had started a User Group just for Node.js. If there is not a Node.js user group or JavaScript User Group in your community, then you should consider starting one.
User Groups are great not just for learning about new subjects and trends in software, but they are also a great place to network with other developers and companies with simlar interests.
Node.js does have an organization and companies that support it, but almost everything in Node.js is driven by the community. User Groups are a great way to help foster and support that community.
const startNodejsGroup = () => {
findPlaceToMeet();
findSpeakers();
reachOutToCommunity();
scheduleMeeting();
learnMoreAboutNodejs();
};
startNodejsGroup();
Ok, so now you have started your Node.js group, now what? How do you let the local community know about it, find a place to meet, and provide food and drinks for those meetings? The best suggestion is to use a site like Meetup or Eventbrite to organize your meetings and invite people to those meetings. Meetup does have a subscription cost, but if that is an issue, there are free alternatives like Facebook.
I used Meetup to start and advertise JaxNode. You also might want to create a website for your user group. It can be as simple as creating a GitHub pages site. GitHub provides free web hosting. I created an open source web application based on express that ties into Meetup's API. It can also use the Twitter API. This site automatically displays the next meeting.
Once I started our Meetup group, a few companies here in town offered to provide a meeting room for free. Other companies also offered to provide food and refreshments at those meetings. Everything started to fall into place very quickly. If you cannot find a company or organization that will host your meetings, take a look at your local public library. Many libraries have meeting spaces that can be reserved.
Try to communicate with your users on a regular basis. Let them know about upcoming meetings, but don't spam them. I try have future meetings topics posted at least a month out. I will send an email to my members the week of the metting, and the day before the meeting as a reminder. Posting on you social media accounts is also important for getting the word out.
Try to find volunteers to help run the group. Sharing responsiblities will help prevent you from burning out. Managing a User Group usually involves booking speakers, finding meeting locations and MCing the meetings.
One of the challenges to running a user group is finding speakers and topics that can be discussed that will draw users to your meetup. Fortunately for us in the JavaScript community, there is no shortage of topics that can be discussed. NPM now holds over 250,000 modules. That is a source of 250,000 topics that can be discussed. We have many speakers who have volunteered to speak at JaxNode, but I try to actively encourage members who have not spoken before to create presentations for our group.
Try to have some variety in your presentations as well. At JaxNode we have had presentations on server side web application frameworks, client side frameworks like Angular and Ember. But we have also have presentations on quirkier subjects like Robots, and even how to write plugins to Photoshop using Node.js. Soft skills are increasingly mentioned as an important skill for developers to have, and presenting a subject to a user group is a great way to develop those soft skills.
Besides getting setup on Meetup or creating a website, it is a good idea to create social media accounts on Facebook, Twitter and Linkedin. We also use our Twitter account to repost interesting articles and posts around the web on Node.js.
If you need a Logo, there is a great repository created by Chris Williams featuring the 'JS' against a yellow background. We took that original Logo, and created our own version with the JaxNode logo. There is a company called Sticker Mule that makes stickers of your Logos. Those can be given away as swag at user group meetings. They help drive buzz about your group when people see your sticker emblazened upon someone's Laptop.
I also created a GitHub group just for our group so the members could fork their repos on presentations they have done at the group. I also put the source for our site (https://www.jaxnode.com) on our GitHub site as well.
The Node.js github site also has a repo for evangilism. You can list your group in the Current Initiatives by making a pull request to this repo for adding your group to the list of meetups. They have a good artitle one this site explaining the format of the submission.
Make friends with the other User Group managers in your area. It is a great way to market your group and possibly find new members and speakers for your group.
Just in the last month here in Jacksonville, a React and React Native user groups have been started by members who have attended our meetings. This is one of the things that I have been hapiest about starting JaxNode was having had several meetings on React, and now we have two new user groups in Jacksonville dedicated to React.
I have to admit, the main reason I started a Node.js User Group was a selfish reason. I wanted to see other companies here in Jacksonville start to adopt Node and other JavaScript technologies. I knew that creating new oppotunities for Node.js in Jacksonville would also help me in my career. The side benefit is that it has also helped other people get the opportunities that they wanted as well.