Skip to content
Podcasts by Zareef Ahmed Architect and consultant for AI, cloud, data and DevOps

Season 2019 · Episode 1 · Aug 21, 2019

Question Minutes : Is Programming Required for Devops QA

Today, I am answering : Is Programming Required for Devops QA

0:00
6:18

Today, I am going to discuss : Is Programming Required for Devops QA

Show notes

A connection working as a QA lead asked a question that a lot of manual testers wonder about: do you really need programming to move into DevOps? In this episode I go through his questions one by one and share what I told him, based on an article I wrote on the same topic a while back.

  • DevOps is built on three principles: increasing flow, taking regular feedback, and continuous learning through experimentation, not just tools
  • Automation is a big part of DevOps, but DevOps and automation are not the same thing even though people treat them that way
  • The DevOps Foundation course from DevOps Institute does not require any programming knowledge and has no coding questions on the exam
  • You do need basic understanding of script control structures to do well in test automation
  • Programming requirement depends heavily on the tool you pick, something like Cucumber needs domain knowledge while Selenium needs JavaScript level skills
  • Your role matters too, test case writers need stronger coding skills while leads and managers mainly need to be able to read code
  • Manual testers without programming knowledge can still succeed in DevOps depending on their role, but some programming knowledge gives a real advantage
  • You do not need to master a language, just understand control structures and be able to read and understand code
  • DevOps also includes agile and other practices where you can contribute without touching any code
  • DevOps Institute has a separate course specifically for QA people
  • If you want to pick up one language as a tester, JavaScript is the most popular choice right now
Transcript

Hello, welcome to Question Minutes, where I answer a simple question about programming regularly. Keep sending your questions via email or message. Today I am recording this podcast while I am traveling, so there may be a little noise in the background. I am sorry about that. I'll try to be as clear as I can.

So today is a very specific question which I have got from one of my connections, and he is working as a QA lead in his company, and he is asking that is programming required to acquire DevOps knowledge. He has asked specifically two, three questions in details. He is asking is it possible to learn as a manual tester because I don't have a programming knowledge, and he is asking do I need to write or implement more coding or scripts, and he is asking that can I pick up DevOps tools as a non-programming knowledge.

So I'll be referring to one of my articles which I have written about the same topic a few weeks back, and here is my answer which I am planning to give to him: that DevOps is a set of three basic principles of increasing flow, taking regular feedback and continuous learning with experimentation. It is not only about tools, but tools play a vital role implementing DevOps principles. Automation is one of the major components of DevOps. In fact, people have made DevOps and automation synonymous to each other, which is wrong but quite popular unfortunately.

DevOps Foundation Certificate course is about getting yourself familiar with the concept of DevOps and comprehension of major terminologies around DevOps. Let me give you a little background that this connection of mine was actually planning to have the DevOps Foundation course from the DevOps Institute, so he has asked a specific question in that context, and I am trying to answer the question in that context only.

So the DevOps Foundation Certification course is not a tool introduction course, so no programming knowledge is required to take this course and give exam for this certification. There will not be a single question which will ask you to write any code. It is more about a holistic approach to implement DevOps in any project or organization.

Having said that, let me be clear on the very specific part of your question. Yes, you will need to have a basic understanding of script control structure to be successful in testing automation. You cannot claim to be a good DevOps QA person if you cannot do some automation. Requirement of programming skills will vary based on the selection of automation tool. Some tools like Cucumber have very domain-specific knowledge to work with, while some tools like Selenium require JavaScript level knowledge.

Required level of programming control structures also depends on your role in the team. If you are working as a test case writer, then you need to be good at it. On the other hand, if you are at a lead or manager level, you just need to develop an ability to read code.

So here are my answers to your specific questions. You asked, is it possible to learn as a manual tester because I don't have programming knowledge. My answer is yes, it is possible depending on your role in the DevOps implementation cycle, but programming knowledge will give you an added advantage at every level. You do not need to be a master of programming, only some control structure and a mind to apply your logic in writing. Your test cases will be good enough.

Do I need to write or implement more coding or scripts? Again, it depends on your role. A manager level person will rarely need to write code, but it is good to know your things.

Can I pick up the DevOps tools as a non-programming knowledge? Answer is yes. As DevOps also includes agile and some other practices, you can play a good role in other respective fields which does not require any programming knowledge. DevOps Institute has also launched a very specific course for QA persons only. Here I am not going to go into details about that one.

I will wrap up here. As per my understanding and as per my experience in the field, I can say that if you know a little bit of programming, it will really help you to be a good QA guy. And when I am saying programming knowledge, you don't need to be a Java master, you don't need to be a Python master. You just need to understand basic control structures or the features of the language. Specifically, you need to develop your ability to read and comprehend the code which you are looking at. That is the basic requirement.

JavaScript is the most popular language for testers also as of today. If you really want to learn a new language, I will recommend JavaScript.

Thank you. That's all for today. So please keep sending your questions via email or message here. Thank you. Thank you for your time, and that's all in the Question Minutes today. Thank you.

Also available on