This is not another long-read about the meaning of “buzzword” DevOps and how cool it is. If you are new to this, there are tons of books, articles, videos which already uncover an idea and meaning.
From time to time I still able to notice, that it is being hard for even technical guys to understand the value of DevOps in the software development world.
On the other hand, there are tons of positions open which is named “DevOps Engineer Wanted. ̶D̶e̶a̶d̶ ̶o̶r̶ ̶A̶l̶i̶v̶e̶”! The variety of requirements are so crazy but still visible one single pattern. They need a person who will configure delivery pipelines and this person will be fitted on the layer between infrastructure and developer.
How did this happen
Originally when I was young, we named ourselves as System Administrators, we have sat in rooms with beard guys and drink tons of coffee each day, and our responsibilities were the same:
Deliver software to the customer and remove gaps.
Under the gaps, I mean a lot of things, monitoring, collect feedback, database tuning, configure web servers, etc. Moreover, underground we had dozens of bare-metal servers, where you need to maintain hardware as well, in case of failure or even upgrade a software (operation system). At that time, we didn’t call ourselves a “DevOps” Engineers. Did we have automation for the delivery processes or tools for monitoring? Hell yeah!
We were lazy enough to repeat routines every day and we wrote tons of Makefiles and BASH scripts for package and delivery and they worked well.
Moreover, just imagine if we had supposed to check hardware every five minutes, this is the way of lazy guy? Nope, we need to be on duty and we had to configure Cacti or Nagios, or Zabbix.
And we still are not a DevOps Engineers. 😭
One word. Agile 🤩
The world faced the issue in the collaboration process between Developers (👨💻 the guys who suppose to write a perfect piece of software) and the Operations side (🧔 bearded guys who are doing something in black-and-white terminals and configure servers).
How do you think you think, does it help a lot? In Spanish, I would say “Más o menos” or in french “comme si comme sa”, which is so so.
The problem is we are still different “departments”.
Working in the software development industry for over ten years, I’ve had a chance to be a part of different teams, as well as I was able to design and own the transformation process for startups and enterprises.
You will blame me for sure, but the solution is always the same, there is no place for “I’ve pushed my code into the repo and John Doe from Operations team will deploy it later” in DevOps.
DevOps Engineers is not the same person as System Administrator who is the owner of the infrastructure
Nope, such engineers should be loaded by knowledge of the software development domain and they need to detect the gaps in SDLC. With a variety of tools, they can select better options to build bridges between testing, delivery and feedback pools to improve the quality, stability, security of the software itself.
Locking this guy in the tiny room with tasks to configure Terraform and write a few Jenkinsfiles, means you killing the whole meaning of DevOps.
As a DevOps Engineer, you need to provide solutions for issues and provide the documentation/knowledge of how to use the solution itself. How to write pipelines, how to deliver similar services, how to connect monitoring and logs aggregations.
Talk with teams(QA, Developers) and understand their pains. You are not the bottle-neck and you should avoid the day when you start becoming a most fragile employee in your environment.
From my point of view, most of the pure developers are able to improve themselves and they are ready to make an impact on the delivery process as well.
Share with me the responsibilities of the DevOps position in your company in comments that will be interesting to compare.
Moreover, I’m always open to new connections, chats so feel free to contact me directly on LinkedIn or Facebook if you have any questions or just decided to share some thoughts with me. You’re welcome!