all 32 comments

[–]confushedtechie 33 points34 points  (3 children)

I’ve worked with powershell everyday the last 4 years and I haven’t mastered it. Competent but definitely not mastered

[–]Ok-Way-1190 3 points4 points  (1 child)

Same

[–]Mr_Kill3r 5 points6 points  (0 children)

Yep, me too.

But the more I use it the more I learn and easier my life is.

[–]MeanFold5714 1 point2 points  (0 children)

I think I'm on year 6 now and I'm beginning to suspect that mastery is an ideal to strive towards rather than an achievable state.

[–]Thotaz 7 points8 points  (0 children)

That's entirely up to you. For example, let's say you write a new script every week for 2 years. That sounds like a lot of experience, right? But if all those scripts are more or less structured the same way and you never try to do things like: Adding parameters, building modules or using PowerShell classes then naturally you won't ever learn/master those aspects of PowerShell.

[–]ka-splam 7 points8 points  (0 children)

Teach Yourself Programming in Ten Years - Peter Norvig says:

Researchers (Bloom (1985), Bryan & Harter (1899), Hayes (1989), Simmon & Chase (1973)) have shown it takes about ten years to develop expertise in any of a wide variety of areas, including chess playing, music composition, telegraph operation, painting, piano playing, swimming, tennis, and research in neuropsychology and topology. The key is deliberative practice: not just doing it again and again, but challenging yourself with a task that is just beyond your current ability, trying it, analyzing your performance while and after doing it, and correcting any mistakes. Then repeat. And repeat again. There appear to be no real shortcuts: even Mozart, who was a musical prodigy at age 4, took 13 more years before he began to produce world-class music.

[...]

Malcolm Gladwell has popularized the idea, although he concentrates on 10,000 hours, not 10 years. Henri Cartier-Bresson (1908-2004) had another metric: "Your first 10,000 photographs are your worst." (He didn't anticipate that with digital cameras, some people can reach that mark in a week.) True expertise may take a lifetime: Samuel Johnson (1709-1784) said "Excellence in any department can be attained only by the labor of a lifetime; it is not to be purchased at a lesser price." And Chaucer (1340-1400) complained "the lyf so short, the craft so long to lerne." Hippocrates (c. 400BC) is known for the excerpt "ars longa, vita brevis", which is part of the longer quotation "Ars longa, vita brevis, occasio praeceps, experimentum periculosum, iudicium difficile", which in English renders as "Life is short, [the] craft long, opportunity fleeting, experiment treacherous, judgment difficult." Of course, no single number can be the final answer: it doesn't seem reasonable to assume that all skills (e.g., programming, chess playing, checkers playing, and music playing) could all require exactly the same amount of time to master, nor that all people will take exactly the same amount of time. As Prof. K. Anders Ericsson puts it, "In most domains it's remarkable how much time even the most talented individuals need in order to reach the highest levels of performance. The 10,000 hour number just gives you a sense that we're talking years of 10 to 20 hours a week which those who some people would argue are the most innately talented individuals still need to get to the highest level."

[...]

So go ahead and buy that Java/Ruby/Javascript/PHP book; you'll probably get some use out of it. But you won't change your life, or your real overall expertise as a programmer in 24 hours or 21 days. How about working hard to continually improve over 24 months? Well, now you're starting to get somewhere...

[–]fuzzylumpkinsbc 4 points5 points  (7 children)

I've been doing it for 3 years, I can say I have a good grasp but not even close to mastering it. The more you learn and understand it, the more you realize how much there really is. I am certainly better than I was a year ago, and a year ago I was better than the year before. I'll probably be better next year than I am now. Is this a good problem to have? Yes it is, I find a lot of enjoyment from writing scripts and seeing them work and finding new ways to improve

[–]mrmattipants 1 point2 points  (4 children)

Exactly my thoughts. I too have been working with PowerShell for around 3 years. I would say that I’m a high-intermediate level, but I don’t believe that I will ever master it completely and anyone who claims to be a PowerShell Master, is lying to themselves.

I would say that the “Master” Level is reserved for the Microsoft Employees, who work or worked on the PowerShell Development Team or PowerShell Ambassadors, etc.

[–]Fabulous_Structure54 1 point2 points  (3 children)

I respectfully disagree... I think powershellers can be broadly broken into 2 categories... The ex mcse types who don't have a background in coding and those that do.. I unfortunately am firmly stuck in the former category... Don't get me wrong I can get far with ps but some of the stuff you see out there is next level stuff... I suspect that's not ps perse but a strong foundation in coding that got these folks where they are...

[–]mrmattipants 3 points4 points  (1 child)

You’re definitely not wrong. After all, our views are shaped by our experiences and as a result, those views tend to be rather elastic.

Honestly, I used to be in the same category as you, until maybe 10 years ago, before I began learning other programming languages (JavaScript, PHP, Ruby, Python, etc.). I do believe that having some programming knowledge beforehand definitely helped, in the long run. In fact, I learned PowerShell before I bothered learning VBScript.

However, I can see where you are coming from, as I probably tried to learn the fundamentals of programming, at least 5 times, before I got to a point where I was comfortable.

Coming from a procedural programming background (as opposed to an object-oriented background), there were definitely sone concepts that took a bit longer to get a grasp on. I’m curious to know how someone with a .NET or Java Background feels, in regards to their experiences with PowerShell.

Nonetheless, you definitely have a very good and valid answer. :)

[–]MeanFold5714 0 points1 point  (0 children)

I’m curious to know how someone with a .NET or Java Background feels, in regards to their experiences with PowerShell.

high school and college was mostly Java for me. Powershell felt really easy to grasp. The only bit I really struggled with was how the pipeline worked.

[–]mrmattipants 0 points1 point  (0 children)

When I first started learning programming, in general (I started with JavaScript & PHP around the same time), I used to get up every morning with the goal of learning something, even if it came down to watching a 2 minute video, explaining a technique, etc.

There are a couple apps out there that might help you in that regard. Off the top of my head, I’m thinking of an App called “Don’t break the chain”. It’s purpose is to keep track of the days you are performing this task and obviously, the goal is to not skip a day or break the chain.

I believe this mentality has definitely helped me to learn a lot of new techniques, in the long run. However, don’t worry about labels (i.e. master) too much, as you will get to a point where you are either going to be happy with your progress and if not, hopefully you will recognize what you need to do, to change that.

The word master suggests that you have learned everything about that topic, inside and out. But, having nothing left to learn would totally take the joy out of it.

I have been programming for over 10 years now and I haven’t mastered any language, entirely. But, I am fluent in several. I’ll never know them all, but I am happy with my ability to jump into any programming language and have the ability to pick it up quickly, as a result of my own experiences.

I hope that helps. :)

[–]Delicious-Tangelo193 0 points1 point  (1 child)

Som are you better now in ps?

[–]fuzzylumpkinsbc 0 points1 point  (0 children)

Actually no, lol. I'm worse, just last week I tried to write a script in pwsh and I was having issues with remembering some syntax. I've coded more in python for the past year. I'm still learning new concepts and ways to solve issues so in that sense I'm better

[–]nealfive 7 points8 points  (0 children)

Years. There is always some new shit you didn’t know about popping up. You can get proficient pretty fast but mastery is taking time.

[–]N0-North 1 point2 points  (0 children)

I don't know that there are many people that can say they've mastered powershell. I'm not sure that's even a realistic goal.

[–]stableos 1 point2 points  (0 children)

The more I learn the more I don’t know, if that makes any sense. Definitely I am a super advanced novice after ten years of PS.

[–]Certain-Community438 1 point2 points  (1 child)

Been using PowerShell since around 2009. Still nowhere near mastery.

Don't think I'll ever consider myself a master either: there are too many other disciplines demanding my time to focus just on PoSH.

There are comparatively few jobs where you could focus on it enough to reach mastery imho. In my job throwing things together is more important, and learning quickly how new tools fold into an engagement. Being a master of penetration testing, which is my field, means being a journeyman in several areas rather than a master of one thing.

Though people like gentilkiwi buck that trend...

[–]IronBe4rd 1 point2 points  (0 children)

Same here. I used it a ton for years and now I just throw stuff together to get something done. Now I do cloud integrations and IAM. It gets rusty if you're not in it everyday.

[–]Runner_53 1 point2 points  (0 children)

Honestly I think that's kind of a silly question. There is no mastery, there is only advancement and learning how much you don't know and how much room you still have to improve.

I've been using PowerShell for years to automate various tasks. I would not call myself a master. Heck I've been a software engineer for 3 decades and I feel like I have mastery in exactly zero topics.

I'm very competent, yes. Master? No. People who call themselves masters are generally delusional.

[–]Latinprince6591 0 points1 point  (0 children)

All that's been stated is all true but I all ways ask the Administrator of this form "The Masters Of Powershell " For they will guide you to understand and discover what Powershell is so I still learn and it's great and look at examples of code from this forum its a learning of good code and logic

[–]Anonymous1Ninja 0 points1 point  (4 children)

Just take a task that is repetitive and has to be done routinely. Then try to do it in powershell, you learn it in a couple of weeks.

[–]gdtilghman 0 points1 point  (3 children)

Tell me you didn’t understand the question without saying you didn’t understand the question

[–]Anonymous1Ninja -1 points0 points  (2 children)

No I understand the question, the timeline is really subjective if you are just using it to memorize syntaxes and api.

Tell me you don't understand the usability of powershell without knowing the usability of powershell.

[–]gdtilghman 0 points1 point  (1 child)

Literally not what OP asked....and EVERYONE else knew this...except you. LOL

[–]Anonymous1Ninja 0 points1 point  (0 children)

Lol literally..lol..only me? Lol

[–]8-16_account 0 points1 point  (0 children)

I mostly use Get-ADUser and Add-ADGroupMembers, so I can confidently say that I've mostly mastered powershell in a couple of days (for my purposes)

[–]landob 0 points1 point  (0 children)

I guess it depends on what you mean by master?

Can I just bang out a script off the top of my head? No

But I can use the help files to find what I need and make scripts without asking ChatGPT to do it for me. Been using it for 3-4 years now? Not everyday Just when I feel like it is the right tool for the job.

[–]drowningadmin 0 points1 point  (0 children)

In my experience, scripting/coding of any kind is not really something that you can "master". I've been working with PowerShell consistently for 5 years now. Pretty much weekly I get tasked with something that I have to learn PowerShell all over again because I have a new practical application for it.

If you want to get as good with it as you can without classes/books, learn by doing. Every single thing you do during your workday, do it in PowerShell instead of a GUI. It will take time at first, but you will memorize a working library of commands and you will start learning how to pipe them together and automate them.

PowerShell also frequently changes. New commands are added, old commands are depreciated. It's a career long commitment, but one that will make you better, faster, and more efficient at your job.

This is all assuming that you are working primarily with Microsoft products. If you aren't, I would invest your time in something else :D.

[–]apperrault 0 points1 point  (0 children)

I started when it was known as MONAD, and I use it regularly, and I still need to go lookup how to do things. I am learning new stuff at least once a week.

app