Flowing with DevOps as a Build Engineer
It’s being a long week for me at work on DevOps tools as a Build Engineer. From the start of my career, on this new role almost a year ago, it was practically researching and implementing the best practices as a DevOps engineer for my fellow Developers.
That wasn’t an easy task, as I would say. Many of my developers were outdated with old tools and development processes, and implementing new processes for my developers wasn’t an easy task.
In this role of DevOps engineer, I got to communicate more with my present developers both to understand their current development processes in an intimate manner and only after understanding their development processes, it would be the next course of action to implement the best DevOps practices.
So if you could see how a day in a DevOps engineer looks like, it would essentially fall back to the very important aspect of a good communicator, hence good way of communication and listening to your developers is part of the role. Second is meticulous self.
You have to be super, careful of what and how you understand the developers’ needs and wants prior to giving them what and how they want it. Thus, communication is vital as I mentioned earlier.
Do note, that technical skills are also important but communication takes a vast role in this DevOps role.
And let’s move on!
Speaking of the best DevOps practices, we do have a few guidelines to adhere by as indicated in https://devops.com/devops-best-practice/. But also, my present company have a few DevOps Gurus who are very well versed in the trade of art, such as Gitflows, Jenkins orchestration, and binaries storage solutions. I can name a few like Lars Schneider, Vishal Dalal and the list can go on just like that.
And, it was also an important task to learn the best DevOps practices from such Gurus to ensure the practices are consistent throughout the implementation of the solutions being provided to the Developers. This consistency would minimize any confusions between the developers ensuring the successtivity of the company in a whole. But why consistency?
Being consistent would means minimal varieties of the DevOps practises in place throughout the company minimizing the support provided to the developers ensuring it becomes a sole-self-taught developers community.
Get my point?
So now, why DevOps?
Well, DevOps provides a one press button solution for ANY developer to push a single piece of code from compilation, to testing, to building to an executable file, to storing the executable file (also known as the binaries) in a cloud storage, and also, delivering that binaries to the Customers.
But that’s just a gist of what the one press button solution looks like, and there’s many more whenever it comes to different kinds of solution.
Just by looking at a piece of Windows Software, it would be easy to spot out the life cycle for a Windows Software Application.
Essentially, the Developer presses the commit button to the Code Repository (also known as the storage for the source codes namely as Git), invoking the push to the build stage once the codes are pushed to the Git. The build stage would compile the codes, resulting in executable files being produced also known as binaries. The binaries would be sent to testing stage, where the codes shall be tested for both vulnerabilities and also use case.
After passing both vulnerabilities and use case tests, the journey enters the next stage of storing the binaries in a single repository where it would be packaged with the appropriate installers for all of the operating systems. After packaging is completed, the installers shall be sent to the appropriate servers also known as Akamai where the installers shall reside.
But this is not the end, we have to pre-release the software which we have created to the Customers to get feedback, and this is where Alpha and Beta comes into place. So, the software gets released to Customers helping the developers to gather feedback on the software and the feedback is used to better enhance the product.
So that is how DevOps plays a vital part in helping Developers for once and all.
Now, let’s think — do you ever think that Developers can manually do this work? If yes, what is the time taken for each developer to revert on those manual tasks? Let’s measure the meticulous tasks for instance.
Never, even possible, right? And this is why DevOps helps or rather assists the developers at the greatest extent ensuring the Developers just have to focus only on one single task — that is coding and just that.
So whaaaaaat do you think about DevOps now?