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:
Cube

Laravel Newsletter

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

image
Laravel Forge

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

Visit Laravel Forge
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
LoadForge logo

LoadForge

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

LoadForge
Paragraph logo

Paragraph

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.

Paragraph
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
DocuWriter.ai logo

DocuWriter.ai

Save hours of manually writing Code Documentation, Comments & DocBlocks, Test suites and Refactoring.

DocuWriter.ai
Rector logo

Rector

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

Rector

The latest

View all →
Generate Code Coverage in Laravel With PCOV image

Generate Code Coverage in Laravel With PCOV

Read article
Non-backed Enums in Database Queries and a withSchedule() bootstrap method in Laravel 11.1 image

Non-backed Enums in Database Queries and a withSchedule() bootstrap method in Laravel 11.1

Read article
Laravel Pint --bail Flag image

Laravel Pint --bail Flag

Read article
Laravel Herd for Windows is now released! image

Laravel Herd for Windows is now released!

Read article
The Laravel Worldwide Meetup is Today image

The Laravel Worldwide Meetup is Today

Read article
Cache Routes with Cloudflare in Laravel image

Cache Routes with Cloudflare in Laravel

Read article