As you may have known by following our blogs and Twitters, Atlassian has been conducting what turned into a year-long search for a VP Engineering candidate. Zeroing in on the right candidate to lead a 200+ flock of Angry Nerds building some of the most innovative collaboration tools for teams was no easy feat. Fortunately, the extensive search paid off.
Jean-Michel Lemieux, lead architect on the Jazz project and frequent committer to Eclipse, accepted the job. As Jean-Michel was getting settled into his comfy new digs down under, I was able to steal about 45-minutes of his time to ask about his interest in Atlassian, the opportunities he sees in front of us, and what he likes to drink.
1. Let’s start with the most important question first: Coke, Pepsi, or RedBull?
RedBull or if you’re down unda’, it’s V.
2. What brought you to Atlassian?
It was a combination of several factors. Firstly, it was the opportunity to work closely with two great entrepreneurs. Scott and Mike have built a great company based on several key values that I relate to – strong culture, giving back to the community, and building great products.
Secondly, having worked as a committer on an open source project for several years, followed by leading and building enterprise software for a large company, Atlassian was really in a sweet spot for me as it allowed me to continue in the domain that I love so much – building great software tools, with the challenge of growing an engineering team and a business. Lucky for me, there is a huge existing customer base that is going to be delighted with the awesome stuff we have in the works for them.
3. How important is development velocity to you?
The ultimate goal of development velocity is about getting value to your users as quickly as possible. This by itself makes development velocity one of my most important responsibilities as the lead of the engineering team. Customers don’t care about the technical complexity of your products, the number of browsers you have to test, or your technical debt. It’s the ultimate engineering challenge, balancing quality with speed of delivery.
I recall how on the Eclipse project we had a reputation of never missing a release date. We published a feature release once a year. For a project of that size, at the time it was leading edge. Today, that’s too long. Customers expect to get new features quicker and the feedback cycle has to be shorter for either iterating on a feature or removing it because it didn’t solve the original problem.
The good news is that the engineering teams in Atlassian are already working hard on optimizing our own processes for development velocity and adding features to our products that help others do the same. For example I’m really excited with the recent additions to Bamboo in the area of Continuous Deployment which helps teams streamline their build processes and get software deployed and available to users as quickly as possible.
4. How do you balance feature dev with bug fixes?
One of the techniques I’ve seen work well is to ensure that your product backlog, release, and iteration plans includes both bugs and features. Your users don’t really care if it’s a feature or bug, they just want your product to get better and both of these things matter. As a result you should plan them together.
5. Is DVCS going to impact the way in which we engineer our products?
DVCS can improve many workflows, from those for an individual developer to how a team integrates their software. For us, DVCS has become a catalyst to improve our development workflows. Instead of teams checking in all their changes to trunk and then having one big release, we want to transition to a feature-based development model in which features are integrated into the mainline and our products can be deployed continuously to test servers and into production. We’re experimenting with “dark” features to reduce forking, but the reality is that forking is needed on larger projects when features impact several layers in the system. Having a feature based model is definitely a lot easier because of the much improved merge tracking and real change sets in DVCSs, which allows decoupling features and even teams, which in turn will increase our development velocity.
6. Which Atlassian tools have you so far found invaluable for your job?
Confluence is definitely the heart of the company. I’ve worked on several teams and never before have I been able to get up to speed with the culture, priorities, and conversations as quickly. The culture of “open communication” is a huge asset and is exemplified in our tools and how we use them.
Although not directly related to the job, my wife and I have been using a hosted version of Atlassian tools to manage our move to Australia from Canada. I sent a URL to my wife and she just figured out the rest. I’ve fallen in love with how quick it is to triage issues, comment, and run actions. If you haven’t discovered this already, keyboard shortcuts in all the products are amazing, my favorite being the “.” actions in JIRA. You can run actions on any issue by pressing “.” then typing the name of the action such as “close”, “attach files”, all without leaving the keyboard. It’s a bit geeky, but it makes getting things done really fast and I love it!
7. What current trends in software development are you most excited by?
Hosted or cloud isn’t a trend anymore, but from a software development perspective it hasn’t been leveraged enough. I’ve seen teams waste a huge amount of time with their development environment setup and then finding it complicated to deploy and test. When I joined Atlassian the first extension I wrote was based on SpeakEasy, I didn’t need an IDE setup, source to compile, and I got something running and prototyped in under an hour. We’ve just scratched the surface of how this can improve both our own development speed and making the most of our products in the cloud.
Another trend I’m excited by is continuous deployment. It directly benefits the user and forces interesting changes in your development process such as being more iterative, driving continuous integration, continuous measuring, feature based development, and creating a forcing function for good product architecture.
8. What about the ecosystem?
I’ve had the luxury of visiting software development teams on every continent and in every domain, from open source, automotive, banks, insurance companies, electronics, aerospace, and mobile. A common theme is “how.” Although we are all building software and writing code, there are always subtle differences in how we do it and the process around it. What is exciting about a great ecosystem is how it allows users and partners to extend and build on our base set of tools to customize and enhance for their individual needs. As a geek, the ecosystem is also a great driver for having a rock solid platform. This is definitely an area I’m going to be focusing on in the next year and I’m really excited to see the great extensions submitted to Codegiest V.
9. What’s on your Mac?
All of our products are installed and I’m ready to give a demo at a moments notice! Besides that, I try and keep things simple: Gmail, Git, Hg, Textmate, NetNewsWire, Chrome and Chrome developer plugins, Atlassian SDK, and Eclipse of course.
10. When you’re not in front of a computer, what are you doing?
I’m a maniacal windsurfer and sailer, I like to be in or on the water as much as possible. Other than that, I’m living vicariously as a child through my kids.