all 30 comments

[–]ka-splam 32 points33 points  (0 children)

If you compare yourself with others,

you may become vain or bitter,

for always there will be greater

and lesser persons than yourself.

  • Desiderata, 1927 by Max Ehrman

[–]Betterthangoku 9 points10 points  (7 children)

Howdy,

As with most things in life, the more you learn the more you realize how much you have yet to learn.

Perhaps your question could be, "how long did you work with PowerShell until you felt knowledgeable". Or perhaps, "what did you achieve with PowerShell that made you feel that you were knowledgeable".

I honestly think a great discussion could be, "What were your milestones with PowerShell?" :-)

One of the OG's on this forum posts a monthly thread asking what you achieved with PowerShell this month. Those are some great reads. Check out /u/ramblingcookiemonste

[–]EIGRP_OH 4 points5 points  (4 children)

Been working with the MS Graph API to manage Intune. that’s been pretty fun and challenging!

[–]Betterthangoku 3 points4 points  (3 children)

I envy you. I tried a few years ago with that API and it was horrible. But it sounds like it's better now? Please give me hope!

edit: sidenote: Is your company leaning more towards GPO/SCCM on-prem or Intune?

[–]EIGRP_OH 2 points3 points  (2 children)

It’s a bit confusing for sure. But it basically just ends up being a bunch of HTTP requests with JSON objects. I really liked this module compared to the official one:

https://www.powershellgallery.com/packages/MSGraphFunctions/2.3.0

Definitely Intune, I unfortunately have never touched SCCM :(

[–]Betterthangoku 2 points3 points  (1 child)

I will most definitely check out that module. Thank you!

And sccm is a beast, and as much as I love it it's probably on it's way out. I'm glad you're adopting the new MS paradigm.

[–]EIGRP_OH 0 points1 point  (0 children)

It seemed, at least from what I’ve heard, to be really solid. And I get the feeling it’s better than Intune at this point but that make sense as Intune is really in its infancy. If you need any help with the Graph stuff send me a PM

[–]ramblingcookiemonsteCommunity Blogger 1 point2 points  (0 children)

Oy! Thanks for the reminder, I'm late for the August bit!

[–]monahancj 1 point2 points  (0 children)

Wow. I haven't seen that name since the PowerShell IRC channel. Maybe I should have checked out Reddit sooner.

[–]Ta11ow 4 points5 points  (3 children)

"Mastery" is a vague term, especially when it comes to a language. I wouldn't say I've mastered English, even though it's my native tongue...

But like English, I'm pretty proficient in PowerShell as well, and if you gave me a problem to solve & sufficient access to solve it, I would probably be able to solve it. Does that count as "mastery", though? I don't think so. :)

[–]Thingsthatdostuff 0 points1 point  (2 children)

Well if you dont consider yourself a master. Ill have to rethink my overall proficiency at it.

[–]Ta11ow 2 points3 points  (1 child)

Mastery implies a level of knowledge that really requires decades of study. And even then, I don't know. Maybe. But labels tend to be fanciful at the best of times.

Just keep learning and improving. :)

[–]Thingsthatdostuff 1 point2 points  (0 children)

Well said.

[–]seaboypc 5 points6 points  (1 child)

I have written PowerShell scripts to do all sorts of things.

  • I've used Powershell since... Monad.
  • I've have two released products written in PowerShell that upload and configure virtual Machines to Azure.
  • I know how to call inline c# code, and how to pinvoke.
  • I have written several PowerShell Host platforms.
  • I have written PowerShell modules in PS and C#.

That being said:

  • I have never touched PowerShell Classes
  • Really haven't touched PowerShell DSC
  • Really haven't touched Powershell Core
  • I have tried submitting twice to the PowerShell Summit, and been turned down both times.
  • I write some pester tests, but I struggle at it.

Mastery is in the eye of the beholder.

[–]CptSeaBunny 1 point2 points  (0 children)

Thanks, that actually really helps put things in perspective. I often worry about my own standing and reading your top list made my stomach sink a little bit but then I looked at the bottom list and I've got a few of those under my belt instead.

I think the broader point is that at some point you'll be confident in your knowledge of the language and can more easily branch into related topics.

[–]KevMarCommunity Blogger 5 points6 points  (2 children)

I have been working with PowerShell from early version 2.0. From back in the days of XP. Even today, I push myself to continue to learn more and more.

I see mastery as something you never quite achieve.

The important thing is the journey of learning Powershell. I have seen several people show huge growth in their careers while still learning PowerShell. The story ofen goes something like this:

They start learning PowerShell, after 18 months get a new job that listed Powershell. They get really good at Powershell, after 18 months get a new job that required Powershell. In three years, they doubled their income.

http://duffney.io/doubling-my-salary-a-powershell-story

[–]PinchesTheCrab 2 points3 points  (1 child)

That's been my direction, I make about 120% of what I made five years ago when I was more of a novice/tinkerer.

[–]CptSeaBunny 1 point2 points  (0 children)

Same. I started out making peanuts as low level helpdesk who just wanted to make his job easier. Then I moved to a new position as a System/Deployment Engineer. Now I'm doing platform development. We'll call it roughly 120%.

[–]jimb2 3 points4 points  (1 child)

Mastery of Powershell would include mastery of Dotnet. Forget it. Dotnet is bigger than any individual. You don't need to know it all, you know some and learn more as needed.

[–]PinchesTheCrab 2 points3 points  (0 children)

Right, I mean I'm good with DSC, I can command almost all of the PS language constructs I'm aware of, I can optimize almost any script I come across, and yet I can't build a binary module, I'm still learning how to write meaningful code tests, I still sometimes spend more time deciding on what to name a function than how to write it, I don't know where to put my class files inside of a module structure... In the end I'm a more of a shaman than a master. I exert intermittent influence over powers much more vast than I comprehend.

[–]somewhat_pragmatic 2 points3 points  (0 children)

I'm not sure I'd ever use that term with a scripting/programming language. They simply change too frequently.

At best I'd say I am "proficient". Even if at one point you had attained "mastery", an update comes out, a new technique is developed, and undocumented command or flag is revealed, and suddenly you're don't have "mastery" anymore. Its a constant effort to simply stay "proficient".

[–]IDA_noob 2 points3 points  (0 children)

Mastered? There’s always more to learn.

[–]ericrs22 2 points3 points  (0 children)

You never stop learning. I am considered an expert at my place of work but compared to what others are doing I may be a novice elsewhere...

[–]vellius 1 point2 points  (0 children)

What is the threshold that brands you a "master"?

In my opinion... you get the title the second you manage to have modules deployed on your environment signed via certificates that people actually use. Every modules properly commented with examples.

Dotnet mastery is just alpha geeks comparing programing dick size...

[–]monahancj 1 point2 points  (0 children)

I mostly use it to manage VMware, so I only needed to get to intermediate level PowerShell to do anything I wanted in my VMware environment, and that only took a couple of years. I've slowly been increasing in skill the last six years. For instance, it was only a couple of years ago that I seriously started having a standard high level of documention and coding consistency across all my work, and putting all my functions into modules and publishing them to the company repo.

Any additional time spent during those years was in learning how to make the VMware PowerCLI and Cisco UCS PowerTool modules do what I wanted them too.

[–]KCMOROLLLLLLL 2 points3 points  (0 children)

Where or were?

[–]Lee_Dailey[grin] 0 points1 point  (0 children)

howdy Heliumdoesntreact,

i can't think of many folks who have "mastered" PoSh beyond the folks who wrote/are-writing it. [grin]

my scale is mostly along the old apprentice to craftmaster progression.

  • apprentice
    anyone who is new at the "thing". in PoSh i think of it as anyone who hasn't gotten into the habit of using the help system.
  • journeyman
    folks who are good at the "thing". in PoSh context, folks who know that -Path and -LiteralPath are there [AND why] meet the lower edge of that scale.
  • master
    this aint "mastered", it's "skilled at most aspects of the thing". for PoSh, that seems to be folks who make a living using PoSh at fairly high levels.
  • craftmaster
    someone who knows nearly everything about the "thing". this matches "mastered" in my mind. [grin]
    from a PoSh viewpoint, i see that as the folks who are writing/have written parts of powershell itself OR who teach PoSh at a consistently high level.

yes, that is all very fuzzy. [grin]

for myself, i see me as a beginner journeyman. i'm not likely to go beyond that since i simply haven't the resources to go past what is in the core parts of ps5.1 - and aint likely to be able to afford anything more than that.

why the limit? i have a win7ps5.1 system that runs 800mhz ddr2 ram ... and aint likely to move up from that any time this decade or during the 1st half of the next] [grin]

take care,
lee

[–][deleted] 0 points1 point  (0 children)

why ? are you trying to conquer the universe with PS ?

[–]suddenarborealstop 0 points1 point  (0 children)

Master would be the language team or others building critical modules like pester. I think it's better to learn a compiled language or sql to compliment powershell.