Laravel Idea for PhpStorm - Full-featured IDE for productive artisans!

The Artisan Files: Eric Barnes

Published on by

This is a special edition of the Artisan Files series. Over the past few weeks I’ve had several people ask me to be interviewed and it wasn’t something I even considered. For this interview Taylor Otwell volunteered to ask the questions and if you have a question that wasn’t asked just leave a comment.

Can you tell us about yourself?

I am 36 years old and live just outside of Charlotte, NC. Married to an amazing wife and have two daughters (5 and 4).

I got started into the world of development sometime between 1999 and 2001, my memory of the exact moment is vague. It all started for me when I worked at a motorcycle dealership and we needed an online presence. We originally hired it out and was a delivered a monsterous site that was entirely built with Frontpage and it’s extensions.

I took on the task of keeping the site updated and at some point I broke the Frontpage extensions. I believe I eventually fixed them but that started a pattern until I finally had enough and decided this site needed a database.

With no idea what I was doing I asked really dumb questions on various forums until I got the advice that PHP and MySQl would be the simplest to learn and would meet my goals.

I remember being so overwhelmed. You had to learn so much before you could start building an app that it was crazy. For simple CRUD app to manage inventory I had to get the basics of MySQL, PHP, Apache, HTML, FTP, and some sort of image editing app. Because I wanted to do this fast I found that Dreamweaver would build out PHP for you and even make integrating with the database easy.

I used Dreamweaver to build the first app and it actually worked! Deploying that first version and seeing it live on the web was so exciting and that is when I decided I wanted to do this as a job.

From here I continued to fumble around and still to this day have moments where I feel like I haven’t learned anything. Our industry is forever changing and very humbling. Even the people we look up to do not know everything, and never will.

Using Dreamweaver really shielded me from the code and at some point I did have to go into the source. I was lost. To remedy this I bought an intro to php book written by Kevin Yank. I don’t believe this title still exists but it was so basic and clearly written that it helped me understand.

I feel like if I started today the initial learning time would be reduced so much. I also think a lot of developers forget just how hard everything was in the beginning.

What inspired you to start a weekly Laravel newsletter?

I decided to start the Laravel newsletter back in May of this year. My inspiration came from the fact that I was sharing so many articles on the site that I felt the average person wouldn’t have time to keep up with them. So by creating a weekly digest subscribers can quickly skim the list and stay up to date with all the interesting information about Laravel.

Another goal I had with the newsletter is that I didn’t want it to be just a list of links. Without a doubt, that would be easier for me but I felt that didn’t add a lot of value for subscribers. So to make it a unique experience I try and write a personal anecdote each week and share things I’ve found interesting outside the Laravel community.

One thing I never imagined was the time it takes to keep this newsletter running. Because it’s weekly, I can’t just sit down and write several issues. The first few issues took me around 7 or more hours, mainly because writing is hard and I wanted it to be perfect.

Now I’m able to write one in about 2 hours. I still have writers block a lot of weeks but I’m working on getting better in that regard.

If you haven’t joined yet, please do. It would make my day!

What are your “must-have” Mac and iOS apps?

![My desk ](https://i2.wp.com/laravelnews.s3.amazonaws.com/media/2014/11/ericbarnes-desktop.jpg?resize=525%2C348)
My desk – Sorry for the bad quality
I try and be as minimal as possible, but you wouldn’t know that by looking at my /applications folder. I have a weird issue where I must have every new shiny app. This list is my current “must-have” but it’s likely to change at any time.

Mac Apps:

iOS apps:

Development Workflow

My typical daily workflow is to start with PhpStorm, Terminal, and Chrome Canary for development. I use Safari as my default browser. Then if I need to go into the database or anything then I fire up the app I need.

I’d like to also note that I use the default Terminal with mac. I have iTerm2 but I’m far from a power user and either suits my needs. I do use ohmyzsh and couldn’t live without it.

Consuming News

Throughout the day I keep a check on Twitter with Tweetbot and save interesting links to Pocket. These are then typically reviewed at night and if it’s Laravel related and interesting I’ll create a new post on this site from it.

I stay up with other news from RSS and breaking information on Twitter by utilizing several topic lists.

Writing Workflow

For writing I’ve switched completely to Ulysess III on the mac and it’s companion app Daedalus Touch on iOS. Most of my writing is in the Mac app, and when I’m satisified with the text I export the markdown and paste into a new post. The iOS app is handy for when I’m walking the dog on my lunch break and I have some bright idea. I open it and just add to an “Ideas” page.

I review this list occasionally and if I want to pursue it then I move it to an omnifocus task.

iOS

My phone isn’t really used as a phone. Sure it makes calls but I talk on it less than an hour a month. When I’m on the go or walking the dog I use it for photos, social, reading, and playing games. In fact it’s the only camera own, I love the simplicity of just having everything I could really need in my pocket.

I do own an iPad but I only use it for reading, watching movies, and occosional writing. In my ideal world iPad’s would be more powerful for web development and it would get more use from me.

Name 3 things that you think makes a successful programmer.

This is a hard question for me. In my past work experience I’ve been pretty much the only developer. It wasn’t until I started working with you, Chris, and Ian that I got introduced to others.

Here are three things that I think are important:

  • Passion
  • Team Player
  • Giving back

Passion for the work you put out. This is really no different than any other job, if you have passion and enjoy your work it will show. If you hate getting up every morning and doing programming then find another carrer path. Life is too short to not enjoy what you are doing.

Being a team player is also huge. You can be a “rock star” or “expert” but if you are self centered then I wouldn’t want to work with you. If you make a mistake own it. If a co-worker makes a mistake and you catch it, help them.

Giving back is the final area that will help your grow as not only a programmer but as a person. This can be anything from helping others, contributing to your favorite projects, releasing open source, or writing about your experiences. As you become experienced you will be inspiring, and as a beginner you will gain guidance from others.

If you were going to build a fresh web application from scratch, which tools / libraries would you use?

I think this would depend on the scope of the app. I have a new app that’s been on mind a lot recently and I would use the following tools:

  • Laravel for the backend
  • Gulp
  • Bourbon and Neat for the css.
  • Angular for the frontend.

Then for libraries some of my favorites that I use on almost everything are:

What amazes me is that Laravel itself includes almost all the features you need for typical apps. From download to deploy is the tagline, that is literally true. Having to go outside of the core is rare and only when you have unique needs.

I know I mentioned Angular above but I’d also like to build an app using pjax or a turbolinks for PHP. I’ve seen a few big names championing this lately and I think it would be an interesting way of building an app.

What is your favorite conference talk you have ever heard and why?

This is difficult. I’ve always gotten more out of the people I meet at conferences than the actual talks.

Tech talks are inherintly hard because the speaker never knows the knowledge level of the attendees. If it’s a coding talk then it’s easy to leave people out by talking over their heads, and if it’s to simple then it bores the more advanced.

In my perfect world all talks would be turned into epic blog posts after the event. A lot of conferences do offer videos but I would much rather read it at my own pace than watch.

With that out of the way I would rank Greg Baugues at Laracon as the best I’ve seen. The content didn’t apply to me directly but it was such a polished talk. He does have an advantage as this is a talk he has given a number of times before but you can learn so much by watching it.

The talk had a great story, he commanded the stage, and had the audience drawn to his every word. It was powerful.

My advice to speakers and those that want to get on the speaking circuit is to tell a story, inspire, and don’t use your slides as a crutch. Watch Greg’s and study the ways he delivers the content.

I know from my limited speaking experience that these are hard to get right. Especially telling a story about dry boring code topics :)

What is your favorite Laravel feature?

My favorite part might not be considered a feature, it’s the projects vision. I love the way Laravel is powerful, yet accessible. The syntax and api is also a huge feature. I think developers tend to forget to design for the end user first, this makes such a difference in user experience.

Now for a real feature…

I’ll just go on the record and say, “I LOVE THE FACADES”. Bring the hate, I don’t care. :) I also really like Eloquent and Blade. I guess it’s a toss up really.

Wrap Up

I’d like to thank Taylor for doing this interview and you for reading. If you have a question that wasn’t answered leave a comment below. Consider this the first Laravel News AMA.

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 →
Handling Geospatial Data with Laravel Magellan image

Handling Geospatial Data with Laravel Magellan

Read article
Managing Large Datasets in Laravel with LazyCollection image

Managing Large Datasets in Laravel with LazyCollection

Read article
Collect and Monitor Everything About Sent Emails in Your Laravel App image

Collect and Monitor Everything About Sent Emails in Your Laravel App

Read article
Packagist.org is ending support for Composer 1.x image

Packagist.org is ending support for Composer 1.x

Read article
Mastering Dynamic String Manipulation with Laravel's Str::replaceArray() image

Mastering Dynamic String Manipulation with Laravel's Str::replaceArray()

Read article
Laravel Jobs - December image

Laravel Jobs - December

Read article