The Artisan Files: Barry vd. Heuvel

Last updated on by

The Artisan Files: Barry vd. Heuvel image

This week I’m happy to introduce you to Barry vd. Heuvel. Barry is a co-owner of Fruitcake Studio and created two of the most popular Laravel packages laravel-ide-helper and the Laravel Debugbar.

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 ;).

Eric L. Barnes photo

Eric is the creator of Laravel News and has been covering Laravel since 2012.

Filed in:
Cube

Laravel Newsletter

Join 40k+ other developers and never miss out on new tips, tutorials, and more.

Laravel Forge logo

Laravel Forge

Easily create and manage your servers and deploy your Laravel applications in seconds.

Laravel Forge
Tinkerwell logo

Tinkerwell

The must-have code runner for Laravel developers. Tinker with AI, autocompletion and instant feedback on local and production environments.

Tinkerwell
No Compromises logo

No Compromises

Joel and Aaron, the two seasoned devs from the No Compromises podcast, are now available to hire for your Laravel project. ⬧ Flat rate of $7500/mo. ⬧ No lengthy sales process. ⬧ No contracts. ⬧ 100% money back guarantee.

No Compromises
Laravel Idea for PhpStorm logo

Laravel Idea for PhpStorm

Ultimate PhpStorm plugin for Laravel developers, delivering lightning-fast code completion, intelligent navigation, and powerful generation tools to supercharge productivity.

Laravel Idea for PhpStorm
Kirschbaum logo

Kirschbaum

Providing innovation and stability to ensure your web application succeeds.

Kirschbaum
Shift logo

Shift

Running an old Laravel version? Instant, automated Laravel upgrades and code modernization to keep your applications fresh.

Shift
Bacancy logo

Bacancy

Supercharge your project with a seasoned Laravel developer with 4-6 years of experience for just $2500/month. Get 160 hours of dedicated expertise & a risk-free 15-day trial. Schedule a call now!

Bacancy
Lucky Media logo

Lucky Media

Get Lucky Now - the ideal choice for Laravel Development, with over a decade of experience!

Lucky Media
Lunar: Laravel E-Commerce logo

Lunar: Laravel E-Commerce

E-Commerce for Laravel. An open-source package that brings the power of modern headless e-commerce functionality to Laravel.

Lunar: Laravel E-Commerce
LaraJobs logo

LaraJobs

The official Laravel job board

LaraJobs
SaaSykit: Laravel SaaS Starter Kit logo

SaaSykit: Laravel SaaS Starter Kit

SaaSykit is a Multi-tenant Laravel SaaS Starter Kit that comes with all features required to run a modern SaaS. Payments, Beautiful Checkout, Admin Panel, User dashboard, Auth, Ready Components, Stats, Blog, Docs and more.

SaaSykit: Laravel SaaS Starter Kit
Supercharge Your SaaS Development with FilamentFlow: The Ultimate Laravel Filament Boilerplate logo

Supercharge Your SaaS Development with FilamentFlow: The Ultimate Laravel Filament Boilerplate

Build your SaaS application in hours. Out-of-the-box multi-tenancy and seamless Stripe integration. Supports subscriptions and one-time purchases, allowing you to focus on building and creating without repetitive setup tasks.

Supercharge Your SaaS Development with FilamentFlow: The Ultimate Laravel Filament Boilerplate
JetShip - Laravel Starter Kit logo

JetShip - Laravel Starter Kit

A Laravel SaaS Boilerplate and a starter kit built on the TALL stack. It includes authentication, payments, admin panels, and more. Launch scalable apps fast with clean code, seamless deployment, and custom branding.

JetShip - Laravel Starter Kit
Rector logo

Rector

Your partner for seamless Laravel upgrades, cutting costs, and accelerating innovation for successful companies

Rector
MongoDB logo

MongoDB

Enhance your PHP applications with the powerful integration of MongoDB and Laravel, empowering developers to build applications with ease and efficiency. Support transactional, search, analytics and mobile use cases while using the familiar Eloquent APIs. Discover how MongoDB's flexible, modern database can transform your Laravel applications.

MongoDB

The latest

View all →
Dynamic Mailer Configuration in Laravel with Mail::build image

Dynamic Mailer Configuration in Laravel with Mail::build

Read article
Asymmetric Property Visibility in PHP 8.4 image

Asymmetric Property Visibility in PHP 8.4

Read article
Access Laravel Pulse Data as a JSON API image

Access Laravel Pulse Data as a JSON API

Read article
Laravel Forge adds Statamic Integration image

Laravel Forge adds Statamic Integration

Read article
Transform Data into Type-safe DTOs with this PHP Package image

Transform Data into Type-safe DTOs with this PHP Package

Read article
PHPxWorld - The resurgence of PHP meet-ups with Chris Morrell image

PHPxWorld - The resurgence of PHP meet-ups with Chris Morrell

Read article