DevOps Journeys: Chris O'Dell

25/01/2017   Industry insights   LinuxRecruit community   DevOps Journeys  

As part of our DevOps Journeys series, we spoke to Chris O'Dell, Senior Software Engineer in the Platform Engineering team at JUST EAT about her experiences with DevOps.

You can read the full DevOps Journeys e-Book here

If you wish to be considered as a participant in the next DevOps Journeys e-Book, or would like to share your DevOps Journeys, please get in touch.

What does DevOps mean to you?

I see DevOps as a term encompassing many Operations and Software development practices, combined with a cultural maturity. These practices include Continuous Integration, Continuous Delivery, Test Automation and Infrastructure as Code, among others. For the cultural side, I see it including an understanding of the Theory of Constraints, a collective ownership, and that communication, teamwork and knowledge sharing between traditionally disparate roles leads to higher quality products and happier teams.

What was your first experience of DevOps like?

I can't point at a moment in time and say that that's when I first experienced DevOps. I worked at a startup for many years, which was a small company of fewer than 30 people when I joined. As such, communication was high, as was collaboration between all employees. There was a culture of ownership within the development team, so although the Operations team were on-call, the development team would regularly be involved in diagnosing and resolving any production issues. As a joint and ongoing effort between the Operations and Dev teams, we added metrics and centralised logging to our applications for greater visibility and used Configuration Management to automate the configuration of our servers. DevOps was something we gradually moved towards, although we didn't realise it, as each step we took seemed like a logical progression from the previous one.

If you could give yourself some advice when you first started your DevOps ‘journey’, what would you say?

Don't be afraid to ask questions and share your knowledge. As DevOps is about collaboration, everyone brings skills and knowledge which may seem obvious to yourself but is not so for others. Share this knowledge. At first, I was anxious about asking for more information on something which seemed basic to an Operations, Network or DBA person, but I'd only had cursory experience with in the past. Through asking these 'basic' questions, I learned much more about Operations and would feed this back into the way we developed our apps and so created a platform which was far more resilient and simpler to support. I'd have chats about the best way to structure a logging statement, how best to compose a graphite query to get the most useful graph, what happens in a failover situation and how we could mimic this in test, and in many other areas.

What's exciting you within the DevOps space at the moment?

There's lots of technologies and tools which I could point to, such as the effect Docker is having on development and deployment, or how serverless architectures are questioning what we would consider an application, or the upcoming Windows Server Nano and how this will impact Windows in the Cloud. I'm more excited by the recent sharing of practices and experiences as encompassed by the newly released books "DevOps in Practice" and Google's "Site Reliability Engineering". It's this culture of sharing which founded the first DevOpsDays so I'm happy to see the openness continue to grow.

What challenges are you seeing at the moment?

I'm wary that DevOps is the current 'cure-all' for an organisation's ills and so may be applied haphazardly without much consideration for the more difficult cultural aspects which underpin its success. As with previous 'cure-alls' applied in this manner, they tend to fail and leave many people feeling cheated. As such, I'm not a fan of many whole-scale "DevOps transformation" initiatives.

What do you think the next 'big thing' in the DevOps world will be?

Pipeline tooling. We have tools for CI which competently manage the building and testing of both code and infrastructure. We also have tools for deployment which simplify the process of getting changes out to QA and Production environments. I feel there is a gap for a tool which lives above these stages which manages and visualises the flow of a change from commit, to pre-production environments, automated testing and through to deployment in a seamless flow promoting regular change.

What are your predictions for DevOps in 5 years?

I imagine more companies will embrace the tenants of DevOps as the benefits continue to be understood. The adoption of technologies such as containers and serverless will require greater collaboration between all skill sets to be successful, particularly when it comes to monitoring, logging, security and performance. I see the lines blurring between traditionally distinct roles into cross-functional teams consisting of people with both a deep knowledge in focused areas complemented with a wide breadth of other skills.

Chris has been developing software with Microsoft technologies for over 10 years. Between 2012 and 2014, she led the API team at 7digital – a leading provider of music streaming services worldwide. She currently works on the Platform Engineering team at JUST EAT in London. In all of her roles, she has promoted practices we now know as Continuous Delivery, including TDD, version control, and Continuous Integration. She is also the co-author of the ebook Continuous Delivery with Windows and .Net and a contributor to the book Build Quality In.