SUMMARY OF QUALIFICATIONS

  • 27 years of experience
  • Effective communicator who enjoys working in a team environment
  • A quick study who understands new technology quickly
  • Ability to communicate with people of various disciplines due to my varied experience
  • A passion for solving problems
  • understanding of how components work together in a system
  • Understanding and passion for TDD/BDD and Agile principals
  • Experience designing systems utilizing Gang of Four (GoF), MVC and J2EE patterns
  • Experience with various frameworks (Grails/Groovy, Rails, Spring, Hibernate...)
  • Many years working with HTML, DHTML and Javascript
  • RIA programming utilizing ZK, GWT and ExtJS for the front-end and NodeJS, Grails or Java back-end
  • An understanding of the difference between knowing programming and knowing a programming language
  • A knack for getting stalled projects moving again

PROFESSIONAL EXPERIENCE

Apr 2010-Aug 2011SCL ElementsUI Software Development Manager (Can2Go)

Leading the UI front and back-end teams developing a UI application for an embedded building automation product using Javascript. When I arrived the UI was to bug-ridden to release. Within only a few months, I re-architected the product, reworked their development procedures and brought the product to successful deployment winning an award for best software in the building automation industry.

Despite having no QA people, we provided releases with only superficial bugs thanks to good design and strict test-driven development maintaining 80+% code coverage.

I introduced the teams to and trained them in:

  • MVC programming
  • OO design patterns
  • TDD/BDD development
  • Code coverage tools
  • Writing modular applications
  • Continuous integration
  • Code re-usability
  • Writing properly decoupled code

I also developed:

  • Android based touch-screen control/monitoring units
  • Application to allow testing of firmware/hardware in the field
  • A data collection system to track development progress and trending
  • A proxy server using node.js to speed up development
  • Bundle scripts to package code for deployment on the embedded platform

Other activities:

  • Converted the SCM from subversion to git
  • Code review of all code before going into the central repo

2009-2010ShopmediaSenior Groovy/Grails Developer

Part of a team of developers for a social networking website. When I arrived the development effort was stalled with no direction after almost 2 years of development. The code was a gigantic mess of bug-ridden spaghetti code. Response times were between 20 seconds to three minutes.

Within 3 months, I had turned development around, re-architected the site, educated their current developers in OO software development and patterns and had them releasing working features with sub 1 second response times.

The way I accomplished this was to use standard programming patterns that leveraged existing code while providing a smooth path to transition to the new style. Each module could be converted one at a time on the back-end while providing the same interface to the view code. In short, no changes to the view, no large reworking of code necessary to keep the site working.

2009Ben EleventhSenior Web Developer

Worked with a small team on a RoR based intranet product. When I arrived the development effort was stalled after over two years of development. The code was bug-ridden with few tests and no CI. I set up a CI server and introduced the team to test driven development and common design patterns. I also reworked the CSS for the front-end which was a mess and was preventing them from releasing the product. The product was released in a few months and remains in operation today.

2007-2008Conde Nast PublishingSenior Java/Javascript Developer

Part of a team working on the brides.com website. This is the website for Conde Nast's three bridal magazines.

  • Developed and documented new framework and best practices for future development
  • Developed and documented new Javascript core library and best practices for future development
  • Upgraded several sections of the site

2006-2007FlugPo LtdJava/HTML/Javascript

Developer for a social network website (flugpo.com) written in Java using JSP/JSTL, Hibernate, Spring and Struts running on Tomcat with MySQL back-end.

When I arrived I discovered they had not even thought about load testing the site before launch. Using jmeter, I discovered that the site could not handle a load at all. Because of my work, they avoided a disastrous launch and enjoyed instead a successful launch.

included:

  • Writing code for all layers (MVC)
  • Performance testing, evaluation and troubleshooting
  • Wrote servlet filter to perform filtering of pages for questionable language
  • CSS design for the site using table-less design
  • Some graphic design

2006DatawayJava/HTML/CSS

Designed/wrote a custom web-based database system to track customers and devices in Java using JSP/JSTL, AJAX, Hibernate, RMI and Struts framework, running on Tomcat with MySQL back-end

1998-Bulldog Information ServicesPresident and lead developer

Developed new video conferencing protocol for use with Sony and Polycom videoconferencing equipment. Worked with Sony engineers to solve common industry problems. Developed code for a product using the protocol on a embedded Linux platform in C. Sold the above units to various through various videoconferencing distributors in several countries.

Worked with various companies to troubleshoot problems on an on-call basis. Mostly solving problems that their internal teams could not resolve. Customers included fortune 500 companies like Bank of America, Wells Fargo, General Motors and Sony.

1984-1998Various programming and networking experience

Highlights:

  • Started my career working for a time-sharing company programming in 68000 assembly language for Alpha Micro mini-computers
  • Wrote code to integrate Alpha Micro computers to gas pumps for a card-lock system
  • Setup a BBS to help track bail skips for law enforcement
  • Wrote code for email system on Linux systems
  • Wrote code to help BMW dealership track inventory
  • On a team writing software to help manage doctors offices and fill out forms
  • On a team working on accounting system for small businesses