Cameron Philipp-Edmonds: You mentioned earlier that Chaos Monkey is kind of what started the whole Simian Army. Is that the one that's really used the most?
Gareth Bowles: Yeah, I would say probably Chaos Monkey and the house keeping ones, the Conformity Monkey and the Janitor Monkey, are the ones that we enable by default for all instances we're running in production. So people have to opt out of those and then the other ones we'll use more on a scheduled basis for doing specific tests.
Cameron Philipp-Edmonds: Okay, and now it's called Netflix's Simian Army, and Simian means referring to monkeys or apes. Are there any in the Army or in the arsenal that aren't really monkey's or apes, named after them? I
Gareth Bowles: I don't think so, no. I don't know the answer to that off the top of my head but I'm pretty sure not. We have things called a monkey, or a gorilla, or a kong if it's on a bigger scale.
Cameron Philipp-Edmonds: Are there anything other than gorilla or kong or monkey?
Gareth Bowles: No, I don't think so. Monkey is the standard unit of chaos.
Cameron Philipp-Edmonds: So a monkey is the standard unit of chaos?
Gareth Bowles: Yeah.
Cameron Philipp-Edmonds: All right, fantastic. Now, you've worked for several different Silicon Valley companies. How has working for those companies prepared you for working at a juggernaut like Netflix?
Gareth Bowles: Yeah, Netflix is definitely the biggest company I worked for. I started out in the valley working at Borland, which back in the day was a pretty good company. People who have been around for a while probably remember Borland for the developer tools that they made typically Pascal, JBuilder, Delphi, and various other tools. Borland was actually similar to Netflix in many ways. It was very engineering driven, and the engineers had a lot of freedom to set the product direction, and not too much process for implementing the products that they wanted to implement.
Netflix is very similar to that, too. It's like a big start up, in terms of having a lot of smart people who are focused on a clear product vision. It moves very fast. It can get things into production really quickly, but we also have, as you mentioned, we're a pretty large, successful company so we have a lot of resources to get things done, which is a refreshing change from working as a start up where you have to watch all your costs.
Cameron Philipp-Edmonds: Okay, you've dealt with other companies and you built upon that creativity and you got that mindset. Now that you've come to Netflix, you have the resources to make that creativity happen?
Gareth Bowles: Exactly, yeah. It's a pretty nice situation to be in.
Cameron Philipp-Edmonds: All right, perfect. Now, you started as a developer and then you moved more into the realm of testing. What led you to do that switch?
Gareth Bowles: Right, a lot of people ask me that. I think it's a very common career path for testers these days. In my case, I really found development really challenging and interesting, but I found I was only focusing on a small part of the products that I was working on, and I really wanted to see the bigger picture of what's involved in getting a product from source code all the way out into the hands of customers, and what do the customers do with it? What are we really trying to achieve here?
I found that testing gave me a much better way to understand the product from a customer's point of view, and also get a more high level view of the product and everything that it did, rather than concentrating on a small aspect of a product.
Cameron Philipp-Edmonds: There's a lot of people out there that have the misconception that testing is really just checking, but there's a lot of people who will say first hand that testing is really exploring. It's really creating value, and finding that value. Would you agree with that?
Gareth Bowles: Definitely, yeah. I think there's a place for checking, and most of the place, I think, is in automation for doing regression testing just to make sure that you didn't break something when you changed a product, but I think the real value of a tester, someone who wants to be a career tester these days, is exploratory testing and really thinking about situations that are really hard to automate or to find things that are hard to think about without taking a higher level customer focused view of a product.
Cameron Philipp-Edmonds: What is one thing you would like the attendees of your presentation, which is "Release the Monkeys: Testing using the Netflix Simian Army," to take away?
Gareth Bowles: I think one short thing is don't be afraid to test in production.
Cameron Philipp-Edmonds: Is there anything else you'd like to say to the delegates of STARWEST before they attend the conference and, of course, before they attend your presentation?
Gareth Bowles: No, I don't think so. I'm really looking forward to the conference; it will be my first STAR conference and it looks like there's some great speakers lined up. I'm looking forward to attending talks as well as giving mine, and I'm just looking forward to meeting as many people as possible. (Gareth also added that Netflix is always hiring and to find him at the conference or on [email protected] if interested in working for Netflix)
Cameron Philipp-Edmonds: All right. Awesome. That concludes our interview for today. Thank you so much for taking the time to speak with us, Gareth, and for those of you that don't know, Gareth Bowles will be speaking at STARWEST 2014, October 12 to October 17, and his presentation is titled Release the Monkeys; Testing Using the Netflix Simian Army. Thank you so much, Gareth.
Gareth Bowles: Thanks a lot.
Gareth Bowles started out as a developer and later graduated to breaking other people's software instead of his own before realizing that his real passion is for shipping product faster, cheaper, and more reliably—while still getting a good night's sleep. Gareth has practiced and managed quality engineering and technical operations at Silicon Valley companies—from six-person startups to major industry players. He is currently a member of the Engineering Tools team at Netflix, where he builds cloud automation and continuous integration tools that enable any developer to build, test, and deploy the services that make up the Netflix movie and TV streaming operation. Follow Gareth on Twitter at @garethbowles.