I was recently at the annual PowerShell and DevOps Summit. It’s one of the conferences I try to attend every year. It’s small and focused which leads to a ton of great conversations with fellow attendees. One of the topics that keeps coming up in conversations with others is not just PowerShell and DevOps but general career success.
Here’re a few tips that have significantly helped me in my career. I hope they’ll help you as well.
The Command Line is Your Friend
Linux guys have known that the command line is the key to success for decades now. The command line allows you to manage products and build tools in a way that a graphical interface never could. Microsoft system admins have strayed away from this. However, with the advent of PowerShell, things have changed.
Jeffery Snover has famously warned against the “click next” admin. This was about the administrator that only knows how to manage infrastructure with the mouse. It’s about the administrator that would rather use the mouse, click through a wizard and get things done one at a time. The days of the “click next” admin are gone in progressive companies.
Don't just learn from my blog and keep that newfound knowledge to yourself! Share it! I've created a new service called TechSnips that's dedicated to helping technology professionals share their knowledge and look awesome in the process! Through small screencast videos, full courses and written content, TechSnips is a community to help you grow your career. Join us!.
If you are a “click next” admin, I highly encourage you to expand your horizons. Realize how often you’re doing things more than once. Think about how many times you’ve goofed up an install by running through a runbook of instructions. Convert these runbooks to code. By transforming your paper-based instructions to code allows you to quickly run through those instructions in a repeatable, systematic fashion.
Your Job is not Your Career
Some people get caught up in the trees and never see the forest. Regardless if you’ve been with your company for 1,2, or 10 years, statistics show you’re probably not going to be there for life. Why are you focusing so much of your attention to company-specific tasks in your scripts? Generalize your work. This not only forces you to follow best practices by building reusable code, but it also gives you code you can share with the community.
When starting on a script, have in mind that you will be sharing your work on your blog, for example. This will naturally force you to parameterize functions, not hard code company-specific information in scripts and so on.
Automation is not just for Enterprises
Automation is not just for huge businesses that require automation to survive. Automation is also beneficial to small shops as well. Automation not only saves time with repetitive tasks but forces you to break down processes into manageable chunks. Automation naturally leads to a deeper understanding of the process.
Even though the benefits of automation scale with the with size of an organization doesn’t mean that small shops shouldn’t consider it. That’s like saying you’re not going to contribute to your retirement because you have no money saved. You’ve got to start somewhere. If not, you’ll never get there.
Also, going with the previous example, you’re probably not going to be in the same job all your life. Why not start learning how to automate in this job now as an investment in your career rather than being so focused on solving job-specific problems. Focus on your career; not your job.
Work with What You Have
We all may not be privileged enough to work with the brightest minds in the industry, work on the most bleeding edge technologies and have the biggest budgets to buy the best toys. Work with what you have if you’re happy but merely need a few changes. Build the tools if you don’t have the money. Learn from the building process and, as a result, you’ll gain valuable experience.
Being in situations that place constraints upon you makes you solve problems creatively. As an example, I wrote up a blog post about this. Even though this guy didn’t have access to the virtual host, he could still write his own Get-VM function to just fill out a web form. Build automation and build tools around what you can do rather than bitching about the things you can’t do.
Make Yourself Known
I can’t stress enough how important just demonstrating your competence to others is. You may be the smartest person in the world and working on life-changing stuff, but if no one knows about it, it doesn’t matter. Share your work with others. Put up projects on Github, start a blog showcasing the fun stuff you’re working on or start answering questions on forums.
The venue doesn’t matter. Contribute however you’re most comfortable. You’ll not only make yourself known which will earn you respect from your peers and get in front of employers, but you’ll also be helping others in their careers as well.
The Main Takeaway
The most important thing to keep in mind is to focus on you; not your employer. This isn’t to say to ignore your job responsibilities. Rather, use the context your company puts you in to better yourself. Use the environment you’re in to make it better, come up with better ways to solve problems and automate everything you can. This will not only help you learn more and gain valuable experience, but it will also naturally help your employer as well.