I recently attended the Midwest PHP conference and it was a truly great experience. I went last year and while the location changed this year the quality of the conference was right on par. This year it took place at the University of St. Thomas (Minneapolis Campus) which proved to be a perfect venue for the event. All of the sessions had plenty seating and with only three active rooms it was easy to navigate between sessions.
Day 1 kicked off with a keynote titled "Sending a billion text messages" by Even Coury. It was a very enjoyable talk and was very inspiring. The big takeaway was to always have a side project that you are working on because you just never know where it might take you and who might become interested in it.
The next session I went to was "How I learned to Stop Caring and Made Better Software" by Eli White. I am a big fan of Eli and his talk was very interesting. He has a fascinating background and has worked on a ton of really cool projects. Definitely a cool guy.
Next up was one that I was very excited about, "DOs and DON'Ts of MongoDB" which was put on by the one and only Jeremy Mikola. I was particularly excited about this because I recently implemented MongoDB for a huge data collection project and I had several questions about the approach I took. Fortunately I was able to speak one-on-one with Jeremy after the talk and he answered all of my questions and gave me some good takeaways.
After that I went on to a talk titled "Code Reviews: The 'Secret' to Building Quality Software" by Patrick Schwisow. Unfortunately this talk was very basic and didn't really give us anything to take back to our environment because we already have a very well defined way that we do code reviews. Perhaps I will use that as a topic for a future blog post.
The last session I attended on day 1 was called "Building Rock Solid Software in the Real World" by Omni Adams. This was one of my favorite talks of the day because it had great content and also a lot of humor, Omni is a really funny guy. We discussed a wide variety of tools to help ensure that code stays solid (PHPLint, PHPUnit, PHPCode_Sniffer, PHPMD, PHPCPD, PHPDCD, etc) along with a number of code review tools, topics and style guides. Definitely an awesome session.
The Day 2 keynote was titled "7 Things I Wish Somebody Told Me" and Aaron Saray killed it. He was funny, well spoken and had a some great points. Here are the seven things he wished somebody had told him:
- Learn from EVERYTHING.
- Find somebody smarter than you and use them as a mentor.
- Log EVERYTHING.
- Test EVERYTHING.
- We (as developers) are customer service.
- There are two development paths: 1) Innovation, 2) Stabilization.
- Do something different. If you are stuck on something in code, get outside and clear your head.
The next session was probably my favorite of the entire conference. Paul Jones is not only an amazing speaker but wow is brilliant. The talk was called "It Was Like That When I Got Here: Steps Toward Modernizing a Legacy Codebase" and it was filled with great information. The gist of it was to refactor incrementally by consolidating classes, converting globals to injected dependencies and converting functions to classes / class methods. He encouraged all of us to check out the following reading material:
- Refactoring by Martin Fowler
- The Mythical Man-Month by Frederick P. Brooks Jr.
- Clean Code by Robert C. Martin
Next up was "From SQL to noSQL" by Derick Rethans from the MongoDB team. We learned quite a bit about the various types of noSQL implementations, CAP theory and some Mongo-specific approaches. All-in-all, a good talk abut I would have liked to dig a bit deeper.
"Professional-grade Software Design" by Brian Fenton was an excellent talk. He talked a lot about the concepts of SOLID design, naming conventions, comments, source order, dependency injection and object calisthenics. I have a ton of notes on this talk so check out the link to the "raw notes" below.
The last session I attended was by one of my favorite speakers, Josh Broton. Josh is hilarious, smart, witty and a real joy to listen to. This session was called "Sticks, Spit, and Duct Tape: Advanced Responsive Techniques", I know what you are thinking, what is a back-end developer doing at a responsive talk!? The honest answer to that is simply that I wanted to hear Josh speak but it was a really good talk that opened my eyes to a lot of things that we have to look forward to with new CSS3 features that will be rolled out soon. The 'flexbox' model is incredibly cool and could actually allow back-end developers like me to lay out content without pulling my hair out. Again, more information in the "raw notes" below.
In summation, this was a great conference and I really have to hand it to the organizers, sponsors and speakers. I can't wait to attend again next year.
Here are a few additional links on this topic that you might find interesting: - My reviews of all of the talks from MidwestPHP 2013 and MidwestPHP 2014 - My blog post from last year's MidwestPHP - My raw notes