8 Questions with Shawn McCool

Published on by

8 Questions with Shawn McCool image

This week I’m happy to welcome Shawn McCool to the Artisan Files interviews series. If you are not familiar with Shawn he runs the Laracon EU conference, former host of the Laravel podcast, and was a very early adopter of Laravel.

Can you tell us about yourself? How’d you get into programming?

I’m a 33 year old American software developer living in the Netherlands. I moved here 4 years ago on an adventure with my wife and two kids.

I started programming when I was 10 years old. I was already really into playing Oregon Trail on the school’s Apple IIe computers. Then, when I went to my friend Jeremy Cole’s (now a big-time database expert) house he showed me his family’s IBM PCjr and gwBASIC and that’s where it all started.

Eventually, his family bought a new computer and they sold my family the PCjr for $100. I got to keep the computer in my room and after 2 years of that I had built over 200 BASIC programs in various states. I had written everything from primitive games to primitive management applications.. Really.. I made whatever I could think of. It was an obsession.

Over the next years I found Turbo Pascal 7, then C and C++. Then, I got really into Linux when I was 14 or so, whenever SNES9x first got sound on Linux. Linux and I ended up becoming more or less inseparable.

I have few memories of times in my life when I wasn’t passionate about programming.

Are you working on anything interesting these days?

One of my favorite projects is Laracon EU. It’s the official European Laravel conference and I love it like it was my child. My partner and I work on it year-round and pour our hearts and souls into it. To us, it’s not just a tech conference. We want it to be a powerful experience for our attendees. After all, this is the time when we get to see the other community members and our chance to bring more people into the active community.

I’m really focused on education and I think that conferences are an excellent medium for that. I’m working on a few other conferences that, like Laravel, are about topics that are close to my heart. I hope to be able to talk about them soon.

When starting client projects, what is your typical project workflow?

Start a project is really difficult. In my mind, the hardest parts are learning the way that the client things, what they actually want / need, and managing their expectations.

I always deliver a barely functional version as a first “phase” of development. This way, we’re always delivering and it gets all of the setup out of the way. When the client comes in to see where we are, their brain starts churning and they often figure out more about what they actually wanted, which helps during the coming phases of development.

What are some of your must have “apps”?

Hmm… For me, must-have apps are:

  • PHPStorm
  • IntellijIDEA
  • Navicat
  • Sublime Text
  • Virtualbox
  • Vagrant
  • Telegram
  • Steam

I think that about covers everything.

How do you structure your day? Do you work a fixed schedule?

My wife works her PHD in Amsterdam. So, she wakes up at 6am to beat rush-hour on the trains. This means that it’s up to me to get the kids to school in the morning. Luckily, I’m 2 minutes away from the school that they both go to.

So, I wake up at 7am, prepare lunches, get them fed and ready, then I walk my four year old to school. After that, I’m more or less free. Typically, I go to a cafe, sit down, have a cappuccino, and catch up on my email. After that, I try to crunch out the hardest tasks that I have left so that I can relax later.

I find that if I don’t get time to relax in the afternoon; I can be quite grumpy when the kids show up. So, for me it’s a big deal to get that sorted. It’s really easy to do this when I focus on the stressful stuff early on.

What do you think are the best parts of being a programmer?

I think that the most compelling part of being a programmer is the way that you end up thinking. As I mentioned before, I’ve been obsessively programming since I was 10. So, 23 years later and you might wonder if my mind works the way it does because of the programming, or if I fell in love with programming because of the way my mind works.

Either way, programming taught me how to think. You learn how things ACTUALLY work. You learn that contexts change and what seemed like a good idea before, doesn’t seem like a good idea now. Being able to break down large problems into many small problems, then put together the many small solutions into a larger solution is a big deal.

Whether or not you’re a programmer, these skills make the world go around.

It’s no small deal to be able to make what you want. For example, I’m obsessive about customizing my user experience. My laptop can basically not be used by anyone else because I use a different keyboard layout than QWERTY and because I don’t use stacking window managers, and for other reasons.

I absolutely love thinking about ways to improve my interactions with my machines, and then trying them out.

What about the worst?

I don’t know that there are specifically bad parts about being a programmer. However, I can say that there are definitely bad parts about being in the software development industry. Software developers are often treated extremely poorly. They’re often not valued and not nurtured.

I think that part of this is because so many of us simply “walked in off the streets.” The job can be quite difficult for those who haven’t learned the 5000 lessons necessary to be at what is commonly referred to as the “senior” level.

But, it’s interesting to note how much more education is available. When I first started, we had to connect to BBSs to find other people’s source code. There usually weren’t manuals for how to do stuff (that we could find, as kids) and we had to sort of learn from what we could scrounge together. My buddy Jeremy and I were the only ones we knew that actually programmed in our school.

Now, education is bleeding from all of the internet’s many orifices. It’s truly a treasure trove and has changed the way that people live and learn.

If developers can stay passionate and have good taste on what to study, then they can have an extremely nice life. But, our industry is in its infancy and you can’t expect things to stay the way that they are for long. It’s important to keep up in order to reap the rewards. When I say, “keep up” I mean with paradigm shifts, not with tools.

How do you see web development changing over the next 5 or 10 years?

I think that web-development will be done much more with the functional paradigm and distributed computing. I think that we’ll utilize external services more often than we already do and much more emphasis will be put on technologies like event-sourcing.

Web-agencies that create simple bespoke applications will still probably be doing work similar to the way it’s being done now. However, we’ll have consistently better tools.

Developers will be using a less imperative approach in exchange for a more declarative one.

If you’d like to find out more about Shawn check out his personal blog or follow him on Twitter. Also if you enjoyed this interview you can download a pdf of all the other interviews that have performed here on Laravel News.

Eric L. Barnes photo

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

Filed in:

Laravel Newsletter

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

Laravel Forge

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

Visit Laravel Forge

The latest

View all →
Use Ollama LLM Models Locally with Laravel image

Use Ollama LLM Models Locally with Laravel

Read article
TallStackUI - a new component library for TALL Stack apps image

TallStackUI - a new component library for TALL Stack apps

Read article
Laravel 10.34 Released image

Laravel 10.34 Released

Read article
Laravel Tailwind Merge image

Laravel Tailwind Merge

Read article
Generate Validation Rules from a Database Schema in Laravel image

Generate Validation Rules from a Database Schema in Laravel

Read article
A Feature Flags Implementation for Filament image

A Feature Flags Implementation for Filament

Read article
Honeybadger logo


Zero-instrumentation, 360 degree coverage of errors, outages and service degradation.

Laravel Forge logo

Laravel Forge

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

Laravel Forge
Oh Dear logo

Oh Dear

Oh Dear is the best all-in-one monitoring tool for all your Laravel apps.

Oh Dear
Tinkerwell logo


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

Kirschbaum logo


Providing innovation and stability to ensure your web application succeeds.

Shift logo


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

Bacancy logo


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!

LoadForge logo


Easy, affordable load testing and stress tests for websites, APIs and databases.

Paragraph logo


Manage your Laravel app as if it was a CMS – edit any text on any page or in any email without touching Blade or language files.

Lucky Media logo

Lucky Media

Bespoke software solutions built for your business. Partner with Lucky Media, your favorite Laravel Development Agency!

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