After almost 20 years working as a software engineer, I started writing my experiences as short stories. I believe this is another way of sharing experiences with each other. Looking forward to hearing your stories!
I was in the first week of a new job and the assignment was to install a company software on the local machine. In the beginning, I found that there are some documents on the internal website which I could follow to install. This was a very optimistic expectation of course. As soon as I started reading and doing the steps, I realized that there are many things that are not mentioned in the document and I began to ask a lot of questions to which I do not have any answers. Then I had to ask current DevOps engineers for each unclear part.
Later, I found that every day I am on a call for hours with these engineers and we achieve bit by bit of this installation together. I would say around 20% of the operations were documented and automated but the rest of the things should be done manually. Finally, I managed to install the software in a week but still, there were many things I did not know how I have done, and forgot many other details that were not in the document.
It turned out every time we have a new hire, this situation happens again and again and there has been no update neither on the document nor in the software installation process. The DevOps engineers were proud of what they have already created after years but they did not realize that no one can install that software without them. This situation created a huge amount of complexity around software deployment and takes hours for employees to figure out things again and again. So, no matter how nice all those scripts were, it created an overhead for a company and this was quite hidden from the managers.
When it comes to DevOps, usually the first thing you can think of is automation which is true. Actually, by following the DevOps practices, you are going to automate as much as you can, and it is out of the question but sometimes people are missing why DevOps offers to automate and what you will achieve by the automation. DevOps in a nutshell is a set of practices that help you to bring more value to your organization. So before jumping into a technical part, knowing the DevOps fundamentals is crucial
Back to our story, the engineers were experienced in the technical part and they knew how to write and maintain scripts. However, they were not knowledgeable enough in terms of the DevOps foundation to know how to deliver a smooth pipeline for the software. In addition, they were not aware that the current situation is not good and efficient. This means having technical knowledge is a must but it is not enough to make you a DevOps engineer. You need to have a DevOps mindset!