I was curious about the amount of Powershell people currently use in the workplace. Which prompted me to write this post.
To get a good idea of how much Powershell people use as part of their day job I ran a quick poll
The results of this poll shows that most of the people don’t use Powershell that often as part of their day job. Of course, there may be different reasons why some do not use Powershell that much, for example:
- You only deal with data related issues
- Right now, you’ve no desire to learn another new thing
- Presently you have a small estate and don’t see the value in it
- Your employer encourages you to use other methods instead
- You see yourself more of a hands-on DBA then a SQL Server engineer
- Personally, you are ultimately more focused at looking into other things
- Now and again you use it; however, you are required to do other things as part of your duties
- You deal mostly with performance tuning issues instead, and deal with things like execution plans
- Last, but by no means least; you might have already used Powershell extensively and have already automated as much as possible. So now you use the time you have freed up to do other tasks
Advantages of using Powershell
Although these are legit reasons you may want to have a rethink about learning Powershell. Especially if you intend to keep working with SQL Server or any other Data Platform over the next few years. For instance, you may find yourself in one of the following situations:
- Sooner or later you must start managing servers or databases in the cloud
- In the future you look to move to a new position which requires Powershell
- You eventually find you are doing complex tasks more frequently and need to automate them
- Your company decides to adopt DevOps and encourages you to implement infrastructure as code
Let’s cover some of these points more in detail.
Companies that require data to be secure like those that deal with financial information are now looking at the cloud as a viable solution. Because of this other companies develop more confidence in the cloud and follow suit.
So even though your employer may not currently be looking to move, you may find they will be in the future. With this in mind, you might want to start learning Powershell now to prepare yourself for using Powershell more with cloud related technologies
Next to the trend of cloud migrations you see that more companies are adopting DevOps or other related methodologies.
Because of this SQL Server DBA’s/engineers who have Powershell skills are high in demand. So, if you are searching for SQL Server related position you may find Powershell as a requirement for the job.
More complex tasks
As technology and working practices advance, there is definitely a need to do more complex tasks with SQL Server. Something I have witnessed over time is that people who have worked in operations long term end up doing complex tasks manually, which can be very time consuming.
Nevertheless in these modern times time is money. That’s why you see now that Management encourage their staff to automate more. As automation will speed up things and therefore give the employees room to get on with other tasks.
The organization you work for decides they want to adopt DevOps company wide. In other words, you find yourself in a situation where you must deliver SQL Servers and updates using a delivery pipeline.
Now, looking at the timeframe of the process it’s not appreciated if you are doing the updates manually. It is more appreciated, or even a must, that you use infrastructure as code. Which is where all your updates must be code based and stored in version control.
Now there are many ways you can use infrastructure as code to perform these updates. However, Powershell is becoming one of the most popular methods.
In addition, if your company decides to adopt a delivery or configuration tool the odds are you will still need to use some element of Powershell.
I think there’s a good chance that some of you will be using more Powershell during your working day in the future.
For some it works like an addiction. Once you experience that automating freed up your time you want to automate even more afterwards. It frees up more hours in the working day, and who doesn’t want that?
Of course, there will be others who wish to focus more on dealing with internal performance problems or want to look in depth at the internals of other data platforms instead.
Which is fine if that is the direction you wish to go. Especially if you honestly believe you can get away with doing that without learning Powershell.
For some of you learning new things in detail does not come easy and therefore are not very keen to do so. But despite your learning curve I think its an good investment as I suspect it will be a necessity for some in the future.
To make the learning process a bit easier there are a lot of resources to help you out. Some of these I covered in previous post relating to study tips here.
You can also use some of the Powershell modules I discussed in a previous post l here.
Another place you might want to consider using as a starting point is the Stairway series on SQLServerCentral, which you can find here.
For me there are a lot of advantages to using Powershell during the working day. So I was mildly surprised by the percentage that do not use Powershell that often during the working day.
At the end of the day using Powershell is an personal choice. With that being said I want to address both users and non-users for feedback on this post.
From those of you that do not use Powershell, or use it very little, I’d like to know if you intend to in the future after reading this post; or do you still not see the need?