Laracon Louisville just ended and not only was it a ton of fun, but I had the chance to meet so many new people both inside and outside the Laravel community.
The setting for this years Laracon was at the beautiful Kentucky Center for the Performing Arts. It sits in downtown Louisville and was just a short walk from the conference hotel. Within walking distance was several restaurants, coffee shops, and it’s position in the city was ideal for a conference.
The venue offered theater style seating, and all attendees could easily see the stage from any seat. That made it nice for the height challenged, like me.
This years conference was the biggest yet with almost 500 in attendance. Quite a change from that first one in D.C, which had around 150. If anything this shows both the rise in popularity and the welcoming of the community at large.
Here is an overview with some key takeaways from each of the talks:
The first day started with Matt Stauffer giving a talk titled “Leveraging Laravel”. In it Matt discussed ways of utilizing Laravel to launch a new idea quickly and easily. It was a fantastic start to the conference, and Matt didn’t disappoint.
Leveraging Laravel covered many sub-topics such as Jobs to be Done, wire-framing, and even talking about pain points that cause developers never to finish side projects. That last point was an excellent build up to what would be announced in the keynote.
Laravel Spark – Keynote
The keynote held the biggest announcement of the conference, Laravel Spark. Spark is designed to give you all the scaffolding you need to quickly build out an entire billing system. Perfectly suited for SaaS apps.
The keynote started out on the topic of Artisans. More specifically “programmers as artisans” and how it compares to the documentary of “Jiro Dreams of Sushi”. For those not familiar with the movie, Jiro literally™ dreams of sushi. Throughout his entire life, he has practiced the art of sushi making to be the best. But the bigger question is why? One assumption is it gives him a deep and satisfying meaning to life.
The comparison is pretty accurate too because countless developers not only spend their work days programming but continue practicing at home and on the weekends. Not out of a requirement, but because it brings so much joy and satisfaction.
Even though programers love to create code, there is so much that gets in our way and Taylor’s goal with the Laravel ecosystem to remove as much burden as possible. That is why Homestead was created. Setting up a VM or a local server is not a task many enjoy. Or Cashier because dealing with payments over and over is annoying. Forge/Envoyer is the same. Having a preset server with zero downtime deployments should be simple.
This is when the announcement for Laravel Spark came. A foundation for building SaaS style products that includes invitations, registration, invoices, subscriptions, team management, 2-factor auth, emails, and more.
What this means is now when you have that new idea for an app you will be able to plug-in Spark and have an almost full administration area with payments all at your disposal. Saving you tons of time.
Spark hasn’t been released just yet; the beta will come out sometime next month after Laracon EU.
When it all hits the fan
The second talk of the day was by Eryn O’Neil on how to cope when everything blows up.
The timing of this talk was a little funny because during the first talk the Laravel News server maxed out and went unresponsive. You could say it all hit the fan for me. Many thanks to Chris Fidao for helping me quickly get it resized and all back up during the break. I honestly didn’t expect the traffic and didn’t plan accordingly.
Strive for the best
Plan for the worst
Eryn’s talk was superb. She went through two types of problems:
- Project – planning/clients/budget
- Technological – unexpected bugs/outages
Most project problems are the result of mismatched expectations, a lack of communication, or (most likely) both.
The technological problems are the ones programmers are typically tasked with, and she had a lot of great advice here. Some of it included:
- Have an incident response arsenal – A plan for things that haven’t happened yet such as a Security breach, Server down, or a Datacenter wiped out in a freak accident.
- Cultivate a shame-free culture!
- When things hit the fan. 1. Calm down, 2. Make a plan
She ends on this note: once you settle an incident, you also have to make sure it never happens again.
Adam Wathan came roaring to the stage UFC style with a Rocky song blaring over the speakers. It was a great intro, but that also meant he had to perform. Nothing would be worse than a fantastic intro and then a boring talk. I’m happy to say he didn’t disappoint.
The premise of his talk was on simplifying, and he took an existing piece of code and worked through refactoring in real time.
It was the most visual sessions and one where you really needed to be present to consume it fully.
Open sourcing mental illness
Open sourcing mental illness was a talk by Ed Finkler. As you can probably guess from the title, this talk was all about mental illness with the developer community.
He used himself as an example throughout the session and some of the problems he faces every day. It was a powerful topic, and he did a great job in helping to bring to light problems in not only our industry but the world.
1 in 5 people in the USA struggle with a mental disorder.
Things Laravel Made Me Believe
Jeffrey Way lead off the second day with a session on things Laravel made me believe. The idea for this talk came from Jeffrey not only diving into the Laravel source code but from the way Laravel cares so much about developer by focusing on the little things.
He highlighted three themes: care, simplicity, and distrust.
It’s the small things that show users you care about them and details matter. For example, John Lasseter of Pixar says, “Sand the underside of the drawers.” Then for the movie Inception, the song in the dream is 2 minutes 28 seconds. The length of the movie is 2 hours and 28 minutes.
Taking this same care to Laravel you’ll notice that all comments are three lines and each one is three characters shorter than the other. Yes, it’s borderline OCD but there is a benefit in obsessily wanting the code to look pretty.
How does this feel. It always comes back to that.
Jeff says simplicity is where you can read a page of documentation, and understand exactly how to use it. As a developer, this is a mind shift from focusing on how to get the code to work, to first focus on how the code feels to use. An example of this is the Laravel Scheduler and it’s simple syntax.
He didn’t directly mention this during the talk, but I distinctly remember the snide comments when this feature launched. The Monday morning quarterbacks complained CRON isn’t that hard; the syntax shouldn’t be redefined, etc.
The distrust section covered Elixir and a little history of how it came about. Both Jeff and Taylor spent tons of time and brainstorming sessions figuring the name, the API, ways of making simple, and trying to make it delightful. Of course after the first release he quoted some of the feedback:
Laravel thinks developers are too stupid to learn Gulp
The Same Thing Happens Every Time
The always lovable Paul Jones came next, and his talk was about patterns. The introduction was spotting patterns in geeky movies which lead into the two types of programmers:
- Future-oriented: “first do it right, refactor as needed.”
- Present-oriented: “first get it done, and then make it faster.”
The future-oriented is the academic who focuses on patterns, abstracts, layers, interfaces, testing.
Where the present oriented is the utilitarian who focuses on rapid, simple, prove that I need it, do the least needed.
Typically on social media there is a big divide between the two camps and Paul did a great job in bridging the gap by focusing on how they are both needed and compare and contrast.
Then he brought another type, “The Problem Child”:
- competent, intelligent, knowledgeable, talented.
- Low empathy, remembers hits/forget misses
- Games the rules, does not take instruction well
- Student syndrome; negotiates conditions post-facto
- Has never really “failed” in own mind.
Building a great company culture
This was the topic from Brian Webb, who was on double duty during the conference. Not only did he give this talk but helped in all the pre-conference planning and all the days activities.
His talk covered the two types of employees, engaged and satisfied.
An Engaged person is there to give where a satisfied person is there to get. A big difference in both outlooks and motivation.
Brian covered a lot of great stats between the two types and showed why you need engaged employees and how to get them.
His slides have been posted online and you can see them here.
Service-Oriented Laravel and Lumen
Samantha Geitz couldn’t let Adam Wathan outdo her, and she come out on stage in style with the music blaring and strobe lights.
Her talk went through creating a fictional app for selling Artisanal Shirts and the app went through the typical patterns. It started out just selling shirts, then it needed a blog, then customer support, then selling mugs, and on and on.
This lead into creating micro-services for each section to make changes easier and be more isolated in case problems arise.
She uses Lumen for API’s and worker services and then recommends using Laravel when you need elixir, bootstrap, packages, routing, or new to Laravel.
The remainder of the talk discussed some pitfalls to micro-services and how to be sure each team is on the same page with naming conventions and HTTP codes.
Hacking the Human Interface
Samantha Quiñones opened up this session with a personal story about how she was an insufferable ass. This setup the rest of the story on what helped her overcome this.
You can see her complete slide deck here:
It was a powerful talk, and I’m not the only one who thinks that
This is the first time I've ever listened to the talk immediately preceding mine.
— coderabbi™ (@coderabbi) August 12, 2015
Talmudic Maxims to Maximize Your Growth as a Developer
The coderabbi! I had the pleasure of being in attendance the first time he gave this talk and as you can imagine this one was more polished and modified slightly, but it still contained all the great knowledge contained in the first.
Some of the highlights
- Code Reviews
- Learn by teaching, learn by writing.
- Do not separate yourself from the community.
- Rubber ducking; Having trouble focusing? Narrate in a Jeffrey Way voice.
Don’t be afraid to ask questions, don’t be afraid to challenge assumptions, don’t be afraid to fail.
Artisan JeoPHPardy and McGinnis!!!
No Laracon recap would be complete without mentioning McGinnis. This guy is now Laravel famous and is now even in the source code.
At the start of PHP Jeopardy the show host, Jeremy Mikola used a highly scientific system to pull contestants from the audience and the ones announced had the option of not playing. One of the names who decided to skip it was “Rahman McGinnis”. During the round, the contestants started struggling, and I can’t recall exactly how it happened but McGinnis kept being called out which turned into a lot of fun.
This Laracon was a lot of fun and I personally had a blast. The Artisan Jeophpardy was a great addition and every single talk was high quality. It was a top notch conference and I am glad I was able to attend.
As with everything all good things must come to an end but it was so great to meet so many that are new to both PHP and Laravel and catch up with old friends.
I’d also like to personally thank Bill Condo for taking all these photos and allowing me to use them.
Oh, and one more thing, you should probably see these awesome photos: