The World of DevOps
The world of DevOps is often misunderstood, under appreciated, and the most needed skillset in the tech world today. Everyone is talking about how everyone should code, but if you read my previous posts, I don't agree with that. Everyone should learn logic and problem-solving skills, but not everyone should code. However, I digress. :-) DevOps is the skillset that helps projects run automated tests, get built, get deployed to servers or devices and much more.
Azure, AWS, and other cloud-based solutions have made hosting of web applications much easier. You don't need a full staff to maintain a private data-center, pay for the building, the racks, etc... So you will hear terms like Platform As A Service (PaaS, I always think of Easter candy when I see that though :-)), or Infrastructure as as Service (IaaS). There are differences between that but I'm not going to get into that here. I want to get into the DevOps world. How do you handle deployment from your QA environment, your staging environment, your production environment? How do you promote builds between those environments? How do check-in code? Do you run automated tests before EACH build? What happens if those builds fail? Do you know what Chef, Puppet, Jenkins, Travis, Bamboo, TeamCity, etc... The list goes on.
There is a great site: https://xebialabs.com/the-ultimate-devops-tool-chest/deployment/ that gives you a short list of devops tools and how many there are.The same site also has a great Periodic Table of DevOps. There are scripting tools like, PowerShell, Grunt, Gulp, WebPack, and the list goes on.
I view DevOps as a specialty skill in development. It is like when a doctor becomes a neo-natal cardiac surgeon, rather than a general practitioner. Development has several areas of expertise: Database specialty (Sql/NoSql/ERD Tools) formerly known as a database developer or database administrator skill, DevOps specialty (CI, Deployment, Builds, Script Tools (Grunt/Gulp/PS/WebPack), Testing specialty (N-unit, J-unit, Jasmine, Mocha, Jest, Specflow), and the high-level division Web vs Mobile developers.
What is your specialty?
Like most of my posts, I like to have some kind of tangible action. This is an easy one. What is your specialty? What do you want it to be? If it is DevOps, contact me and I'd love to chat with you about your journey. I guess it is not that easy. I have noticed more and more that companies are expecting senior developers to be DBA, DevOps experts, and Testing experts in addition to knowing how to code. Imagine if your team code focus on coding and not worry about how it is deployed, how it is built in other environments, and have that maestro on their team that can handle all of that, and educate them on best practices.
So what is your specialty? Let me know and let's see how I can help you on your journey.