Thierry Delprat, Nuxeo's fearless CTO, seems to be everywhere all the time. We managed to catch up with him and ask a few questions about the life of a chief technology officer.
The Nuxeo Platform is built day by day by a team of several developers. My role is to help them make the right implementation choices, find solutions to their problems, and keep their efforts coordinated so that the Nuxeo Platform stays consistent.
At the end of the day, if there is a technical issue, it's my problem. On the other hand if it works, it's thanks to everyone. I think that is a good summary of my position and its responsibilities.
You were working with ECM and open source technologies even before you joined Nuxeo in 2005. How has market acceptance of open source technology evolved since the early days?
In the early days, people were unfamiliar with Open Source and maybe a little scared by what they didn't know. My response was to carefully explain the benefits of Open Source, that rather than being a risk, Open Source technology can actually safeguard their business.
Open Source solutions are accepted in the market now, and we don't really need to explain Open Source or why we use it. In general, our clients are familiar enough with Open Source to ask the right questions. “How does support and maintenance work? How do we stay in touch with the evolution of an Open Source platform? Is there an enterprise version that is different from the Open Source version?” When I hear those questions, I know they are informed about Open Source Software.
How has the technical side of ECM changed since the early days?
We got our start with intranets and portals. Now, most of the projects using Nuxeo are building business applications.
From a developer perspective, it means we have moved from building Web sites in Python to building business applications using Java and OSGi. Both the technical and business contexts have changed.
This change however, is not specific to Nuxeo, at least insofar as there has been a gradual switch from intranets to business apps. I think that change makes sense given that the platform approach has gained acceptance and makes more and more sense in the current market context.
Nuxeo has made some strategic technology choices since you’ve been running the show, such as the switch from Python to Java. What was the thinking behind some of these choices? What were the pros and cons?
We assessed the real added value of the change for us as maintainers of the platform, as well as for the end users. We also looked at practical considerations like whether or not our clients would follow us. We looked at the technical migration, and determined that it wouldn't be an issue. Also, we considered whether or not the Dev team would be on board for the change over. In the end, the pros outweighed the cons, and the technical change opened up cool perspectives for the platform.
What does a typical day in the life of the Nuxeo CTO look like?
It goes something like: boot up, an hour of commuting and computing in the subway, then a discussion with the project team to define what should be a platform feature and what should end up being specific to the client project. Afterwards, I might help the support people answer questions, give my opinion on what a class should be named, and then it is off to lunch while talking about how we should build Nuxeo 6. After lunch, there might be a conference call waiting for me in which we discuss the technical requirements for the "next big project". I might turn my attention to writing a small documentation explanation of why Nuxeo is not "just a file system" or spend some time answering questions from the Marketing team. Then it's another hour of computing and commuting in the subway. At the end of the night from home, I might answer email questions from the USA, jot down some lines of code before bed, and then shut down. Never a dull moment!
You have a reputation for being very hands-on with client projects, and very in tune with customer requests for the platform. Can you tell me about one of these projects that stood out as an innovative use of the Nuxeo technology stack?
The Leroy Merlin project is probably the best example. Damien Metzler led the project. There is a large community innovating with the Nuxeo Platform, but Damien's team was able to go beyond an initial good idea. They had a good technical vision, a great implementation and QA approach, and enthusiastically contributed their work for the rest of the Community.
To make a long story short, Damien needed to build a Portal, and wanted to use Nuxeo software. The Nuxeo platform provided content model and storage services, security and query infrastructure, and rendering technology. But there were features lacking, including a portlet model and user display customization.
The smart move was to select another existing Open Source project (Apache Shindig) to provide some of the missing features, and to integrate them with the Nuxeo Platform. The team went on to build an exemplary Portal solution with Nuxeo at its foundation.
Building the Nuxeo Platform roadmap is a tricky balancing act, between integrating client requests, planning for the future needs of the market, and managing time, costs, and resources. How do you approach this?
We get a lot of ideas as input, but we don’t have enough bandwidth to carry them all out. Ideas go through several evaluation grids to determine what the benefits to the platform will be, whether we have real use cases from the project, is there a market for it, and do we have someone who will be the lead on the project?
In the end it is a lot like natural selection, only the ideas that are best adapted to our technical, marketing, and sales environments survive.
What is the hardest technology problem you've had to solve since you have been at Nuxeo?
Making the elevator at the rue Soleillet office work. It has been down 90% of the time for the last three years!
Speaking seriously, I think the biggest technology challenge is to improve the platform and integrate new features while maintaining compatibility. This must be the biggest technical constraint we manage. It wouldn’t do for us to simply change or rewrite some part of the platform, we have to ensure that there is a smooth migration path available.
It doesn’t prevent innovation and evolution to maintain platform compatibility, but we need to be careful as we move forward. We always take steps to make sure the community can follow by deprecating the old API, providing compatibility packages, making automatic data migration a possibility when its needed, and by maintaining a strong QA.
Do you have any geek jokes?
What makes you think I am a geek?
Well, you did describe waking up in terms of “booting up”.
Is it true that you use legos to teach your kids about technology?
My girls are still a little bit too small, and for the moment they prefer Hello Kitty stuff. I did recently find a pink computer case, so now is maybe the time to finally give my older daughter a Linux box.
What do you like to do in your spare time?
I have a wife and kids, which accounts for most of my time when I am not at Nuxeo. For what is left over I like to listen to music, play old video games, and occasionally take on some unnecessary coding for fun.