Interview by Thomas Peham
December 9, 2015
Photos by XebiaLabs
Martin Van Vliet is leading the development teams at XebiaLabs.
Being a developer pretty much his whole life, Martin found his passion in building products.
In this interview Martin shares his story of leading a globally distributed development team.
Share this interview:
Thanks Martin for your time. Could you please describe yourself?
Sure, I'm Martin van Vliet and I’m the VP of Engineering at XebiaLabs. XebiaLabs is a continuous delivery company. We develop software that automates the process to take a change in an application from a developer’s commit all the way to having that change live and available to end users. We deliver tools that make the whole process of deployment and testing easy.
We got started in the Netherlands, but nowadays we have our headquarters in Boston. We’re about 6 years old now and we have about 80 people on board.
Can you tell us what Xebialabs is about and how you see the world of continuous delivery?
Our philosophy is that to you need to be able to scale up the development process in order to be successful. Our flagship product XL Deploy is a deployment automation tool. If you have an application consisting of various parts, like application code, HTML, database scripts, etc. across various services, our product enables you to run the deployment workflow automatically.
There are a number of competitors in this space, but I think what makes our solution unique is that we can generate and execute this deployment plan for you. This gives you the advantage that you can scale up your applications and environments. And your deployments will automatically change to match.
We believe that in order to be successful with continuous delivery at scale, being able to do this is critical.
What does a typical day in the life of Martin van Vliet look like?
At the time I started at XebiaLabs, I was the development manager of a small team of 6 people. From there on things accelerated and we grew quickly. Right now we have about 30 people in development, spread across India, Croatia, and the Netherlands.
So, what do I do on a typical day? There's a lot of people-management involved. I try to talk to my team 1-on-1, every few weeks. See how they're doing, coach them on their goals, look at what their career development is like.
Because we’re a growing company, there are always more tasks which need to be done than people. So I’m also a product owner for one of the teams, defining requirements on what to work on next.
Recruiting is a large part of what I do as well. So if we're in a phase where we're trying to grow the team, then recruiting takes a lot of my time.
It's a lot of fun to speak to new people and find new talents as we grow our team.
I’m also wearing the hat as a lead of the tech support team.
Can you share some insights on what your recruiting workflow looks like?
We've started being a development-centered company. So the first roles we hired were developers.
When hiring developers we start off with a first meeting, whether via skype or face-to-face.
In those meetings we try to find a cultural fit, but we do a technical test as well. This is pretty high-level, since it enables us to evaluate if the person is able to handle a certain level of work.
Then the next thing we do is we give them an assessment, where they need to write some code. Usually the candidates get a week to work on that. Then I invite them back into the office if it's a local candidate. If it's a remote candidate we jump on a conference call and let them present the assignment.
Then if it's a remote candidate, we actually invite them over to our office to meet the team.
You don't really know via skype calls if you want to have a beer with someone or not. So the personal meetup gives us the ability to see if someone fits into our team or not.
We have that kind of workflow in place for developers, but also for QA people, support people and product managers or tech writers.
Do you see hiring as a main business challenge?
It certainly is a challenge to find good people.
I've been keeping track and statistics of everything we do regarding hiring. We hire less than 10% of the people we talk to during the hiring process.
It's a challenge to find good people, and we concluded early on that just looking locally isn't going to work.
Especially if you take language into account. Our parent company is a consulting company in the Netherlands. So they have to hire Dutch-speaking people. We can hire English-speaking people too. We saw that local Dutch-speaking people are not going to get us the amount of talent that we need. So we opened it up. At first we had a partner in Eastern Europe and now we are looking completely internationally.
It's a very international crowd now, since we have people from places like Ukraine, Moldavia, Greece, South Africa. Having our recruitment workflow opened up to a bigger geographical market helped.
Have there been any special moments that brought you into software engineering?
I got started with computers early on. My first computer was an Apple 2. My dad bought it and I was programming away in BASIC as a kid. I even brought my computer to school and taught the class 5 lines of BASIC or something like that.
I always had this vision of " I want to do computer software development”. After high school, I studied Computer Science in Amsterdam. After that I thought that I had to go to the United States if I really want to do software development. This was 1997, so it was pre-internet-boom. So, I sent out resumes to the US and finally got hired there and relocated.
I joined a consulting company and that's how I got into the professional software development. I also started my own company with some American guys later on. We did consulting work for other startups. At the time, we managed to become the single implementation partner for a large middleware vendor for the US West Coast market.
It was really a lot of fun until the dot com bubble crashed. At that time I decided to move back to Europe again.
Can you share some tools or workflows in order to keep your remote workers up to date?
Tool-wise HipChat is very important for us. We also use Skype a lot, and we use JIRA as our main project management tool. It helps us to keep in sync with what are we working on. As a distributed team we also encounter the problem of time zones. So we basically decided that our people in the Netherlands start their days a bit earlier and our employees in India later. So we try to overlap as many working hours as possible.
We also had this experiment running. We started out by trying to make 1 big team, so we had a team of people in Holland working together on the same sprint with a team in India. So the team members in India had to get familiar with the workflow and tools we used in the Netherlands and the other way round. We put some investment into this and we had it running for about 6 months. It works, but it was very intensive I think. After 6 months we decided to try to split the team, since we had the feeling that the team in India was now able to work independently.
Nowadays we have separate squad teams which work independently on different parts of our system.
How do you manage your web development workflow?
We mainly use JIRA to manage user stories and bugs. We don't actually employ any full-time testers. We have established a sort of end-to-end responsibility. All of our developers are focused on writing their own tests. They conduct unit tests, integration tests and also functional tests.
We had a QA person onboard for some time, but since we’re super focused on automated testing, it didn’t worked out.
What would you describe as your personal passion about building software?
My personal passion is just working as a team to build cool products. I am someone who really enjoys working together with people and technology in order to bring forward a particular product.