Verify Your PowerShell Skills

A long time ago... about a year, in fact... Jason Helmick and I started talking about a community-owned PowerShell "certification." It went nowhere. Well, not very far.
Some background on exams: Microsoft, in my opinion, will never do a PowerShell cert. I say this having been part owner of a company that did outsourced exam development for the company. The deal is that Microsoft tries to certify job tasks, not tools. Nobody (well, maybe me) wakes up thinking, "gonna do me some PowerShell today." No, PowerShell is the means to an end: "gonna automate me some user creation today" is more likely. And Microsoft tries to certify that end. PowerShell's an important tool, and it already shows up on certification exams here and there.
For the most part, I agree with Microsoft's reasoning, there. The argument can be summarized as saying "bosses don't hire IT pros based on their ability to operate a low-level tool, they hire them to perform job tasks, which encompasses the tool." Except that, in the case of PowerShell, I think it'd be tremendously useful for an employer to use PowerShell expertise as a discriminating factor in hiring. I mean, "someone who can automate stuff" is more valuable than "someone who can only do stuff manually," in any situation.
So "PowerShell Verified" was intended to be a way for someone to prove - at least to themselves - that they've taken their PowerShell skills to the minimum level necessary to be an effective automator. Not a guru. Not an expert. Not Poshoholic. Minimally effective, who could then grow from there with experience.
So that's what I'm going to put together.
I want to explain why I'm not using the word "Certification," though. In my mind, certifications come from, mainly, first-parties like Microsoft. Microsoft has to jump through a lot of hoops to make sure their exam content is accurate, legally defensible, blah blah blah. They worry about security, brain dumps, and other stuff that diminishes the value of the certification. I don't have that kind of bandwidth or their resources, so in many ways my little program will be less effective than a "real" certification. Plus, few bosses will give a rat's patooty what that Don Jones guy said about your skillz (I can't even convince bosses to buy you guys 12-core 64GB workstations for your desk). So my "Verified" program is going to be low stakes, meaning you take it to prove something to yourself.
Here's how this is going to go.

How You Can Help

First, I'm attaching a doc with the general program description. Drop a comment in here after you read it, and tell me what you think. PowerShellVerified (it's a Word doc).
Second, the cost on this is going to be in the neighborhood of $100. There's some infrastructure that has to support this, because it's a practical, hands-on exam using the actual product running in a cloud-based virtual environment. To the cloud!
Third, let me know if you'd like to participate in a LiveMeeting where I'll cover the general approach of the test scenario, and gather your feedback. This is appropriate mainly if you're pretty high-level in your org - senior IT, IT management, etc. In the comment, give me a way to contact you (Twitter's fine). You will be asked to sign a Nondisclosure Agreement (NDA) prior to that LiveMeeting, which will be in January sometime, I think.
Fourth, let me know if you'd like to beta test this. I'm only taking 2-3 people for this. For logistical reasons, you need to be in the US (mainly to keep time zone coordination from becoming a hassle) and you need to have a Twitter handle. Drop that handle in a comment if you'd like to beta. That'll be free.

What's Tested

Now, for a bit of background. This first-go will verify what I call toolmaker competency. That means you have the skills needed to write and deploy high-level tools across your organization, particularly those which involve delegated administration. The scenario will be slightly artificial, but that's so that it can include a number of underlying objectives that test the breadth of your PowerShell knowledge. That said, the overall skill set you'll have to demonstrate will be very real-world. No esoteric stuff, here, just techniques you'd actually deploy for real-real. I know there are a lot of other things that could be tested; this is where I'm choosing to start because I can make it relatively constrained, and therefore automate the grading process somewhat.
The focus of the exam will be on PowerShell. Not AD, not Exchange, not anything domain-specific. The intent is PowerShell competency, not your super guru-ness with some other product.
Alright. Let me know what you think.

17 Responses to " Verify Your PowerShell Skills "

  1. Hi Don,
    I think it is a great idea! 🙂
    Re-take Policy
    If Someone fail, he/she should be able to repass the Powershell test whenever there is spot available. Of course the person would have to pay again. One year to try again is kind of long. My opinion.
    It would be good to give some examples so people can test themselves before the real thing.
    See you at the Powershell Summit !!

  2. John Hammer says:

    I think this is a good idea. At my company right now we’re not only trying to encourage sysadmins to use PowerShell, but to also do exactly what you’re talking about….verifying basic competency. For the employee as well as their management.

  3. Emin says:

    I’ve got some comments on the PowerShellVerified.docx.
    I think that you should be more specific on the version of powershell that you plan to test. Will it be V2 only, V3 only and or a mix of V1,V2,V3 that you may find in real environments. Ok, the VM we will work on is a full V3 but what about remote targets? Will the VM have RSAT tools installed?
    When, you mentioned toolmaking, I immediatly thought about WPF, Show-UI,.. but they don’t appear in ‘prerequisites’ page. Does it mean that Out-GridView -PassThru will be enough and that we can assume that co-workers can use the code we provide from a command prompt?
    I also think that you should mention ‘handling error’ skill on this prerequisite page.
    The ‘Re-take policy’ is too long in my opinion. Imagine a beginner who reads your book in a month, participates in the scripting games and has a 3 month experience of building tools for co-workers. Don’t you think he may have acquired the required skills to pass the scenario? If yes, what about a 6 months re-take policy?
    Another question: will you provide a ‘poweshell verified’ logo (for blogs, online resume for example)?
    PS: I’d like to test it but I’m @GMT+1 🙁

  4. Pete Zerger, MVP, MCT says:

    Interesting idea Don. As someone who’s worked on exam and courseware design, I would appreciate a live group discussion.

  5. DonJ says:

    @Emin – You’re assuming you’ll need the RSAT tools. You won’t. It’ll be a v3 test, although the skills would be equally applicable to v2. And no, no WPF. That’s not a tool, that’s a user interface. Difference.
    This test isn’t geared for a beginner, and the re-take policy is something we’ll discuss on the call. The goal isn’t to take and take and take until you pass; it’s to be confident and take it when you know you’re ready. I don’t have the resources to create so many scenarios that we can withstand repeated re-takes. But, I’d say that if someone read both of my “Lunches” books, did well in the Games, and had 3 months of experience would be fine and shouldn’t need a re-take.
    And yeah, we’ll probably provide a logo.

  6. DonJ says:

    @Francois, it’s more a matter of exposure to the scenario. I’m proposing the year-long wait mainly to discourage people from “trying it out to see how they do.” If you’re confident in your abilities (and we’d need to publish a more detailed prep guide, obviously), you take it. It’s also a matter of exposure to the scenarios, and my ability to create new ones so that you’re not getting the same test every time. This is easy to do with MS-style multiple-choice exams; VERY HARD to do with hands-on, auto-graded scenarios that encompass many skills.
    And agreed, a more detailed prep guide, with examples, would be helpful. That’s a given. What I’ve got right now is an outline, a sketch, really. It’ll get more detailed. Keep in mind that the scenario hasn’t even been written yet ;). This is very early stages, where I’m trying to round up people who would be interested in helping me test this.
    Bottom line, if I can’t get people willing to help me TEST this – even 2-3 people – then there’s no point in going through all the work to develop it. So I won’t need to create all that detail, because this won’t exist ;).
    I mean, we’ve had four comments so far… but I gotta have some contact info (even Twitter handles) in order to follow-up with anyone who’s interested in participating ;).

  7. Joe Fecht says:

    Think it would be a great idea. I think some short of achievement/certification would be helpful to show your current and future employers that you are able to automate processes and provide tools for the rest of your team.
    I do understand the reason behind the retake policy although I would suggest shorting it up to 6 months instead of year. This would help to keep those that do not pass from becoming to discourage that do they not try again.
    I don’t believe I am at the skill set you are looking for but would be open to trying the test if you’d like.

  8. Chris Duck says:

    I’m willing to beta the test for you. I’m @gpduck on twitter.
    FYI, my company is currently hiring for a system engineer and Powershell experience is one of our primary considerations for a candidate, because we use Powershell for everything. It IS our system administration tool, we don’t have SCOM/Altiris/Cheft/etc, we use remoting. Our management is sending 4 out of our 8 team members to the PS summit this year (three of the other guys focus on Linux and the fourth isn’t hired yet).
    I guess what I’m saying is a semi-official/community/whatever “certification” would go a long way for getting someone in the door at my company, and the people in our team interview session DO care what that Don Jones guy said about your skillz 🙂

  9. Khaled Abdellali says:

    i’m interested to test but GMT+1

  10. Milton Goh says:

    Worth giving it a try! Definitely want to try it…

  11. Milton Goh says:

    Are you going to have a beta for this? Beta as in pilot test with a couple of folks? Be it a shorter version of the test or perhaps 1-2 simple scenario at 1 hour time frame / allowance ? I wouldn’t mind cooking a small fee for this trial but this wouldn’t kill my chance for the once a year chance…
    Just my 2 cents.

  12. Brian says:

    Don, I’d be interested in helping with the LiveMeeting session. I’m an IT manager and think I could offer some good feedback.

  13. Good idea!
    I read the Word docu and my only comment is that I am not sure all good PowerShell gurusu need to setup the infrastructure such as firewalls/remoting? Maybe for a more advanced level but isn’t this something that is often done as part of the infrastructure setup?
    Also; Microsofts do have certification programs for developers, wouldn’t a track in there fit for PowerShell? PowerShell is more of a language than a dedicated tool. So it doesnät make sens to certify on the same merits as Microsofts exams usually do. But applying the developer certification would make a little more sense?
    I don’t disagree with what you are doing, but the value of any type of exam is arguably higher the more people that stand behind it.

    • DonJ says:

      I don’t really get to decide what MS will and won’t do, and I don’t get to influence their decisions. But I can observe, and my observation is that they’ll never do a pure-PowerShell exam. Not even on a developer track, especially since PowerShell isn’t a “developer product.”
      In terms of infrastructure – a PowerShell toolmaker (I’m not using the word “expert” or “guru” here) needs to be able to set up certain aspects of Remoting. Remoting is part infrastructure, yes, but it isn’t something you will set up once and never think about again. Not if you’re using it to its full capability.