Please meet Maarten Balliauw, JetBrains Technology Evangelist for PHP and .Net products.
1. Hi Maarten, we would like to welcome you to JetBrains and thank you for taking the time to speak with us. We know you drink lots of coffee every day and Visual Basic 4 was the first programming language for you, but for those who don’t already know you, can you tell us a bit more about yourself?
Now that I think about it, my first programming language probably was AMOS Basic on the Amiga 1200. Apart from that, I’ve been doing web development for a while, started with PHP when I was 16 and moved over to ASP.NET and later ASP.NET MVC but kept doing PHP as well. Both languages and stacks have their disadvantages but also their merits. And it’s fun to combine! I’ve been doing all of that, first freelance and then with RealDolmen where I’ve had a lot of opportunities to work in this area with customers. Lately I’m really interested in the Windows Azure cloud platform and everything that has to do with HTTP APIs.
On the personal side, I live together with my wife near Antwerp, Belgium. A great place to live and work!
2. Why did you decide to join JetBrains, and what will you be working on?
To be honest, I was quite happy at my previous company, RealDolmen. Talking with Hadi Hariri gave me a very positive impression of JetBrains and when an opportunity to become an evangelist came by, I decided to jump the bandwagon.
My main focus areas are going to be .NET and PHP. I’ll be working on spreading the word about all JetBrains products available in those languages such as ReSharper, dotTrace, dotPeek and PhpStorm. I’ll also be bugging JetBrains developers with feature requests as well, originating from community feedback and from working with those products myself. Expect blog posts, screencasts and such on all these products! And if you have feedback, bug me so I can bug others
3. What areas of PHP and .NET are you most interested in?
My history with PHP covers a number of things. I’ve started as a script kiddie developing simple web applications, then I enjoyed building things with Zend Framework. When I started at RealDolmen, my world was mostly Microsoft based, sometimes with a layer of PHP on top. That’s where my interest in interoperability came to life. I’ve started building PHPExcel (www.phpexcel.net). Then came PHPLinq (http://phplinq.codeplex.com/), my take on having .NET’s language integrated queries in PHP, PHPMEF and the official Windows Azure SDK for PHP.
On the .NET side, the web stack and the cloud stack are my favorites. ASP.NET MVC and ASP.NET Web API, Windows Azure, and all combinations possible. Check GitHub and CodePlex and you’ll find some projects I either started working on or am contributing to.
4. What do you like most in JetBrains tools for .NET developers?
The fact that those tools provide functionality that does not exist out of the box, like disassembling some assembly to find out why it’s behaving in a way you didn’t expect. dotPeek is great at doing that! These tools also make existing functionality better. Yes, there’s IntelliSense in Visual Studio, but ReSharper does a great job at improving it with things like autocompletion of properties on dynamic types, for example. Tools like YouTrack are great as well. Over the past year I find that my development is becoming more and more keyboard-oriented. The fact that I can assign a work item to myself, estimate it at one hour and move it to an “in progress” state by simply typing “assignee me estimation 1h in progress” is astonishingly fast and makes the issue tracker not come in my way of working on a problem.
5. What trends do you see in PHP as a language? Where is it heading?
PHP has come a long way. I recall myself thinking “why are there no namespaces?” in a not-too-distant past. The past 2 minor versions though have brought tons of new language features, like namespaces and traits. The garbage collector has improved and now handles circular references way better than before (something that bit me a lot when building PHPExcel). The language has grown more mature, more people are contributing to it. Whether in the form of code or ideas, but it’s getting a lot more attention. I really like the direction it is going!
6. Some PHP developers don’t believe they need an IDE for PHP, i.e. you can be just as productive with a text editor. What is your opinion about it?
Well… That’s a difficult one. I understand some people when they say they can do their job in VIM, and they are right. If you see them work, all I can say is they are fast and good at what they do. But even though they use all kinds of automation and macros, I see them doing a lot of things manually or by running additional bits and pieces on their code that come out of the box in an IDE. Why is that? Because IDEs tend to be built around “knowing” the language. They analyze your project and dependencies and try to figure out how everything fits together. Things like refactoring become a lot easier that way.
7. What are your hobbies and what do you like to do in your free time?
I love working on open source projects and on some side projects in my spare time. Next to that, I’ve started brewing my own beer. It’s a fun thing to do as it’s different from my day-to-day activities. And if you do it right, you’re rewarded with a nice beer to drink with family and friends. Which brings me to the next thing I love to do: being with family. You don’t get to choose them but I’m lucky to have a great wife, great parents and a great brother who I like being with. They all like beer, so that combines with my new brewing hobby. I also ski and love to do a hike in the woods as well.
8. Thank you for your time and we look forward to the positive and productive work as a Technical Evangelist at JetBrains. Are there any upcoming events, books or topics that you would like to mention?
The next event I’ll be speaking at is the Warm Crocodile Conference in Denmark. Organized by a great guy and a lot of good speakers so I’m really looking forward to going there. The last book I’ve worked on was Pro NuGet which I wrote with a friend. We’re considering writing a vNext of that one.