16. September 2010
In my last post in this series I said that you should start learning to use PowerShell now if you haven’t already, but I really didn’t give any reasons why you should. I then went on to talk about how to get started.
In this post I wan to focus a bit more on why I think learning PowerShell is a good thing. I’d like to start this conversation by talking a bit about careers.
The purpose of a career is to enable people to take care of fundamental concerns.
We all need to be able to support ourselves, our family, and loved ones. We want to provide shelter, safety, and nourishment for ourselves and the ones we care for.
For those of us that are blessed with a job that we really enjoy, our career can help us meet other needs further up the pyramid. In IT, there is often a lot of creativity and problem solving among other things. (Maybe too much creativity but that is another topic entirely)
The rest of this post is being written with the assumption that the reader acknowledges career as important. So how does PowerShell fit into this whole discussion. Well to start, I have to make one more assumption. Microsoft makes some great products and will continue to have a strong influence in the world of Information Technology. I am not saying they are the only game in town by any means, but I am saying that they have large influential role in IT.
OK, that pretty much does it for assumptions.
What a career often comes down to is being able to add value to a business. If Person A can do a task in 20 minutes and Person B can do a task in 50 minutes, Person A has the capacity to spend another 30 minutes adding value to the company that Person B does not have
Person A is the person that has spent the time learning how to effectively use PowerShell. There are a few reasons why scripting and automating can be so powerful.
- Procedures and tasks become repeatable
- The results of procedures and task become consistent
- The number of mistakes is greatly reduced
Microsoft has added PowerShell to its list of Common Engineering Criteria as of the beginning of Microsoft’s 2009 fiscal year. What this means is that all server products that ship from MS must support PowerShell. Now that we are 3/4s of the way through 2010, this is becoming more and more evident. Just off the top of my head here are a few MS server products that support PowerShell.
- Exchange Server
- SQL Server
- Virtual Machine Manager
- System Center Operations Manager
- System Center Data Protection Manager
- Active Directory
There are a bunch more and I haven’t even began to list third party companies that are banking on PowerShell. The list is big and continues to grow every quarter.
Here’s another secret. PowerShell will never completely replace the GUI. Server products are going to have a GUI admin interface forever and a day. This is a good thing! GUIs enable us to understand and learn new technologies. They help us see what options are available to us and what kinds of things we can do with a particular product. However, we are getting closer to the point in IT in which being able to fuddle through GUIs will be enough. Our peers will be using GUIs to learn how something works and then they are going to use the shell to automate every routine task they can think of. So here’s the question. Do you want to be the person that is creating the routines or the person that executes the routines. Thinking about value for a company and my career, I know which boat I want to be in.