We have noticed that the word DevOps sparks confusion, especially for non technical people. Sure, the word itself is a combination of development and operations, but what does a DevOps Engineer actually do. In order to get a better idea, we reached out to Benone Bitencourt who has been working in the DevOps field himself for years. Benone has explained us what a DevOps Engineer does, and as important, also what a DevOps is not:
"I have seen a cloudy approach from companies that request a DevOps" says Benone. "DevOps is not a technology, it is a mindset. If you are requiring a Senior programmer, you are not asking for a DevOps, because this is not what a DevOps does. He needs to have programming skills, but he is not a programmer. He also can not be focused on just a few programming languages, he needs to have a strong background passing through several programming languages.
Let´s get a little bit more technical and trow some keywords at you: Besides programming experience, he needs to know about infrastructure. This is the trick, a very strong professional that knows about servers, TCP-IP networks, routers, storage, appliances, databases, redundancy with F5, Cisco, BigIP, and etc. In other words the whole IT scenario that an application needs to run on. And if it's a cloud based app, it also includes cloud knowledge Openstack, AWS, etc. If it's a custom Linux VM deploy in large scale daily, it also includes strong virtualization skills in VMWare, KVM for example.
If it's microservices or cloud native, containers with Docker, Apache Cassandra for HA, Hadoop for Java, Spark and goes on and on... Your core apps and infra have the call here.
Besides technical skills, what else completes a DevOps profile?
"One of the most important skills for a DevOps is project management skills, AGILE is the keyword here, because DevOps is all about integration and communication, linking different teams inside the company, to improve and make the app development and deploy process faster. If you are looking for something different, you are not looking for a DevOps. He is not a hands-on code guy, he is a communicative, collaborative professional, who keeps the whole app cycle in mind. A guy/girl that will have total green light to talk with all teams and leaderships, to improve the app delivery from the envisioning phase, passing through the development environment, understanding the tools, helping test teams, finding the best approach in terms of OS/Server, looking for network and all the TCP-IP layers. He gets involved in documentation and best practises, finds out if the current support process and ITSM fits with the app, automates everything that is possible and makes sure that everything is inside the monitoring scope.
Don't be afraid to question and revisit the multi-tier and distributed HPC initial vision, but don't point fingers or make mistakes! Be flexible because technology changes all the time and remember! You're are not an one man army! The goal here is to work with all the teams to make a better and faster app life cycle from end-to-end and reach the state of the art!"
What is a DevOps Engineer not?
"Again, a DevOps is very strong and experienced IT professional, not a senior developer. Senior developers usually just look to the dev side, you need someone that looks at the whole picture and search the state of the art, this is what a DevOps should be. A DevOps also always looks to automate everything that is needed to make all the processes faster, including databases, dev tools, deployment of development and product environments with VM's, packages, knowledge of Puppet, Chef, SCCM, Orchestrator, scripting and who cares about high availability and understands the infrastructure options and technologies.
DevOps need to care about operations and support too, looking for this aspect, he needs to have a full understanding about how to monitor everything from the chassis, servers, OS, app, TCP-IP, networks, failover, database, to end-user experience, he needs to know the monitoring tools for everything. Even better if he knows how to reduce the monitoring tools for a single or limited amount of monitoring tools. To have a hundred screens for hundred monitoring tools is really bad, NOC is an over estimated concept. Business need to seek a simple and clean dashboard to put in place, with service models following the life cycle from Dev to Ops, without make things too complicated for the ops people.
And last, but not less important, a DevOps needs to understand IT security concepts and talk with the security team to get them involved in all project phases. He needs to streamline communication to make the app and infrastructure more secure, since in these days, this is one of the biggest villains that compromises data and makes apps and services unavailable, from small and medium business to large enterprises".
Are you a DevOps Engineer? This might interest you: click
About the writer:
Benone Bitencourt has over 22 years of IT experience in different fields: systems administration, support, engineering, architecture, consulting, IT manager, solutions, integration, migration, automation, mission critical, virtualization, Wintel, Linux/Unix, networks, opensource, programming, cloud computing and big data.
Founder & Director
2. Doesn't know what his Tattoo says
3. Hates "motivational quotes" on Linkedin
4. Sometimes drinks a decaf coffee & pretends it's real coffee
5. After 6 beers believes that "If you ain't Dutch, you ain't much"