Portfolio

Work

Radial Development Group

Radial Development Group is an agile, process/practice-focused consulting firm based in beautiful Loveland, Colorado.

I have the pleasure of advising Radial Development Group. Radial puts great weight on accountability, which I help faciliate by moderating weekly retrospectives. This gives the whole staff a forum to discuss absolutely anything relevant to the company, and address anything direclty with managment and a third-party advocate (me). I have coached them through mutliple stages of growth as a company, and have watched their team flourish.

In addition to the process-oriented work I do with them, I have also provided technical advice, including an on-site training day (Sept. 2015) on Test-driven JavaScript ([slides][tdd-in-js]) with React (tdd-react) and Backbone (tdd-backbone).

Role: Adviser

Methodologies: Agile Retrospectives, SMART Goals, 5 Why’s, pragmatism, communication skills, mediation

The Firehose Project

The Firehose Project is an online learning platform for aspiring web developers

I work with The Firehose Project as a mentor. I get to coach aspiring developers through their curriculum, provide customized learning opportunities to nudge them in their preferred direction, and provide some career coaching and direction.

Role: Mentor

Technologies: Ruby on Rails, JavaScript, CSS, Twitter Bootstrap, etc.

Stateless Networks

Stateless Networks (now Luminus Networks) provides software for monitoring and provisioning physical networks at scale.

I was privileged to serve as the front-end technical lead for the first several versions of Stateless’ Network Automation Engine (NAE). We were initially engaged for three weeks, during which we created a working prototype that could monitor a small bank of real Arista switches, and display real-time updates. Over the ensuing year, I led a team of 3-4 frontend/fullstack developers in building out a full-featured product that would work at scale. We developed an event-driven automation engine that allowed users to set up highly specific queries and tie them to notifications, deployments, and custom provisioning scripts. In addition to writing the code, I was responsible for the front-end architecture, the UX, domain knowledge, and part of the product development and domain knowledge.

Stateless was the first fully test-driven front-end that Originate delivered. I set high technical standards for the team, and coached team members to meet those standards. The hard focus on tests and quality allowed us to iterate quickly and we were able to consistently deliver a high-quality product on a tight timeline, which allowed the Stateless business team to raise the capital they needed, and consistently wow both investors and customers.

Role: Lead Front-end Developer

Technologies: Ruby on Rails, Spine.js, jQuery, WebSockets, Python, Twitter Bootstrap, Git, Mocha.js, Cucumber, CoffeeScript, TDD

MGM International

I had the good fortune to lead a team of new engineers in an on-site engagement with MGM International. Our task was to rescue an internal product that was behind schedule, as well as to assess the existing process and deliver a report on any improvements that could be made.

This project was a prime opportunity to mentor the new engineers on my team in working with legacy code, and to work directly with them on their business communication skills, and project planning. I also got to teach my team how to use JavaScript, and how to use jQuery, Backbone.js, the Jasmine test framework, and the Cucumber acceptance testing tool. We were able to deliver the internal tool that other firms had failed to deliver, and delivered a clear report identifying specific areas where their development process could be improved.

Role: Lead Front-end Developer

Technologies: JavaScript, jQuery, Backbone.js, Spring Framework, Apache Tomcat, Cucumber, Jasmine.js, Subversion (SVN)

Angie’s List

Angie’s List collects review data on more than 720 different domestic services, and helps to connect over 3 million households with reliable service providers, including roofers, plumbers, handymen, mechanics, doctors and dentists. In markets where their SnapFix service is deployed, consumers can access white-glove service, where Angie’s List will manage a whole job for them, from discovery to payment, and follow up with service providers about any issue that arises.

ATC Dashboard

My first engagement with Angie’s List was building their Air Traffic Control dashboard; the software that their call-center operators use to manage service requests and dispatch service providers for their Snapfix™ service. I worked on a small, tight-knit team that was able to quickly iterate and develop new capabilities in the dashboard as the underlying API became available elsewhere.

I was brought on after the tools had been chosen; once I joined the project, I did my best to ensure high technical standards, requiring test-driven front-end code, and coached another engineer on test-driven development. Despite his initial reluctance, I was able to help him to understand the value in writing test-driven code, and have since seen him become a zealous advocate for writing clean, well-tested code on a variety of platforms.

Role: Lead Front-end Developer

Technologies: Spine.js, Twitter Bootstrap, jQuery, Scala, Play Framework, CoffeeScript, Mocha

Angie’s List Service Provider Portal / Frontend

I had occasion to work closely with an internal team at Angie’s List to make-over their Service Provider Portal, and a portion of their public-facing website. I was brought on as a senior technical adviser, and developer. Working with a larger team with mixed skillsets was gratifying. I was afforded the chance to mentor team members in using TDD and in using React.js, along with the Flux architecture. I’m proud to have worked with this team, and to have left both the project and the team better than I found them.

Role: Senior Front-end Developer, Senior Technical Adviser

Technologies: React.js, Flux / Alt, Twitter Bootstrap, Scala, Play Framework, ES6 / ES7 / ES2015

Risk Management Solutions

Risk Management Solutions (RMS) is the world’s leading provider of catastrophe risk modeling services and actuarial data for insurers and re-insurers.

I worked on an internal tool for Risk Mangement Solutions (RMS) for managing their datasets. The product enabled users to work with large (several GB) data-sets in the browser, and provide real-time information about batched data processing. During my tenure on this project, I wrote world-class code, and provided coaching and technical insight to the team.

Role: Senior Front-end Developer

Technologies: React.js, Redux, Flux Architecture, CoffeeScript, Moment.js, TDD

Versus

Versus is a fully legal (presently US-only) proprietary platform that allows game publishers and developers to offer physical, digital, and monetary prizes in skill-based tournaments and matches.

I worked with Versus to develop their tournament platform. I was fortunate to inherit the codebase in a well-engineered state. Over the course of several weeks, I helped to refine some of the software requirements and rewrite affected parts of the system. In particular, I added a double-entry accounting system that would account for all the various parties involved in the sometimes-complex tournament payouts.

Role: Senior Ruby Developer

Technologies: Ruby on Rails, Cucumber, RSpec, Grape.rb

Dispatch.me Scheduling Dashboard

Dispatch helps field service companies manage jobs from start to finish, connecting all the dots between job originator, customer, and service provider in the field.

I led a small team in upgrading part of Dispatch’s scheduling dashboard. We rewrote the scheduling component using React.js and Kendo UI. I coached an excellent back-end developer in doing front-end development with JavaScript, and helped to work through the hurdles of the Kendo UI integration.

Role: Senior JavaScript Developer

Technologies: React.js, Kendo UI, Redux, Flux, Radium

CardGnome Web-to-Print System

Card Gnome is a greeting card company, specializing in direct-to-recipient delivery.

While working at Card Gnome, I developed a complete system for creating greeting cards online and delivering high-quality custom prints directly to customers.

Role: Senior Full-stack Developer

Technologies: Ruby on Rails, JavaScript, jQuery, Prawn.rb, ImageMagick

Presentations

TDD In JavaScript

http://davidbeveridge.net/TDD-in-JavaScript/index.html

A three-part talk I gave Sept. 18, 2015 for Radial Development Group on doing Test-Driven Development with JavaScript. The slides mostly cover TDD as a practice. This was followed by sections on doing TDD with Backbone.js and React.js, both with some live coding as an example.

TDD In JavaScript

Behavior-Driven Development With Backbone.js

Behavior-Driven Development With React.js

Is this thing on? Testing JavaScript, 1, 2, 3.

https://github.com/davidjbeveridge/TDD-is-this-thing-on

Presented May 27, 2015 at the Colorado Springs JavaScript Meetup, this was the first version of my talk on TDD with JavaScript. I covered TDD as a practice, and then did some live code demonstrating TDD on a sample project, which was a proof-of-concept for a script loader that only executes scripts matching a known hash.

ActiveRecord Migrations

http://davidbeveridge.net/ActiveRecord-Migrations-Presentation

I originally presented this talk in 2012 to the Las Vegas Ruby Group. The group was making our way through “The Rails 3 Way”, and I presented on ActiveRecord Migrations. Much of the information for this talk was taken from Chapter 6, and opined in person.

Testimonials

I have been fortunate enough to work with some excellent coders, across my 20+ year career. And while I certainly place David in that category, I rank him higher, still, in communication, empathy, and ethics. Qualities that I always look for in professional software developers, but rarely find within a single individual. I would be honored to have David on any dev team I was part of.
David uses his deep technical expertise and experience to solve real world problems. He brings great insight to the table and shapes conversations toward productive action. We have relied on his advice for many years.
I became acquainted with David Beveridge at a time when his aptitude for development, especially in Javascript, could best be combined with his skill as a mentor to accelerate my development as an engineer. David was one of my first mentors as I first began my career as a developer and he excelled at making his years of experience accessible to me as a novice developer. As a fellow engineer, he could be trusted to consistently deliver on the most technically challenging parts of a project. Even in areas outside his direct expertise, he could be relied on to provide valuable technical discussion and debate. I can attest that David's skill at both leading frontend development, and up-leveling the engineers working with him would be desirable wherever he was employed.

Alex McArther
Software Engineer
Google

I had the pleasure of working with David in my first project at Originate, and in several others. He is a highly skilled full-stack developer with a deep knowledge of Javascript.
David is a strong proponent for testing, security and good software practices [...] it’s hard not to learn new things from him in these areas.