Biography

Matt Stine is a 17 year veteran of the enterprise IT industry, with eight of those years spent as a consulting solutions architect for multiple Fortune 500 companies, as well as the not-for-profit St. Jude Children’s Research Hospital. He is the author of Migrating to Cloud-Native Application Architectures from O’Reilly, and the host of the Software Architecture Radio podcast.

Matt is obsessed with the idea that enterprise IT “doesn’t have to suck,” and spends much of his time thinking about lean/agile software development methodologies, DevOps, architectural principles/patterns/practices, and programming paradigms, in an attempt to find the perfect storm of techniques that will allow corporate IT departments to not only function like startup companies, but also create software that delights users while maintaining a high degree of conceptual integrity. He is currently the product owner for Spring at Pivotal, and spends much of his time driving an active feedback loop between the Spring R&D organization and customers developing cloud-native application architectures.

Matt has spoken at conferences ranging from JavaOne to OSCON to YOW!, is a seven-year member of the No Fluff Just Stuff tour, and serves as Technical Editor of NFJS the Magazine. Matt is also the founder and past president of the Memphis Java User Group.

Vagrant: Virtualized Development Environments Made Simple

Have you ever wished that your local development sandbox could look exactly like production, but you’ve got a mismatch between your local OS and your production OS? And what about the age old “it works on my machine” excuse that quite often stems from differences between developer sandboxes? Many have turned to virtualization, creating a machine image that can be passed around the team. But who manages the template? How do you keep things in sync?

In this session, we’ll explore Vagrant (http://www.vagrantup.com), an open source tool that allows you to easily create and manage virtual development environments that can be provisioned on demand and “thrown away” when no longer needed.

Our agenda will include:

  • Creating new base OS templates using the Vagrant Veewee plugin
  • Creating a new development box using Vagrant
  • Provisioning the box using Puppet
  • Provisioning the box using Chef
  • Deploying a simple web application to a multi-box development environment
  • Packaging and distributing the box within your team
Effective Java Reloaded

Even with the recent explosion in alternative languages for the JVM, the vast majority of us are still writing code in “Java the language” in order to put bread on the table. Proper craftsmanship demands that we write the best Java code that we can possibly write. Fortunately we have a guide in Joshua Bloch’s Effective Java.

In his foreword to the first edition, Guy Steele writes about the importance of learning three aspects of any language: grammar, vocabulary, and idioms. Unfortunately many programmers stop learning after mastering the first two. Effective Java is your guide to understanding idiomatic Java programming.

Effective Java is organized into 78 standalone “items,” all of which will be impossible to cover in one session. Instead I’ve chosen a subset of the most important techniques and practices that are commonly missed by today’s Java programmers. You’ll pick from a menu and decide where we’ll head. Regardless of the path we take, you’ll leave this session thoroughly equipped to write better Java code tomorrow!