Every year I usully start with some grandiose vision of what I plan to achieve and generally dont follow through with it. This failure is caused by failing to breakdown goals and for having measurable achievements and regular reviews.
This year I plan on fixing all of these mistakes by using a simple notepad to collect and store all of my plans alongside using my diary both physical and online to enable me to at a glance know whats steps I need to be taking to reach these goals. Too many times using an online tool results in me getting bog down with another task and not focusing on achieving my goals. The use of a physical notepad allows me to focus and gather my thoughts way better without any distractions.
My plans for 2018 is to learn more C++. I have found the more C++ I have learnt the better I have become in many other areas of my DBA role. I plan on doing a lot more C++ problem solving on Project Euler and some other Competitive coding site to enable me to further grow and refine my skills.
This year I want to truely ensure that I use PowerShell in my daily activities to automate and make my life easier as a DBA. I have a dream of going to work and simply running a script to do daily my routine tasks which would allow me to surf hacker news all day. This might be a complete fantasy but I think I can get very close to it. Alongside PowerShell I want to master the Pester framework so that I can learn and integrate a TDD approach to coding rather than my current haphazard style.
As a DBA my bread and butter is SQL Server and this year I plan on learning more about Performance Tuning as I think that this year I can make a massive difference to our internal platform by being able to make our SQL queries run suer efficiently.
My low priority learning goal is to learn more about Windows Server, Hyper-V & Docker. This will help me with my day to day work but I doubt it will allow any quantum leap in my ability to do my DBA work.
I plan on blogging about these 4 areas but I dont want to commit to doing more than a fortninghtly post as I want to ensure regular content without making this goal a distraction from my learning goals.
The regular reviewing is already underway with a series of appointments in my calender with my wife to make sure that I am staying focused on achieving these goals and makng sure that my 2018 plans are a success.
I remember when one of my friends got a summer job where he was asked to remove certain special characters from filenames and replace it with an underscore. He complained it was boring and tedious but it paid well so he stuck at it.
He was expected to do a certain amount of files per hour and he was determined to hit that target as soon as he could so that he could spend the remainder of the hour surfing the internet. The internet at that time was still a rarity and he decided he needed to find a quicker way to complete his work so that we could free up more time.
After much searching and lots of testing he wrote a simple program which renamed the files for him. Unfortunately for him some of the code he cut and pasted without properly understanding its function looped through all the directories on that particular drive completing weeks of work into a few hours. He was shocked at the speed, efficiency and most devastating of all the prospect of losing his job.
He plucked up some courage and showed his manager what he had done. His manager was astounded at his cleverness and told him if he could setup the process to run daily and then maintain it ongoing he would employ him part time permanently. This led to a fruitful source of income as over the next few years he did very little modification to the system whilst picking up a monthly paycheck.
This is the power of programming and why you should learn programming as with only an entry level of knowledge anyone can recreate the program my friend had created.
I bet there are dozens of daily tasks which you do which could similarly be automated like
- moving files
- downloading files
- giving custom notifications in response to events
- manipulating excel sheets
- importing and exporting data
- and hundreds of more similar tasks.
Think about how much time you could save and how much you could benefit by automating things in your life. Hopefully the benefit you could receive is enough to answer Why you should learn programming.
My name is Parvinder Nijjar and I work as a Microsoft SQL Server Database Administrator (DBA). I am certified at MCITP level for SQL Server and have almost seven years of experience with Database technologies.
I have a huge love of Windows Server, SQL Server, C# and PowerShell. I hope that through this blog that I’ve created I can help spread SQL knowledge to everyone so that they can improve their SQL knowledge and become better data professionals.
Throughout this blog I will share my knowledge and experiences of Indexing, Policy Based Management, Replication, Mirroring, Clustering, Log Shipping, Backup and Restore, SQL internals, Security, SSAS, SSRS, SSIS best practices and programming.