Resume
Watertown, MA
cowboy plus resume at benalman dot com
http://benalman.com/
I am a professional software developer with over fifteen years’ experience, specializing in Open Source, process automation and web applications.
Focusing on all of the aspects and implications of the technologies that are used to create each project, I bring to any team a wealth of experience as well as a passion for creative problem solving, attention to detail, teamwork, learning, and pushing the limits of technology while still developing for a positive user experience.
Professional Experience
Foundation Medicine
Lead Software Engineer
2017 - Present
As a lead software engineer at Foundation Medicine, I’m responsible for leading a team of developers tasked with maintaining multiple web applications that match patients with rare or specific biomarkers to clinical trials through genomic sequencing and geolocation.
In addition to writing code, my responsibilities include architecting, documenting, mentoring, and working with stakeholders to develop features and functionality that help us best meet our partners’ needs.
Bocoup
Software Engineer
2010 - 2017
As a software engineer at Bocoup, I was responsible for building standards compliant web applications for internal and client use. In addition to architecting and programming web applications, my responsibilities also included API design, Open Source strategy, documentation and process automation / workflow tooling.
A substantial portion of my time at Bocoup was spent educating our clients and the public about JavaScript and programming best practices. I co-created our “Roost” education conference, and performed dozens of on-site and retail classes.
Boston.com
Senior Web Developer
2010
At Boston.com, I worked to improve our product’s architecture and performance. Additionally, I worked closely with editorial staff to deliver interactive content to sports-minded consumers of the site.
Peopleclick Authoria
Senior UI Developer
2010
As the lead user interface developer for the Authoria Talent Management Suite, a comprehensive web application used for human resources management and planning, I was responsible for designing, creating and maintaining internal JavaScript libraries and frameworks, as well as establishing internal best practices and documentation around HTML, CSS and JavaScript.
Pangea Media
Senior Front-End Developer
2008 - 2010
While I was initially hired at Pangea Media to redesign and create the Quibblo.com flash quiz widget, I ended up taking on more of a leadership role in the design and development of many of our products.
Shortly after being hired, I led the redesign of the Quibblo.com and Pangeamedia.com websites, created a JavaScript MySpace application framework that supported over 100 apps and 1.5 million users, and co-designed a highly generalized template-driven content management system that handled all of the company’s primary products.
Evoke Interaction (formerly Broadstreet)
Senior Web Developer
2002 - 2007
At Evoke Interaction, I built dynamic user experiences and data-driven websites for our clients. I created accessible, SEO-friendly websites that were dynamically rendered from XML data using the latest cross-browser CSS, HTML and JavaScript. In Flash, I created fluid animations synced to custom-edited streamed audio and rich web applications that dynamically loaded XML data, fonts and media.
In addition to my programming duties, I documented technical requirements and processes. For larger clients, I served as a Project Lead, consulting with project managers, creative directors, designers and the client to facilitate communication regarding technical issues, and ensuring that delivered technologies were consistent across multiple projects.
Cosmic Blender
Senior Web Developer
1999 - 2002
At Cosmic Blender, my focus was on creating media-rich interactive websites for our clients. While working there, I explored ways to streamline our development process. I also experimented with dynamically loading fonts and content via XML in Flash, which greatly simplified our development workflow.
Open Source
Grunt
Creator
2013 - 2016
When I released Grunt, an automation tool that I had written to help me maintain the JavaScript projects on which I was working, nothing like it existed. Since then, Grunt (aka “The JavaScript Task Runner”) has won the NET Awards 2014 Open Source Project of the Year, boasts over five thousand community-created plugins and has been downloaded over twenty million times. Its creation was responsible for starting an ongoing conversation about automation and process for JavaScript projects, and has been the inspiration for countless other build tools and automation systems.
Modern Web Deployment Workflow
Co-creator
2015 - 2016
This collection of Ansible playbooks has been designed to simplify deployment of a modern website or web app using Vagrant, Ubuntu, nginx and HTTP/HTTPS. Many tasks have been separated into distinct roles, and as much configuration as possible has been abstracted into external variables.
Dotfiles
Creator
2011 - Present
My dotfiles are more than just a set of bash scripts and aliases. They are a full customizable, complete OS X / Ubuntu configuration, powered by a single script that will not only bootstrap your system, but will also keep it up-to-date.
Modernizr
Contributor
2009
I collaborated with Paul Irish to optimize Modernizr v0.9, effectively creating v1.0 of the library. In doing so, we managed to shrink the library to about 42% of its original (minified) size, while improving performance and making the codebase more maintainable.
jQuery
Contributor
2008 - 2014
In addition to creating a large number of popular jQuery plugins, I also contributed numerous methods, bug fixes and unit tests to jQuery core. Additionally, I gave conference talks and published articles that explored code style and jQuery plugin development best practices.
Core Competencies
Professional
- Process automation and tooling
- Web application architecture and development
- Code generalization and reuse
- Expert-level knowledge of JavaScript and ES6
- Pedagogical approach to teaching concepts
- Technical documentation
Languages, Libraries, Tools
JavaScript, ES6, ES7, Ruby, JSON, YAML, HTML 5, CSS, Bash
Node.js, Npm, Grunt, Babel, JSHint, Eslint, Mocha, QUnit, Stylus, Sass, jQuery, Express, Underscore, Mustache, Markdown, React, Webpack, Browserify, RequireJS, Vagrant, Ansible, Git, Nginx
OS X, Ubuntu, Vim, Sublime Text
Formal Education
University of Massachusetts at Lowell
Music Performance, 1995 - 1997
Worcester Polytechnic Institute
Computer Science, 1993 - 1995