The Artisan Files: Barry vd. Heuvel

Can you tell us a little about yourself? How’d you get into web development?

When I was around 15, two of my classmates started making websites (in Dreamweaver, Flash etc.). I was always interested in computers, so building websites looked very exciting. They told me I could join them if I learned to create dynamic websites, like a web shop.

Never having programmed before, I rented a PHP + MySQL book for beginners from my local library, read it during my vacation and put it into practice. I was amazed about how easy I could develop websites with PHP and created my super simple ‘web shop’ demo to show my friends.

Apparently it was good enough, because we kept working with the three of us during secondary school, creating simple website for acquaintances and even winning some web development contests. Even though we went our separate paths during college, we kept making websites as a part-time job and registered Fruitcake Studio to the Chamber of Commerce in 2007.

After receiving our college degrees, we decided to continue building websites. So now, +/- 12 years later, the three of us are doing the exact same thing that we have liked all this time: web development.

How did you first find Laravel?

I think it was around July 2012, when Laravel 3 was getting more popular, that I read some tutorials about Laravel on NetTuts and it seemed pretty awesome. I didn’t have much experience with MVC frameworks, however after reading the Laravel docs and some tutorials, it all seemed so simple and elegant. I especially loved the Eloquent ORM, it made all those boring tasks so much simpler.

After finding out about Laravel we started up some projects with it and liked it right away. Then Laravel 4 was released at just the right time and we never looked back (except for the times we have to reluctantly work on our legacy websites..). We now train our (new) developers to work with Laravel and they all seem to like it.

I use at least one of your packages in every project I start. What made you decide to build these?

That’s pretty simple: because I missed something; either the functionality I was looking for wasn’t around or I didn’t like the available packages. I was following the Laravel 4 beta pretty actively and there weren’t a lot of L4 packages available in the beginning.

I liked Laravel 4 very much. There was however one thing I really missed: the auto completion from my IDE. This was pretty annoying given that I hadn’t mastered all aspects of Laravel yet. The existing solutions were always incomplete or outdated (updated by hand), so I figured I could just as well generate the required file using Laravel itself and created laravel-ide-helper.

Laravel 3 had a profiler (Anbu, originally created by Dayle Rees) and some forks existed for L4 all building on that, but it wasn’t really meant as some modular/extendable package. I first contributed to some forks, but then I found PHP Debug Bar which already contained some Symfony-minded collectors, so it was pretty easy to just extend it and created Laravel Debugbar.

Usually I try to use an existing packages at first and commit some patches until I’m happy with it. In case that doesn’t work out (project abandoned, disagreeing about stuff or just going way to slow for my liking), I often decide to create my own package. It is nice to so that the IDE Helper and the Debugbar are now both one of the most used packages in the Laravel community :)

You are co-owner and lead developer at Fruitcake Studio so with all those responsibilities how do you find to contribute to open source?

The good part about being co-owner is that I can decide where I’d like to spend my time on ;). On the other hand, there is only that much time to spent. I do believe that you have to keep growing as a developer, or you’ll soon be too far behind. We pride ourselves on using the latest techniques, so for me it’s easily justifiable that I spent time on learning from open source.

Besides, our websites/apps are built on many open-source tools, so contributing to those projects will benefit our products as well. Creating open source packages also forces you to really think about the best way to implement it, document it and make it flexible enough to be used in future projects.

It is hard to find the right balance between working for clients, contributing to open source and developing the future building blocks of projects that are still to come. Luckily the rest of to co-owners of Fruitcake Studio support me and pay my annual ticket to Laracon EU. Quite rightly, as some of our leads and applicants found out about us because of my posts on the Laravel forum or my Github profile.

I usually try to restrict working to ‘office hours’ and contribute to open source in the weekends/evenings, but of course I also have a wife and hobbies. So basically I’m frantically checking my e-mail to respond on issues whenever I have a little bit of spare time.

Can you share what your typical day is like?

I usually get up around 7.30 and arrive at office around 8.30. By then I’ve already caught up on most of Twitter and other social media. If I’ve found some interesting blog, I’ll read that first. We have a very short meeting with my colleagues to discuss our tasks for that day and thereafter we really get started.

During the day I sometimes take a quick break to answer questions on some forum or follow an interesting link on Twitter. Of course most of the time is spent on working for existing clients, making quotes for new projects or having meetings with (potential/existing) clients.

After work, my wife usually isn’t home yet, so I either buy groceries and cook dinner, or just watch TV and relax a bit until she is home. After dinner I usually just hang out with my wife, have a drink with friends, do some programming, read about web development or do some sporting.

The weekends are mostly used for catching up some sleep, go out drinking/partying with friends and family, and playing soccer on Sundays.

Can you tell us about your local environment? What apps do you use everyday?

I’m still using Windows unlike everyone else it seems, but I’m pretty okay with that. I don’t do anything special on my desktop, just programming and I guess it doesn’t matter that much whether I use PhpStorm on Windows or on a Mac.

We have a local development server at the office (CentosOS + Apache/PHP5.4/MySQL), similar to our production servers. That server runs most of the things I need for building websites (git, gulp, bower, composer etc.). On my local PC I just run PhpStorm for programming (love my autocomplete), Putty for interacting with my server, Filezilla for transferring other files and Paint.NET for the occasional image editing (I keep away from Photoshop as much as possible, that’s what our designers do much better).

For communicating with my colleagues, we use Skype and Redbooth for our task management. Besides that, Chrome, Notepad++ and the Github app are pretty essential too.

Do you have any hobbies outside the computer?

I like many sports but I’ve played soccer all my life and still really enjoy it. I train and play a match every week. Since my two brothers joined the team last year, we even won the championship. That was in the lowest possible amateur division, but we play soccer mostly for fun.

Recently I started to learn golf with my wife and a colleague as a less intensive and more recreational sport, but also as a networking opportunity.

I also enjoy hanging out with my friends, visiting the local bars or just visiting a movie with my wife.

If you could be a superhero, what superpowers would you want?

Freezing or slowing down time would be nice, I always have things I want to do, tools I want to try, projects I want to improve, sport more etc. I just can’t seem to find the time to do it all. Especially with web development, a new exciting technique seems to pop up every day. That’s awesome of course, but sometimes I do get the idea that I’m missing out on the fun and have to make money instead ;).