The main difference between enterprise level scripting and non-enterprise level scripting is professionalism. This is a simple truth. You may have the best code in the world and it may have the potential to save millions of dollars but without the proper attention to the small and large details it is most likely a script that will live and die with you. It won’t even be a foot note in the company’s internal wiki. It may as well have never existed at all.
You have been putting in hard work and are an aspiring system administrator with some real promise. Maybe because you are ambitious, competitive, hate manual and repetitive tasks, or a some combination of all you have started down the glorious road of automation. After your few lines of working PowerShell maybe your perspective on life changed and now you see possibilities you never saw before. Or maybe you are already a skilled automation enthusiast but are looking for a way to get your efforts recognized and adopted by the rest of the organization. If you are just starting to lean towards automation first when addressing everyday operational issues or you have been automating for years and want to put some extra polish on your work let me share with you some knowledge I have picked up on along the way. If you are already a skilled automation enthusiast then let these posts be a guideline and a reminder of what to focus on and how continually improve your process and focus.
There is a going to be a lot of information and recommendations to take in over the next 10 posts. Keep in mind that in many enterprises or small business it will be hard or impossible to implement all of these suggestions in a timely fashion. However, each one on its own can absolutely be implemented it just takes time. Absolutely implement the ones that make the most sense and provide the most immediate value first, but never forgot the others. This entire new world of “DevOps” is all about making code easier to deploy thus making iteration simple, accessible and required. Your automation development will be a living process that should constantly be improved upon over time. Whatever you are unable to get implemented at first makes sure the items stay on the backlog and get implemented eventually. While you are developing solutions for others always take a bit time to improve your processes and procedures. Why not automate and iterate on your testing and deployment procedures as well?
Finally, the following posts are purposely not overly technical. This is designed as a framework for success and not a step by step walk through. These points can be applied to from a technical or non-technical position. If you are lucky enough to have the resources for a project manager or a business administrator this might be worth sharing this with them as well. Remember some automation is better than no automation. And every step you take to improve the professionalism of your code and deliverables is a very good thing. Try to get the entire team focused on the same vision and goal to keep improving and never stop iterating. Here we go…