Resume

Summary

Goal oriented web developer with 15 years of experience with HTML, CSS and JavaScript. I've spent the last year working for the TurboTax marketing team at Intuit, performing a variety of tasks including building an interactive comparison chart, a re-usable alert widget for messaging and a social sharing tool.

Before Intuit, I spent five years working very heavily with JavaScript and jQuery, building an MVC for e-commerce web applications as well as an administrative UI. The eight years prior were spent building conventional e-commerce web sites. Success working with a small group in a task-oriented environment. Skilled designer with an emphasis on user interface/experience. Strengths include communication, problem-solving, multitasking and working well with others.

Competencies

  • JavaScript
  • jQuery
  • Bootstrap
  • jQuery UI
  • MVC
  • e-commerce
  • HTML 5
  • CSS 3
  • Github
  • Perforce
  • Mustache/Handlebars
  • Node
  • Responsive Builds
  • Backbone
  • Restful API
  • Photoshop
  • IntelliJ
  • Illustrator
  • Web Design
  • Responsive Design
  • User Experience Design
  • oAuth
  • PHP
  • Elastic Search
  • Facebook API
  • MySQL
  • Google+ API
  • Highcharts
  • Agile/Scrum
  • Written Communication
  • Verbal Communication

Professional Experience

Intuit - Web Developer

San Diego, CA
06-01-2014 to Present
  • Build and maintain bower/shared components library in server and client-side Handlebars, JavaScript, HMTL5 and CSS.
  • Diagnose and fix bugs in proprietary EMS for TurboTax.com website.
  • Work in an Agile environment as most experienced developer on scrum team.
  • Scrum team 'merge czar'.

Professional Experience

Zoovy Inc - Sr. Web Developer

Carlsbad, CA
09-01-2001 to 06-01-2014
  • As is common in most start-ups, I filled many roles concurrently in the early days, tech support, product trainer, graphic designer and website builder.
  • Built templates for e-commerce storefronts to use and built dozens of custom e-commerce websites.
  • As my skills and product knowledge increased, I began working more closely with the development team to update/enhance the user interface and build new features into the core product.
  • In 2010, I started building a JavaScript MVC used for building e-commerce web-apps as well as the administrative UI for running the storefront (order and product management, shipping, coupons, etc).
  • Built responsive web-app storefronts using my MVC.

WebSideStory Inc - Multimedia Developer

Sorrento Valley, CA
06-1999 to 06-2001
  • Was initially hired as a technical support specialist, helping clients install the JavaScript code.
  • After six months, switched to the creative team as a multimedia designer, mostly creating training videos.
  • While on the creative team, also worked with the designers both learning design and converting designs to HTML.

Education

San Diego State University

San Diego, Ca
Spring 97 - Spring 99

Attended the School of Communication where I earned a BA in Communication with an emphasis in New Media Studies.

DeAnza Community College

Cupertino, Ca
Spring 94 - Fall 96

Earned an AA.

References

Professional and personal references are available and will be provided upon request.

Projects

anyCommerce/Zoovy MVC

Objective: To build a javascript framework capable of powering both the merchant's storefronts as well as our own user interface.
Status: Ongoing.

My responsibilities on the project included building the majority of the client-side library which used a RESTful API to acquire information (product detail, page content, cart, etc) returned as JSON and present that to the user by running it through a proprietary templating engine. I also worked closely with the back-end developer on strategy, naming conventions and testing.

The repository for the entire framework can be found here.

Cart editor Coupon editor Marketplace manager

Visegripped.com Football Pool

Objective: To build a functional 'weekly pick' based football pool as a web-app.
Status: In development

The primary purpose of the project is to learn backbone and underscore as well as brush up on my PHP and MySQL. I built a non-app version of this several years ago and ran it for 5 seasons. My intent is to re-start this as an invite-only service, allowing for members to create their own 'party' (equivalent to a 'league' in fantasy football) to run separate pools.

The app itself allows each member to choose a winner for each game every week. The pick for a game must submitted before the that game starts or the user takes it as a loss. The user with the most correct picks after the last game of the week is the winner.

Where is it now? As of 4/25/2014, Google authentication is implemented along with an 'account' page where users can enter some personal information such as username. The Ability to create and/or join a party is built. The 'schedule' interface for choosing pics is started. In the process of getting the 2014 schedule in, showing the game and weekly winners on the 'show picks' page.

<code />

SerializeJSON Plugin

Objective: To be able to serialize a form or other element containing inputs into a hash.

There were a few plugins out there already that were close to what I wanted, but nothing exactly right. In addition to being able to run this on any element type, I also wanted to be able to pass a selector to get just elements that met a certain criteria, such as having been edited. Plus, I needed the ability to serialize the form with checkboxes as booleans.

A working sample can be found here.

The javascript can be found here and a sample HTML file here.

Panel Widget

Objective: Easily build panels that could be opened/closed and maintain state.

This was built for the anyCommerce/Zoovy mvc, though the script below has been modified to work in any environment. It didn't take long after starting the administrative interface to realize I'd need a quick way to build stateful panels. I also wanted the means to be able to add additional buttons to the headers, next to toggle and close.

A working sample can be found here.

The javascript can be found here and a sample HTML file here.

Sticky Tabs

Objective: To provide the means for users to 'take' lists or tables of data with them as then navigate the app.

This was built for the anyCommerce/Zoovy mvc. This was built for cases where large data sets needed to be edited individually and rather than going back and forth in a list mode, the sticky tab approach saved a few clicks.

A working sample can be found here.

The javascript can be found here and a sample HTML file here.

Tab Widget

Objective: To build a non-id based tab script for use in a template environment and to maintain persistence through local storage and not changing the hash.

This was built for the anyCommerce/Zoovy mvc, though the script below has been modified to work in any environment. I found the jQuery UI tab script didn't play well with our app because it was very ID driven and my app would add multiple instances of a given template to the DOM at the same time. I use a lot of the same css as the jQuery UI tabs, however I modified the appearance a bit to have fewer lines (no container/border around the tabs themselves)

A working sample can be found here.

The javascript can be found here and a sample HTML file here.

Contact

Handy-Dandy Contact Form