David Beveridge

davidjbeveridge@gmail.com
(970) 315-2387
github.com/davidjbeveridge

Summary

  • Team leader with knowledge of software engineering principles and an eye toward quality, scalability, and developer productivity.
  • Eight years experience building web applications, doing full-stack development with Ruby on Rails, Node.js, JavaScript MV*, ES6/ES7/ES20*, CoffeeScript, PHP, Scala/Play.
  • Significant experience building front-end and single-page applications using semantic HTML, CSS3, JavaScript (React.js, Redux, Backbone.js, etc), and more
  • Depth of knowledge in JavaScript (both front-end and back-end), HTML, CSS, and Software Engineering.
  • Breadth of knowledge across several stacks, build systems, roles, engineering practices, and project management.

Work Experience

Originate, (2012-2016)

www.originate.com

JavaScript Architect

  • Trained and mentored devlopers with a focus JavaScript best-practices and software engineering principles.
  • Maintained an active development role on multiple projects, including tech lead roles.
  • Defined code-review process and best practices
  • Stressed the use of test-driven development for all JavaScript code (front-end and back-end), and provided related training and mentoring.
  • Led code review across all projects, focusing on JavaScript best-practices and test-driven development.

Senior Software Engineer

  • Developed multiple web applications across the whole stack, in both lead and support roles.
  • Large percentage of work focused on front-end JavaScript with MV* frameworks like React.js and Backbone.js.
  • Used Test-Driven Development, code reviews, and constant refactoring to keep the codebase clean and maintainable, and keep all developers familiar with codebase.
  • Projects included rapid prototyping, greenfield development work, upgrades, work with legacy software, and rescue operations.
  • Deployment and DevOps work for multiple projects including work with Debian, Ubuntu, Apache, Passenger, MySQL, PostgreSQL, MongoDB, Redis, and others.

Keywords: JavaScript, ES6, ES7, ES2015, ES2016, Ruby, Rails, Sinatra, Grape.rb, Node.js, Express.js, React.js, Redux, Flux, Backbone.js, Spine.js, Underscore.js, jQuery, Telerik KendoUI, CoffeeScript, Sass, LESSCSS, Stylus, Bootstrap, Responsive Design, Haml, Jade, Slim, HTML5, Markdown, PHP, Python, Scala, Play, TDD, Code Review, Legacy Software, Refactoring, Mobile-first, Git, GitHub

Card Gnome, Inc. (2010-2012)

www.cardgnome.com

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

Senior Ruby on Rails Developer

  • Instituted Behavior-Driven Development in order to improve communication between team members, automate the acceptance process, and improve product quality.
  • Led team of four, developing an eCommerce application.
  • Documented development processes, including tool installation, environment setup, version control usage & flow, and testing process.
  • Coached other team members on object-oriented design, code maintainability, version control, testing, and programming skills, i.e., JavaScript, Ruby.
  • Created web-to-print system, including a robust visual editor (implemented in JavaScript), and Ruby back-end that would render cards as a PDF, create thumbnails, and send proofs to printer.
  • Provided technical support for customers and the artist community.
  • Documented development practices and installation.
  • Automated common development tasks: webserver & worker process, management, database control, logging, remote consoles, deployment.

Keywords: Ruby, Rails, JavaScript, Spine.js, Sass, XHTML, CSS, DevOps

StudioDBC (2008-2010)

(no link)

StudioDBC was a web consultancy I co-founded, now defunkt.

Web developer

  • Worked directly with multiple small-business clients to deliver brand-driven web presence, eCommerce solutions, and miscellaneous technical solutions.
  • Interfaced directly with clients and designer to develop specifications and acceptance criteria.
  • Engineered web sites at every level—data models, business logic, rich user interface, and interaction.
  • Created web solutions using PHP/MySQL, HTML, CSS, JavaScript, WordPress, Codeigniter, and Magento
  • Developed custom, brand-specific WordPress themes for clients
  • Developed several WordPress plugins to manage content, display slideshows, embed video, transform podcast feeds into xspf feeds, and manage reproducible page state with AJAX requests
  • Used both Progressive Enhancement and Graceful Degradation to deliver excellent user experience on multiple browsers including multiple versions of IE, Firefox, Chrome, Safari, Mobile.
  • Administered LAMP webservers, including configuration, security, and deployment.

Keywords: JavaScript, CSS, XHTML, PHP, WordPress, CodeIgniter, Magento, MySQL, jQuery

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.

Download PDF