Can you tell us a little about yourself? How’d you go from farming to web dev?
Growing up on a farm really taught me to have a high awareness of the world around me. I was constantly taught about how the innards of things worked. I was constantly asking why that tractor was torn apart, or why the oil needed changing. The same thing happened when my family ended up getting a computer fast enough to do some decent browsing with (shoddy 56k at the time). I spent a lot of time dodging my parents on the phone line like I’m sure so many other people did. At that point most of my time was still spent out wandering with my pellet gun or riding around bush trails and the countryside on ATVs. The internet was still a big, complex mystery to me and was mostly controlled by my parents.
Out of actual necessity, through our farming business, we needed a better computer and a real 3-megabit wireless connection to monitor air quality on one of our farms. We piped that connection out 10km from town to a grain leg we owned, and I started traveling the depths of IRC. I was hooked. Being able to chat to people around the world in real-time was insane to me. It still is insane now that I reflect on it. I began a quest for knowledge and I still haven’t stopped to this day. Being online is still pretty exhilarating to me. However I still try to spend as much time offline and hanging out at my parents as I can. It gives me a lot of good perspective on things. I’ve met and interacted with so many amazing people online through the years, and the Laravel community takes the absolute prize for being the best community I’ve had the privilege of being a part of.
When you started your web career what was the biggest hurdles you faced?
In all honesty, not having a community of people to learn from like I have now. I had a really large, arrogant ego when I was younger and not willing to ask anyone for help. My decisions were the best that could be, and I learned a lot of PHP back in the 4.4 days. After a while I was hacking the crap out of CodeIgniter when it first came out and stuffing thousands of lines of what I thought was good code into single controllers because the docs showed some routes in a controller. I’ve definitely heard similar stories. After a while I gained some perspective, dropped my arrogant attitude and things became a lot more fun.
My programming life is so much easier and more fun now that I have a huge community of people to pull experiences from and lean on when I need help or want to expand my knowledge on something. Needing help is something that’s sometimes hard to admit, but leaning on this community and letting it lean on me has always been rewarding.
What made you make the switch to Laravel?
I had a bit of a funny and quite public hissy fit in the #fuelphp IRC channel over some parts of the ORM that I just could not deal with, along with some other opinions I had on the way Fuel was being ran and coded (Tom Schlick can probably tell a good story about it). At this point I was actually sort of trial running Fuel as part of a rewrite I was doing off of CodeIgniter so I wasn’t super attached to it.
After that display in IRC I spent a lot of time in the #laravel channel and I really loved what Taylor was doing. It helped a lot that he was on IRC just talking about the framework and getting feedback from a group of us, it felt awesome being that close to the actual inner workings of the framework. Taylor’s really kept that up I think, that’s one of the big successes of Laravel. There’s a lot of collaboration and poking at it from tons of really smart people. He’s still running the show fabulously but he has loads of help from the rest of the community.
Your Laravel cheat sheet is very popular. What made you decide to create it?
I felt jealous of other things that had cheat sheets. It actually sort of started as a joke, as things do. I was messing around in the IRC channel gawking at how good the annotated source of the Backbone docs was to look at.
At that point I think someone suggested it was something we lacked and I spent a little time one night smashing something together in an HTML file. I’ve still kept it in that one file instead of bloating it out. I want simplicity in case I want to take that file on a plane or put it on my phone or something. I still actually need to fix the PDF version, but who uses PDFs anymore right?
What is your typical day like?
I usually get up and catch up on what’s going on with all the people I know in Europe on Twitter. That’s right before my son storms in the room and decides that he’s now an astronaut on the bed. After that, head into work and get prepped for morning standup with my team. Usually that’s a combination of going through yesterday’s tickets that I worked on and making sure I present any useful details to the team. Depending on how busy the day is I’ll spend some time on IRC in the morning getting some quality discussion time in between stints of work.
I’ve actually helped my team in the last few months to become more collaborative with each-other. When I started there was a complete lack of communication going on and no one was taking the time to plan through things properly as a team. We now try to have little collab sessions throughout the day to talk in groups about the raw code we write. These sessions usually involve rolling ideas around like a big ball of clay and getting something great out the other end. I’ve found it makes everyone feel involved, empowered, and it solidifies designs so not just one person is off on their isolated journey of maintenance hell.
Can you tell us about your local environment? What are your favorite apps?I run Arch Linux on my work machine with KDE installed as my WM. Very similar set up at home. I’m thankful I work at a place where they just gave me a machine and said “try not to physically damage it”. I don’t use many apps daily, almost all of my work is done in a terminal with vim, git, vagrant, redis, etc. I’ve noticed that the more I work in the terminal, the more productive I can be. I know some people love their IDEs, but I find my productivity highest when it’s just me and a tmux session. I’m also still one of those (old school?) people that uses the Twitter website as my primary digestion for Twitter.
What are some books that you would recommend to a beginning developer?
My number one right now is The Clean Coder by Robert C. Martin (Uncle Bob for some of you). I feel like where I’m at in my career I have a pretty in depth knowledge of my field but I have way less knowledge of how the hell to carry myself around and interact with others. This book would have definitely changed my path had I read it 5-6 years ago. Uncle Bob goes on a super deep dive on how to act as a professional in our industry. The perspective it gives is valuable for anyone who hasn’t read it, beginner or veteran. The content is presented in such a way that it gets you really thinking about how you present yourself to others; other departments, other coders, clients, even your parents or friends. It’s a great self-reflection book, I’ve read it once and I will for sure read it again.
Another would be the Design Patterns book by the gang of four. I’ve definitely found a lot of programmers will balk at design patterns and sort of ignore them as unneeded complexity. I’ve been through some trenches before and can tell you that some of the patterns in this book will save your ass once you get to the Hard Problems™. It’s all with a grain of salt though, recognize the patterns for what they are and apply them when necessary, don’t take it all as gospel.
If you could be in a sitcom or reality show which one would you want to be in?
I’m going to break the rules here and say that I would love to have been in Seinfeld back in the day but right now I think Silicon Valley is being done extremely well. Hopefully people consider it a sitcom? I do, whatever… haha. Mike Judge is nailing the culture we have and I would love to play a brogrammer or something in that show.