“Making Engineers Happier and Smarter at the Same Time!” By Chris Hanson
When Chris Hanson told us about the Perpetual Learning program at HauteLook – which institutionalizes the concept that engineers will be happier if they stay on the cutting edge by continuously adding to their skills and understanding – we thought it would be fantastic to share his insights with the community at large. As VP of Engineering for the company, Chris is not shy about describing the broad reaching effects of the below methods.
Fun fact: Since 2010, Google has acquired an average of one company per week.
Perpetual Learning at HauteLook, by Chris Hanson
Part of having an awesome engineering team means hiring awesome engineers. But after we hire awesome engineers, we need to keep them happy. We’ve found that one big factor in keeping them happy is helping them to continually improve. There are a number of ways that we do this:
- Learning Series
- Book Club
- Involvement in Open-Source
- Encouraging participation in hackathons and meetups
Every month, our software and QA engineers have the privilege of attending a presentation by one of their peers. And sometimes, depending on the topic, we also invite the Product Management team. Topics may be directly related to something that we do here at HauteLook, but they don’t necessarily have to be. These are done during lunch in one of our conference rooms, and lunch is provided. On average, the presentation takes around 45 minutes, followed by 15 minutes of discussion. A few of the topics that we’ve covered in the past include Android Development, Vagrant for VM Management, Software Design Patterns (Template Method Pattern, State Pattern, Strategy Pattern), Performance Testing and Monitoring, Node.js and Responsive Web Design, to name a few. To perpetuate the Learning Series, many of our team members have an annual goal of presenting at least once, although many enjoy it so much, they do it multiple times throughout the year.
Last year, every developer had a goal of reading Clean Code: A Handbook of Agile Software Craftsmanship, and to encourage this as well as to solidify everyone’s understanding, we all met each week to cover a chapter in this book. Discussion included favorite parts of that week’s chapter, questions, and debate on how we as a team choose to follow clean coding. This year, the book that we’ve selected is Practical Object-Oriented Design in Ruby: An Agile Primer. Although we don’t use Ruby for much besides various dev-ops tasks, the lessons that this book teaches are invaluable and should be part of any software engineer’s arsenal. So far, our team has been highly impressed with this book.
Our concept of a workshop involves two to three engineers being taught some concept or technique in a two- to three-hour hands-on session. We like to keep the groups this small because it results in each participant being fully engaged.
One recent workshop covered unit testing. In that workshop, we looked at a few particularly ugly and untestable methods (if you don’t know, a method is a function within a class), and we discussed why they were untestable. We then refactored the methods, one-at-a-time, to remove dependencies so that they could be tested at the unit level.
Every member of the e-commerce engineering team has an annual goal to organize at least one workshop, so this results in a lot of learning on a variety of topics!
Our annual budget allows us to send each engineer to a relevant conference of their choice. Not only do we pay for their conference fees, but we also cover their time off. Conferences attended include WWDC, Mike Cohn’s “Cohn’s “Certified ScrumMaster” and “Succeeding with Agile”, a conference on Machine Learning and the most recent Ember.js Bootcamp.
Involvement in Open-Source
We’re an open-source shop, and we encourage our engineers to participate in the open-source community. One example of this is Vertebrae. Written by HauteLook, Vertebrae is a web application framework for a frontend built using RequireJS, Backbone.js, Underscore.js, jQuery, and Mustache.js. We’ve also become involved in the Ember.js project, and we’re currently rewriting our e-commerce web site using Ember.js.
Hackathons and Meetups
A subset of our engineering team, along with a member of the Product Management team, attended the Silicon Beach Hackathon in June 2012 and placed fifth overall. HauteLook also was a Platinum Sponsor of Startup Weekend Los Angeles in July 2012.
We encourage our engineers to attend local meetups, and we recently hosted the Ember-SC meetup. Many of our team members have attended meetups all over the L.A. area.
As you can see, the concept of perpetual learning is something that we take very seriously within the HauteLook Engineering team. Everybody here has an intrinsic desire to grow, as well as a passion to help others. And that’s a big part of why we have some of the best engineers around, and why we all get so much fulfillment out of our jobs at HauteLook!
Chris Hanson can be reached through his LinkedIn profile at http://www.linkedin.com/in/phpchris.