rmurphey Adventures in JavaScript

About

Austin, Texas

I am a senior staff software engineer at Bazaarvoice, where I lead a team that shepherds third-party JavaScript application development for products with a reach of hundreds of millions of visitors across billions of pageviews every month.

I have played a key role in the design and development of large client-side web applications, and I'm known for my expertise in best practices for organizing, testing, refactoring, and maintaining JavaScript application code. I am also recognized for mentoring promising developers.

I developed the JS Assessment project, an open-source tool used by individuals, companies, and code schools to evaluate a developer's JavaScript skills. I was instrumental in getting promises introduced to jQuery 1.5, and have contributed to several open-source projects. I authored jQuery Fundamentals; contributed to the jQuery Cookbook (O'Reilly); and served as a technical reviewer for Node for Front-End Developers (Garann Means, O'Reilly) and Effective JavaScript (David Herman, Effective Software Development Series).

Prior to my work at Bazaarvoice, I worked at a consulting, training, and development firm focused on open web technologies; before that, I worked for three years as an independent consultant. I am skilled and experienced in evaluating front-end developer skills and front-end technology decisions.

I have spoken at dozens of conferences focused on front-end development, including Front-End Ops Conf 2014, multiple jQuery Conferences, JSConf US 2013, JSConf US 2011, JSConf EU 2010, FrontTrends 2012, Fronteers 2012, and many others. I live in Austin, Texas.

Career

Bazaarvoice, Austin TX

Senior Staff Software Engineer — June 2015 - present

Staff Software Engineer — September 2013 - June 2015

I lead a team responsible for promoting and ensuring best practices for consumer-facing client-side application development, and coordinate key front-end development activities and tools across product teams. Previously, I led and grew a team of engineers of varying experience levels as they delivered new functionality and supported existing functionality on a mission-critical product, all while the user base grew from 10 million to more than 100 million pageviews each month. I increased the product quality by creating and documenting processes for code review and deployment; by bringing visibility to quality shortcomings in our process; and by working with the team's dev manager to institute policies around creating unit tests for new and existing code. I led my team's planning, monitoring, and mitigation activities for the surge of traffic associated with "Black Friday" and the holiday shopping season.

Senior Software Engineer — February 2013 - August 2013

I transitioned rapidly from member to technical lead of a team responsible for the consumer-facing display of a mission-critical product.

Bocoup, Boston, MA

Senior JavaScript Developer — April 2012 - December 2012

I joined Bocoup to do JavaScript consulting, but found myself engaging in the training side of the business instead. I developed new curriculum for teaching JavaScript beginners, overhauled the jQuery Fundamentals learning site to provide an interactive learning experience, and created presentations and training material around the subject of writing testable JavaScript. I also consulted on Roost, a training-focused conference featuring Bocoup developers, and developed a JavaScript coaching product aimed at clients who need ongoing JavaScript support.

Toura Mobile, New York, NY

Lead JavaScript Developer — November 2010 - April 2012

I initially worked with Toura in a consulting role to help clean up a JavaScript mess; later, I joined full time as the lead developer on a team of varying skill levels. I guided the design and implementation of a client-side framework for developing content-rich, offline-capable mobile applications inside a PhoneGap wrapper. I also gained familiarity with Ruby on Rails, the framework we used for the content management system that created the mobile applications, and wrote extensive command line tooling using Ruby.

Independent Consultant

July 2008 - July 2011

I turned the sudden ending of my DailyStrength work into a successful consulting business. For three years, I worked with clients ranging from startups to large companies, helping them improve their JavaScript practices and organize their client-side code. In the process, I established myself as a thought leader on the subject of client-side application development.

DailyStrength, Santa Cruz, CA

January 2008 - July 2008

For five short months, I worked for this small startup, reworking the client-side code to depend on one DOM library instead of four, and standardizing the approach to implementing various aspects of the user interface. Though I was working remotely with an otherwise-colocated team, I proved my ability to become an integral part of a small team from across the country. I lost my job, along with the rest of the developers, when the money ran out.

Webslingerz, Carrboro, NC

August 2006 - January 2008

I joined this local interactive agency to focus on improving my web development skills. The existing team was firmly attached to the 2001 way of doing things; I campaigned effectively to get fellow developers to embrace web standards, modern techniques, and the best practices of the day.

Before That

September 1996 - August 2006

I began my career at a small newspaper in upstate New York, working on the night copy desk with a team that was responsible for laying out the newspaper, editing the stories to fit the available space, and writing the headlines. I worked there for five years; I left in the summer of 2001. I spent the next 18 months bartending -- and making about as much money as I had made at the paper -- before getting on my bicycle and riding it from Maine to North Carolina, camping along the way. In North Carolina, I worked as a waitress for several months before landing a job at an advertising agency. There, I did page layout for various print materials, and grew to be heavily involved in the agency's fledgling efforts with web technologies.

Speaking & Writing

I have spoken at dozens of conferences and events since 2009, with a focus on client-side application development, JavaScript best practices, and encouraging other developers to share what they know.

JSConf

jQuery Conference

Others Conferences of Note

Publications & Contributions

Education

I studied journalism at Lehigh University in Bethlehem, PA, from 1993-1995. I created the college newspaper's first online presence, authoring HTML in pico or somesuch, previewing it in the text-only Lynx browser, and deploying the files to the sever at the appropriate time using at. I also worked with a friend to create one of the first online resources for LGBT college students; we were very excited when, in 1995, its URL was featured in a print magazine.

Tools

I do my work on a 2015 Retina MacBook Pro with a 27" Cinema Display. I use Atom and vim as my editors, the Chrome Dev Channel as my primary development browser, and git for version control of all the things. I write just about everything in Markdown, including this document.