This week I’m happy to have Mitchell van Wijngaarden on the Artisan Files. Mitchell is a developer, business owner, and has a great accent.
Can you tell us about yourself? How’d you get into web development?
It’s a funny story, actually. I have to thank my dad for this. He’s not a developer, but a chef who likes to play tennis. One night a tennis buddy of his named Klaas came over to our house for dinner. At the table he described his job to me. He was a lead designer at this huge web agency in Holland. After an hour or so of him talking about his job, I was fascinated. So much so that when he left I got behind my computer and starting playing around. Now, 5 years later I’m 20 and still loving it. Of course, at the time it was all extremely amateurish. I’ve now been working as a professional for about 1.5 years.
How’d you first find Laravel? What made you start using it?
Again, fun story. I was traveling by tram to this huge web agency where Klaas works (where I was doing my internship), when I noticed a tweet from Fabien Potencier (@fabpot) about Laravel 4’s subdomain routing. At that time I was experimenting with different PHP web frameworks. I looked it up immediately and joined the IRC channel. This was in the beta period of Laravel 4, so roughly 2 years ago. I was sold right away because of the simplicity and nice API.
Can you tell us about your development company?
I most certainly can. I’m a freelance software engineer based out of Utrecht who builds enterprise software. My company is named Kooding, pronounced “coding”. I founded my company January 1st of 2014 and have had an amazing year. Going self-employed has been the best decision ever. I love talking with my clients and helping them with their businesses. To tell you a bit more about my workflow; I divide larger tasks into smaller tasks to maintain perspective. You could compare these to sprints in Scrum. This is in my opinion very important since larger tasks are harder to estimate right. If you want to have a chat visit my site http://kooding.nl.
What is your typical day like?
I sleep in till around 8.30am. For the last couple of days I’ve started listening to Freakonomics Radio in the morning. Then, I travel to the best city ever (Utrecht). I get my morning fix from my regular coffee bar and go through my mail as fast as possible while I enjoy a delicious cappuccino. Most of my time during the day I spent on client work and the open-source projects I maintain. I share office space with two developers and good friends, Shawn McCool and Nick Spelt. It is always interesting. We help each other by working out problems on the whiteboard and brainstorming ideas. It’s a creative group and many of our most interesting ideas are created within these 4 walls.
Can you tell us about your local environment?
My local environment is fairly simple. For all of my projects I use a Vagrant VM provisioned by Ansible, which you can find here. My IDE is PHPStorm. If you haven’t used yet I highly encourage you to do. I simply could not live without it. It detects errors and dead code, refactors your code, and auto-completes. Of course it does much more, but these are my top 3 things I like about it. For HTTP requests debugging I’ve started using Paw (OS X only). Naturally for server management, I use Forge with Linode servers and Navicat as my database administration tool. An applicaton I’ve also started using lately is Slate. It is a tiling window manager for OS X and you can find my configuration here. Last but not least, I use Slack.
You are big into behavior-driven development (BDD), can you tell us what you enjoy about it so much?
You know those “Aha!” moments? I got one while I studyied BDD. In a nutshell BDD is TDD done right. It’s TDD with a specific mindset; testing the intent of the system rather than testing some particular piece of code. The behaviour is what’s important. To succesfully get the behaviour right you have to learn about the business, which is a huge plus. Doing this increases the quality you’ll deliver by an incredible amount. This is what got me really excited. I’m not an expert by a long shot, but I’m heavily invested in mastering it.
Finally, if you was going to be stranded on a desert island what three things would you bring?
Excellent question. I guess a knife, because I have to protect myself and carve tools out of wood. A watch to keep myself sane. I think being able to know what time it is so I can split the day into whatever I’d do on a desert island. I think this will make the whole experience more civilized. Last I’d bring some rations to last myself a couple of days.