iQmetrix Expertise in the Wild: Contributing to the PowerShell Community

As a software development professional, I had the pleasure of presenting at the PowerShell + DevOps Global Summit 2024 in Bellevue, WA this year. 

This was a wonderful experience that allowed me to interact with many IT professionals and share my experience and knowledge with the community. 

For those who aren’t familiar, PowerShell is a cross-platform scripting language that can be used to automate many tasks. It is more lightweight than a compiled language like C#, yet still powerful enough to tackle complex problems, such as remotely managing thousands of servers, or implementing an entire build and deployment workflow. PowerShell is an essential tool for most IT administrators and many software developers. 

What is the PowerShell + DevOps Global Summit? 

The PowerShell + DevOps Global Summit is an annual conference held by the PowerShell community, for the PowerShell community. IT professionals come from around the globe to interact with one another and industry experts. The conference is limited to 400 attendees to encourage strong connections and deep conversations. 

In addition to regular IT professionals, attendees include many Microsoft MVPs and other community leaders, as well as the Microsoft PowerShell team and other Microsoft Product Managers. Attendees have a wide range of backgrounds and roles, such as application architect, security officer, server administrator, network architect, software developer, consultant, and more, all of whom are hands-on with PowerShell. The amount of PowerShell knowledge, experience, and expertise at this conference is second to none. 

Giving back to the community 

It is said that the number of programmers doubles every five years. This means most IT professionals have less than 5 years of experience. I have been writing code for over 2 decades, and using and loving PowerShell for over a decade, which means I have a lot of real-world experience that I can share with others who are still relatively new to the industry. 

I have been contributing to the community for years through my blog, YouTube videos, social media posts, open-source projects, and by both asking and answering questions on forums such as Stack Overflow. I love sharing things I’ve learned with the community and getting those This is amazing, how did I not know this before!” and Thanks, that fixed my problem” responses. I find it very rewarding. Feedback like that helps reaffirm that people are getting value from the content I produce and helps shake off the feelings of imposter syndrome that creep in from time to time. 

Sharing knowledge at the PowerShell Summit 

PowerShell modules are packages that allow code libraries to be easily shared. They are like NuGet packages in .NET, NPM packages in Node.js, and PIP packages in Python. At the PowerShell Summit, I gave a presentation on why you should automate the deployment of your PowerShell modules using a proper CI/CD platform, such as Azure DevOps Pipelines or GitHub Actions. While my talk was focused on PowerShell modules, the reasoning applies to any package management system. 

Some of the key reasons to use a CI/CD platform include: 

  • Consistency and repeatability 
  • Persistent logging and public visibility 
  • Security, auditing, and compliance 
  • Self-subscribe notifications
  • Approvals and deployment schedules 
  • Encouraging or enforcing good software development practices, such as code reviews 
  • Validating your application works on different platforms 

I performed a live demo of creating a new PowerShell module from scratch and deploying it to the public PowerShell gallery using an open-source git repository template that I created. The template allows you to get up and running quickly by taking care of the boilerplate files and configuration required to publish your module to a gallery, allowing you to focus on your module’s code. 

How the presentation was received 

After the presentation I had several attendees come up and tell me that they loved the talk and learned a lot from it. A few people asked questions directly after the session, and I later had lengthy chats with two separate individuals about the presentation and how they can start adopting some of the practices at their organization. After the conference, I was happy to see that my talk had received all 5-star reviews from attendees, with comments such as, Content was great, speaker had great insights and wasn’t just reading the slides”, Fantastic presentation!”, and Excellent session, example was great”. The presentation will be available to watch on the YouTube channel in July, and you can find the slide deck here.

In addition to giving a presentation and advice to attendees, I also created stickers and T-shirts to promote the open-source tiPS module that I created last summer. tiPS is a PowerShell module that gives you a new PowerShell tip every day right in your PowerShell terminal. Several attendees were already familiar with tiPS and excited to learn they were talking with the person who created it. Many others said they were intrigued by it and would check it out after the conference. One attendee even pulled out his laptop and installed it while we chatted over lunch. 

Lastly, I was pleased to be able to talk face-to-face with Andrew Pla. Andrew is the host of The PowerShell Podcast, and he had me on the 100th episode earlier this year. The PowerShell Podcast is another great way that knowledge is shared with the community. 

The PowerShell Summit was a fantastic opportunity to exchange ideas and solutions with other IT professionals. I loved talking shop with other like-minded individuals and seeing their faces light up when giving a suggestion on how to solve a problem. I also really enjoyed presenting and plan to submit talks for the conference again next year. Hopefully, I’ll see some of you there!