This post is part of the OpenStack Open Mic series to spotlight the people who have helped make OpenStack successful as we celebrate the third birthday of the project. Each day in July, a new contributor will step up to the mic and answer five questions about OpenStack, cloud, careers and what they do for fun.
Doug Hellmann is currently a Senior Developer with New Dream Network, LLC (DreamHost). He is a core contributor to the Ceilometer, Oslo, unified command line client, and requirements projects within OpenStack, and has contributed to many other components with code reviews and patches. Doug has been programming in Python since version 1.4, and has worked on a variety of Unix and non-Unix platforms for projects in fields such as mapping, medical news publishing, banking, and data center automation. He is a member of the Python Software Foundation, and served as its Communications Director from 2010-2012. After a year as a regular columnist for Python Magazine, he served as Editor-in-Chief from 2008-2009. Between 2007 and 2011, Doug published the popular “Python Module of the Week” series on his blog, and that material served as the basis for his book “The Python Standard Library By Example”. He lives in Athens, Georgia with his wife and two cats. His twitter handle is @doughellmann
1. What do you do when you’re not obsessing over and working with OpenStack?
I have a couple of other projects that I’m working on in my spare time. I find switching to something with a smaller scope can be a good way to clear my head at the end of the week. My favorite ways to unwind are to relax out on the patio with my wife and a glass of wine, or sit down inside with a good book.
2. What other OpenStack developers deserve a shout out for the work they’re doing in the community? Who are our unsung heroes? Your own?
The translation team is providing an important service that mostly goes unremarked. I was impressed when they came to the ceilometer team with patches to set up the tool chain and then started working on the message catalog without us having to even ask for help.
I just returned from a two-day intensive boot camp to learn about the work being done by the infrastructure team. I’m not sure most of the people involved in OpenStack realize how much effort goes into making the automated testing and code management systems work so smoothly. Any development team in the world would love to have access to the tooling they have put together for managing our processes and environment – and they do, because it’s all being managed out in the open.
3. Are there any skills that you think are critical for OpenStack developers in the next 5 years? What specialties will be most useful? Valuable?
Technologies change, and so do the specialties associated with them. The most important skills are the ones that carry over from one technology to the next. For example, it is important for a developer to be able to establish clean separation between the levels of abstraction in a design. Get that right, and aspects like testability, flexibility, and ease of maintenance will follow.
Communication is an equally important skill. The OpenStack community is large and diverse, with different groups working on aspects of the system that are interesting or important to them. Being able to explain requirements and plans clearly makes collaboration and coordination easier, and helps avoid misunderstandings or conflicts that can block progress.
4. What is the most important contribution you’ve made that will make OpenStack users happy?
I am a part of the team that created Ceilometer, the tool for measuring cloud usage. The initial goal was to create a system for metering that could feed data to a billing system. Since the first release, the project has grown a bit to cover monitoring, which shares some characteristics with metering but is different in several important ways. The response to the grizzly release has been overwhelmingly positive, so although we still have a lot of work to do we are already making users happy.
5. What do you think are the benefits of the open, community-driven approach to development?
Our development process drives the success of OpenStack by making sure we are meeting real needs. Being open lets us take patches from all contributors neutrally, so users have choices in terms of vendors and deployment strategies. Being community-driven means that we accept patches that represent new features users want or fixes for bugs they have found by using OpenStack. The feedback loop encouraged by the open process we use ensures that we maintain good communication between users and developers – unlike some situations where new versions of a product are “thrown over the wall” without regard to user needs.