When I talk to IT pro’s in the industry, I have notices that the ones who accomplish a lot all have the same routines. Much like a professional athlete these guys have a regiment that they follow. Today I am going to share some of those with you.
Read: The most common attribute of a productive engineer is that they love to read about their craft. All of the engineers that I speak to have a library of books and RSS feeds that they read. They dedicate time each day to learning or re-learning about IT. Each of them reads on average an hour a day. This is not simply web browsing or daily headlines. They set aside 1 to 2 hours of time each day where they can dive into this material. These guys are serious learners and digest about 25 books a year. This may sound like a lot, but they know their stuff, and repetition is the mother of learning.
Documentation: These guys are meticulous documenters, they have a process for almost everything and they follow it. Even though they have built hundreds of servers, they still pull out their checklist or better yet run their PowerShell script to ensure that EVERY server is built the same way. What I keep hearing is that it has to pass the 2:00 AM test. They want to know that when they get a call at 2:00 AM, they can troubleshoot the issue without fail. They also document all of their processes. This has several benefits:
- Putting something in writing give it clarity. Once you can explain a process to someone who has never seen it, you truly understand it.
- They want to take on more responsibility and be recognized as a leader. By documenting all of their processes, they can hand them off to less experienced people and then go on to learn something new.
- It gives you more free time. If anyone can pick up a document and trouble shoot the issue, you are no longer on the hook 24×7
Test and Verify: It goes without saying that you have to test any new application that you install. These engineers test EVERYTHING.
- They don’t just back up their servers, they test restores every quarter, not every restore, but they randomly restore a file from a different group of servers. There is nothing worse than having a disaster and having to tell your manager or the business owner that you cannot recover.
- They test DNS, be it through dnscmd from Microsoft, or just performing basic NSlookup commands and they verify that aging and scavenging is taking place. There is nothing worse than troubleshooting an inadvertent outage, only to find that there is a duplicate IP address in the system that should have gone away years ago when the system was decommissioned
- Every day they run a DCDIAG on all of their domain controllers. Domain Controllers are no different than any other application server, other than they are very resilient. In an environment with multiple domain controllers you can run with one of them down for months or even years and not know it. Now let’s you had a DC for some reason stop participating in replication ( I have seen this happen ). While this DC is not replicating, you have to upgrade the schema to upgrade exchange, or a newer version of AD. Now log into the Domain Controller that has the correct information, extend the schema and reboot. While you are rebooting, the Domain Controller that has not participated in replication takes over at the PDC emulator and everyone starts to authenticate against it. This gets ugly real fast. Accounts that have been deleted appear again, accounts that were created are no more, peoples passwords change, computers start falling out of the directory. This can take days or weeks to recover from
Plan for patching: You should have negotiated a patch window for your operating systems and applications. This has gotten much easier with Virtualization because hopefully you have bought a datacenter license for your operating systems and you have one app per server, but what about a patch window for the software that runs your hardware. Yes I am talking about BIOS and Firmware. Manufacturers regularly provide us with patches for the software that runs our hardware. The really good Engineers know this and make patching bios and firmware a priority.
Communicate: Great Engineers are not bystanders; they actively and positively interact with their managers and business side of the house. They understand their needs and what drives business and help the business understand IT. This is a win – win for everyone. IT can reduce the number of surprises and often counsel their business counterparts on solutions that are already available. Business can be educated on why outages are necessary to keep systems running at peak performance
Autotmate: Last but certainly not least great engineers automate everything they can. They understand that right click deploy is not a career choice. Any task they have to do more than once they will automate. They have automated tasks that run their DCDiag reports and then have the results emailed to them. They automate storage checks and put those results into spreadsheets so they can track growth. I know of one engineer who even automated his monthly status report by scavenging his outlook calendar and tasks list.
Don’t try and fool yourself and think that all of these things are easy or are accomplishable in the 9 to 5 work week, but if you want to be a great engineer, make a positive difference in your company you will set aside time each week to do some of these tasks.