One of the things that makes the PowerShell community so great is the willingness of others to help people succeed. Unlike other communities, there is no bitter in-fighting among members or outward competition to one-up the people who actively participate. You also don't have people outwardly flaming each other when they do not agree with your opinions. There is a genuine interest by most active members of the community for others to be successful and grow within the community.
So how does this happen? How did this community get to be so great?
I obviously can't comment on the entire history of the PowerShell community or even how it came to be. However, I do feel that as one of the more active people in the in the community for some time now, I can give you some insight on what I have witnessed and what I think anyone can do to contribute to the community with almost no effort at all.
A quick history lesson about me. I am a sysadmin with close to 20 years experience but after sitting on the fence for a long time, I finally committed myself to becoming really active in the PowerShell community. For many years I wanted to be part of the community but I sat with an empty blog and nothing to share. For me, I think the problem was two-fold: I wasn't sure what to share and I didn't think that the stuff I wrote in the beginning was worthwhile, so I never clicked the "publish" button on my website.
The result: three years with an empty blog.
As I watched online and saw others participate, more and more I had the the desire to be a part of something. My knowledge in PowerShell wasn't great but I was using it more and more every day. I debated myself in my head about whether I had the chops to be a writer. Months went by where I wanted to do something, anything but always the same: I talked myself out of taking a chance. Finally, one bitterly cold night in January at 1 am I decided to take a chance and email the site owner of the 4sysops website and ask if he would let me write an article for his website. Now mind you, up until this point, I had written exactly zero articles and had exactly zero experience in writing for technical websites. But what I did have was desire, I believed I could write and I WANTED to write articles and I figured the worst thing that could happen was that the owner would say no.
Well, luckily for me, Michael, the website owner said yes and in doing so, started a fire in me that I didn't know I had. Since that moment, I have had an unbelievable amount of success starting with getting my first article published on a professional website to contributing a chapter to the PowerShell Conference Book and now getting ready to present next year at the PowerShell Global Summit. Along the way, I have become a co-leader of the Raleigh Triangle PowerShell users group and written many articles for my blog and for other sites. I have really enjoyed an unbelievable year and with that success I thought that it would be worthwhile to share with you some ways that anyone can contribute to the community. If you're unsure of yourself and maybe a bit hesitant to share something you created, I would say, don't be. This community is awesome and very supportive. You just need to take that first step.
So enough about myself, let's get down to business. Here are 10 ways that ANYONE can start contributing to the PowerShell community.
Say "Thank You" to someone who helped you
Huh? Yes, that's right, just say "Thank You" to someone who helped you solve a problem or helped expain a concept. Remember many people in the community are not always 100% confident in their abilities or what they produced. Saying "Thank You" lets someone know they helped you, they're appreciated and it gives them confidence to keep sharing with the community. It's literally the simplest way to give back and anyone can do it almost immediately. So...
- Did you find a script online that you liked? Say thanks to the author!
- Did you learn a useful tip from someone? Say thanks!
It really is that simple. Don't believe me, see for yourself:
Join a user group
There are user groups spread out across the US and literally across the entire world! You can find those groups on sites like Meetup, Reddit, Twitter, Facebook, LinkedIn and many others. User groups like mine are made up of individuals with similar interests who get together to share ideas, solutions and questions. It is a fantastic way to get to know other members in your local area or online.
Write a blog post/share some code
If you are comfortable writing, then put your thoughts into blog posts to help others learn from your experiences. Also not all blogs have to be teaching websites. You could literally blog a collection of useful links. Many people blog simply to create an archive of solutions they used to solve their own problems. Those "archives" end up being super useful to not just you but others as well.
Fix an issue on a GitHub Repo
The community shares code on sites like GitHub, Bitbucket, GitLab PSGallery, PowerShell.org as well as personal blogs, Facebook groups, Reddit, LinkedIn groups and a few other choice locations. Community members who share their code are looking for people to help create code, find problems, and fix typos. There are simple issues that anyone can fix (like spell checking, grammar, re-writing help files). You can find these types of issues on Github by looking in the issues section of any repo and then looking for tags named Help Wanted or Good First Issue to help you find the easier issues to tackle.
Bonus: fix an issue on Microsoft's GitHub repo and your solution may be seen by millions of people!
Teach others things you have already mastered
You don't have to write a blog post to help others. You can help someone by doing a one-on-one session with them to help them get past concepts they haven't fully grasped yet. You can mentor a junior team member, a friend, an intern or even a young adult who is looking to learn new things. Remember things that are easy for you today werent't easy when you first started. Somebody you know is learning something you're already great at. That's an opportunity for you to help.
Comment on blog posts
Giving feedback for articles posted online is another great way to participate. You can simply give praise for well written articles but also you can ask questions, suggest ideas for new articles, ask for clarification on vague concepts or point out errors that the author might have missed.
Be a presenter
Presenting content that you have mastered is a great way to share with others and helps the community grow. Many people are afraid to present due to a fear of public speaking or fear they're not good enough to speak. But it gets easier to do over time and what you will find out is that everybody has the same fears. Audiences and peers are super supportive because they all understand everyone gets nervous being in front of a group.
Help solve problems listed on sites like Stack Overflow or Powershell.org
At some point everyone hits a roadblock and inevitably reaches out for help. Many people turn to sites like Stack Overflow and PowerShell.org to ask questions with the hope that someone has the answer they're looking for. Logging and answering a few questions helps those in need and gives you a great sense of fulfillment. Also as a bonus, you start to get a reputation as a problem solver when you solve questions people's questions.
Start a user group
What happens if there isn't a group nearby that meets regularly? How 'bout starting your own group! It isn't as hard as it may sound. The hardest part is finding like-minded individuals and a place to meet. Once you get a few people who are willing to show up, all you need is a few ideas for discussion starters. Once people get started, it's usually not too hard to get some really good conversations going about topics that are relevant to you and others. Need a reference guide to help you get started? Try this on for size: So you want to form a User Group?
Ask for help!
I think this one is largely overlooked. Don't be afraid to ask for help. One of the greatest things about the PS community is the willingness to help other. Give people a chance to help you with the things you don't yet know or understand. Not only will it help you in the short term but the more you ask, the more others will ask as well. In the end everyone benefits when we share our tribal knowledge of the things we excel at and even the things we aren't proficient at yet.
BONUS: Be a Mentor
This last one may be going a bit beyond the realm of PowerShell, but it's still worth a mention. Have you had a modicum of success? Even if you think you are not great at what you do, you have knowledge and experience and those qualities are always useful to others. Spending time with a co-worker or friend and giving advice on how they can move forward in their career is an awesome way to be a contributor. Showing them how to write code is invaluable and can help them get to where they want to go faster then if they did it own their own. As mentioned several times already, everybody has questions, they just need someone willing to spend some time and point them in the right direction from time to time. Taking the time to show someone how to master the skills of things like PowwerShell or bigger things like knowledge your trade pays off for the teacher and the student.
So there you have it. I hope this list of ways to participate inspires you to become an active part of the PowerShell community. If you like articles like this, don't forget to sign up for my mailing list at the bottom of this page. I usually write one article a week and I never share your info with anyone or any business.