Since the onset of Cloud Computing we’ve seen many changes in how we consume IT services. In her recent article “IT operations in the age of cloud: Brace yourself for change,”Alex Barrett outlines one of the most dramatic shifts in IT: operations teams. At CenturyLink Cloud, we know that shift is well underway as we see it today in the way we hire IT personnel: from operations to developers, no longer are these roles isolated from each other.
Instead of just repeating the message “you need to learn to code,” here are the tips, tricks, and resources that we use at CenturyLink Cloud to enable the transition to DevOps.
Don’t know how to code even a little bit? Start with a very simple project such as figuring out how to parse a log file with a language that you are interested in. Once you get that, go talk to a developer and ask him to review your code. Perhaps ask him then to pair program with you to add another feature on it for one hour as it pays off immensely.
Know how to code a bit? That is great! Next step is to take an honest look at your skill and find a project where can help your company by doing some very easy coding. Once you get done with a small project try something harder such as installing Cloud Foundry with Iron Foundry in an environment. Once you get that working, figure out how it works and make some modifications to suit your needs. Remember that the key is to implement something where you have access to code and can review and modify the code base.
Already supporting an application? If you have access to the code, start to dig in and ask questions of the developers. Take one little feature at a time and take notes. This is really great as it adds more value to the company and also starts a dialog on how to blend things together. Next time the application fails make sure to really dig in with the developer to discover the root cause. Ask how they fixed it–down to the code level–so you can better understand the bug.
Interested in learning a specific language? Learning a new language is awesome and there are many sites that are focused on getting you ramped up. Here are some of the more popular languages and sites to start learning from:
- Java: [http://www.programmersheaven.com/
- C#: http://www.csharp-station.com/tutorial.aspx
- PHP: http://devzone.zend.com/6/php-101-php-for-the-absolute-beginner/
- Ruby: http://www.webmonkey.com/2010/02/ruby_on_rails_for_beginners
- Python: http://www.python.org/about/gettingstarted/
- Node.js: http://nodeguide.com/beginner.html
Use Open Source to Learn: Open source is a good way to find a community of developers and engage with them. Many of these projects have meetups around the world that you can attend. Find a project you like and want to use at your company or for personal use, but make sure you will use it. If you find a bug and it is open source contribute (don’t be afraid to as this is how you learn!) Here are some great places to look at open source projects:
- GitHub: http://github.com
- Codeplex: http://codeplex.com
- Source Forge: http://sourceforge.com
- Bit Bucket: http://bitbucket.com
Jump on and find something you are passionate about!
Some Programing/Agile Books: These books are used to really get in the mind set of programming:
- Extreme Programming Explained
- Test Driven Development: By Example
- The Pragmatic Programmer: From Journeyman to Master
You will be surprised how fast you start to understand application architecture and coding best practices as you have seen the end result of this with some of the applications that you have supported. If you get stuck use the community, developers around you, and sites such as Stack Overflow to ask questions and get answers.
A DevOps role is one of the most valuable things we see in the industry as the operational experience and development know how and ability is a force to be reckoned with. These roles are very valuable and can benefit not only your company but also increase your compensation and job security dramatically.