Do you stagnate with your PowerShell knowledge?

Thinking you are an advanced user can limit you

Thinking about yourself you are an advanced PowerShell user does not necessarily mean you are pretentious. It can also be a fact and it can mean you are realistic about your knowledge and skills.
This is important because there are so many things to read on the Internet that you must sort out what will probably be useful and what will probably be not, because your time is finite and short and the amount of things to read is like infinite.

However, despite I think about myself that I am an advanced PowerShell user, I still read posts and articles written by other advanced users (who can sometimes be qualified as experts), and which are written for beginners or for “less advanced” users.

Sometimes when I read the title of a post, I think: “Ok I already know this subject”. But very often I learn something which I didn’t knew or didn’t remember.

You don’t remember things you are not ready to use

It’s well known that we only remember a little percentage of what we learn.
Furthermore, we tend to only remember what we use.
And that’s normal, especially when you are a beginner to a complex subject like PowerShell.
At the beginning, I was so eager to learn, that I was literally “eating” every information I could found on everything about PowerShell.
However, I could not assimilate all this knowledge at once and thus I forgot most of it. Furthermore, I was even not aware of how I could use all those features.

For example, when I learned the usage of the Where-Object cmdlet I only retained that I could use the -Like parameter because at this moment I was a complete newbie with regular expressions.
That’s why I only used the -Like parameter during months…
Later, somebody wrote an article about the Where-Object cmdlet and despite I thought I already know this cmdlet I read the post. To my surprise, I discovered (“again”) that there is a -Match parameter. But meanwhile I improved my knowledge about regular expression, and I was now ready to use the -Match parameter.

After a certain time, I had the same experience with many other aspects of PowerShell. Among them:

  • The -Begin, -Process and -End parameters of the ForEach-Object cmdlet
  • The Out-Variable parameter
  • $Variable = foreach(){}
  • The -ErrorAction parameter
  • The -Syntax parameter of the Get-Command cmdlet
  • Many more…

Some of these “reminders” or “rediscoveries” are minor while others are more significant. However, all of them are improving my overall PowerShell knowledge and skills.

Going back to the basics

It appears to me that going back to the basics is not something belittling but rather a way to reinforce your existing knowledge.

How can we do that?

  • When somebody writes an article about a topic you think you already master, just quickly go through this article to check if there is not something you missed, or don’t remember anymore. Also, maybe meanwhile you acquired some other knowledge which made this information more pertinent and maybe you went through some cases where this information is now useful.
  • Read again the about_ sections.
    Get-Help about_*

Do you stagnate with your PowerShell knowledge?
Go back to the basics!

PS: If you know other methods to go back to the basics, feel free to share them in the comment section below.

One thought on “Do you stagnate with your PowerShell knowledge?

  1. Nice article. I completely agree.

    Not necessarily “back to the basics”, but reading code in other people’s repos (for projects you use or are interested in) can easily point out areas that you aren’t as familiar with. It’s also a great way to see “hey…I hadn’t ever thought of doing things that way!”. Sometimes the “new way” is something that resonates with you, and you’ll adopt it. Sometimes it goes against your practices and makes you think about why you code the way you do.


Leave a Reply

Please log in using one of these methods to post your comment: Logo

You are commenting using your account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s