The Artisan Files: Chris Pitt

Published on by

This week I welcome Christ Pitt to the Artisan Files series. Chris is a coder, writer, and a nice guy. I consider him a friend even though we’ve never met in person.

Can you tell us a little about yourself?

I’m about 28 years old, living and working near the city of Cape Town. It may sound familiar because South Africa hosted the previous World Cup, and some of the games were played in Cape Town.

I work for a company called Connect. It’s part of an international company called Joe Public. Connect is based in Cape Town, and we have around 15 people, 5 of which are developers.

I’m married to the lovely Mrs Liz and have 2 kids; Elijah and Naomi. We live on a farm outside the city.

How’d you get into web dev?

I was never really into web dev. I was fortunate to have had access to computers from a young age, but my interest in them was purely for playing games.

What I wanted to do was to build electronic devices – robots and such. When I was about 8 years old, my grandfather passed away; leaving me a huge assortment of electronic components. I would spend all my time sifting through them and trying to combine them in ways that they would interact to form larger machines.

In truth, I really had no idea what I was doing, but sometimes I made something work. The process is in many ways similar to programming, and the feeling I got when something worked is comparable too!

My dad’s friend had a website, so he arranged for me to just sort of hang around the agency that maintained it. This was just before I finished high school.

I visited their office for a few weeks, and after a while they gave me a job (though I’m not really sure what it was for). I knew nothing about making websites. I still sometimes feel like that. Just me bumping components together until they do something useful.

Do you remember how you first came across Laravel and what made you start using it?

I was introduced to Laravel by my friend, and colleague, Wayne Berry. Until then I had been making websites using Zend Framework, CodeIgniter and Plain Ol’ PHP.

I didn’t want to start using it because it reminded me of CakePHP. With all the statics and a command-line tool; I half imagined it would lead to the same sort of headaches I had experienced before. I was quite wrong.

Thanks to the wisdom of folks like Dayle Rees and Jeffery Way; I’ve become quite familiar with the framework. I find it works well for about 70%-80% of the applications I need to build. The other 20%-30% work better in micro-frameworks like Slim, or plain PHP.

You have already written one book and I’ve heard you have plans another. Can you give us some details?

I have two books I’m working on at the moment.

The first is a little book on working with PHP data types. I’ve always been interested in language design, and one of the big problems with PHP is the loss of design fidelity when it comes to the APIs used to modify these basic data types. In other words, the slew of inconsistent, global functions often make working with these data types result in messy code.

The book explains two things really; how to create clean and consistent APIs for working with these data types, and how to leverage extensions to give object-oriented access to the data types.

I’ve mostly completed the theoretical part of the book, and am working on the sample library implementations. You can find the book at https://leanpub.com/typedphp.

The second book is about building commerce applications on top of Laravel 4. There are a great many which describe how to build commerce websites. There are also a great many books on using Laravel. Hesitant to add just another of those kinds of books to the pile, Stidges and I decided we wanted to put together one that would show all the good parts of modern PHP application theory, in something practical.

We’re keen to draw on the wisdom of leaders, in the Laravel community. We want to reflect the architectural ideas in Taylor’s book, the testing ideas in Jeffrey’s book. We want to mix in the practical aspects of API design, from Phil’s book. We cite ideas and implications from these (and others), in an attempt to produce a balanced and useful outcome.

It’s shaping up to be a great mix of architectural theory and grounded practice. The Cartalyst guys have also been kind enough to give us access to their catalogue of libraries; so we hope to also demonstrate, not only how developers can build their own solid stuff, but how they can integrate with what’s already out there if they so choose.

You can sign up for the release announcement at https://leanpub.com/laravel4commerce. We hope to be able to published (an in-progress version) within the next month or so.

It was just announced that you joined Cartalyst. Is this full time? What is your role going to be? Do you see commercial packages gaining traction?

Dan Syme invited me to work on the Cartalyst documentation and to help build a bit of a learning eco-system around the libraries. It’s a part-time thing, as I’m still very much involved with Connect.

I think the position Cartalyst are in is a unique one. I don’t know of many companies who operate by licensing premium composer packages, so they’re able to build relationships with their subscribers free from the pressures of competition.

I have no doubt they will face stronger competition than it appears they are facing now, and this should continue to drive the quality of the components up.

I’m only just getting to grips with the full suite of libraries, but I like what I’ve already seen. The code is clean and well-documented. I think this is going to be an enjoyable undertaking.

It seems you are very busy with a full time job and doing a lot of writing. What is your typical day like?

I get up around 6am (GMT+2), on account of little people jumping on me. I’ll make some food and coffee and chase Elijah round the house a bit. Then, at about 7-7:30am, I’ll start working on Connect projects (mostly in PHP API design).

Connect has a good system for remote working, so we can be flexible with the time we spend at the office. This means I’ll often arrive and depart at odd hours, to avoid traffic. After all, the less time I spend sitting in a car, the more time I can spend writing code.

Usually, at around 5pm-6pm I finish up with my Connect work. Then I’ll chase Elijah around the house some more, read stories to Naomi and hang out with Liz. The kids go to bed around 7pm. Liz and I hang out for a couple more hours, and then she’ll go off and do something creative, while I code.

Sometimes I code in bed, other times it’s in the lounge or the office. I usually sleep around 1am, unless I’m doing something particularly exciting.

Sometimes things change, which is refreshing. I also really love what I do, so the writing/coding at night is fun work for me.

Can you tell us about your local environment?

I work on a 13″ Macbook Air, using only the built-in trackpad and keyboard (no additional screens either). I’ve used bigger setups before, but I am enamored with the mobile sufficiency of my current setup.

I used to be a big Sublime user (and then Atom for a bit), but recently I’ve been using PHPStorm. Jeffrey’s Laracasts series on it helped me overcome my fear of overbearing IDEs. Thanks Jeffrey!

I also use iTerm2 (oh-my-zsh) and a selection of personal dot-files (for things like aliases and system settings). I use Chrome to -test- browse and iTunes to keep my company.

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

I guess flying would be cool. Elijah would really enjoy that, and I could go to conferences ALL THE TIME. “Thanks for the great talks guys WOOOOOOSH

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.

image
Larafast: Laravel SaaS Starter Kit

Larafast is a Laravel SaaS Starter Kit with ready-to-go features for Payments, Auth, Admin, Blog, SEO, and beautiful themes.

Visit Larafast: Laravel SaaS Starter Kit
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
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

Bespoke software solutions built for your business. We ♥ Laravel

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
Larafast: Laravel SaaS Starter Kit logo

Larafast: Laravel SaaS Starter Kit

Larafast is a Laravel SaaS Starter Kit with ready-to-go features for Payments, Auth, Admin, Blog, SEO, and beautiful themes. Available with VILT and TALL stacks.

Larafast: Laravel SaaS Starter Kit
SaaSykit: Laravel SaaS Starter Kit logo

SaaSykit: Laravel SaaS Starter Kit

SaaSykit is a 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
Rector logo

Rector

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

Rector

The latest

View all →
Sort Elements with the Alpine.js Sort Plugin image

Sort Elements with the Alpine.js Sort Plugin

Read article
Anonymous Event Broadcasting in Laravel 11.5 image

Anonymous Event Broadcasting in Laravel 11.5

Read article
Microsoft Clarity Integration for Laravel image

Microsoft Clarity Integration for Laravel

Read article
Apply Dynamic Filters to Eloquent Models with the Filterable Package image

Apply Dynamic Filters to Eloquent Models with the Filterable Package

Read article
Property Hooks Get Closer to Becoming a Reality in PHP 8.4 image

Property Hooks Get Closer to Becoming a Reality in PHP 8.4

Read article
Asserting Exceptions in Laravel Tests image

Asserting Exceptions in Laravel Tests

Read article