Michael Harrison
917.309.9139 / mh (@) michaelharrison (.) ws / College Park, MDhttp://www.michaelharrison.ws/weblog / @goodmike
SUMMARY & OBJECTIVE
I am a web developer. For all the failings of that term, it describes what I do. I build web applications. For 15 years I have implemented and managed online projects. And I've never been more excited about my work.
I am seeking contracting opportunities that take me to the leading edge of function, performance, and usability. I have a deep interest in test-driven development, data science, accessibility, application scalability, and functional programming. I am a Mac, *nix guy. I focus on three languages: Ruby, JavaScript, and Clojure. I am available for a week or year(s). Let's talk!
TECHNOLOGY EXPERIENCE
Ruby on Rails, jQuery, jQTouch, HTML, CSS, RSpec, Selenium, Postgresql, and git
- As part of a two-person team, I built a Ruby on Rails application for web browsers and mobile devices hosted at heroku's revolutionary cloud-based Ruby application service.
- The application's features include patient signup, online doctor's visit submission and doctor review, clinic management tools, visualization and diagnosis tools, task time-tracking, and PDF generation.
- The project makes heavy use of RSpec and Selenium to verify all features of the application; jQuery for Ajax interactivity, animations and form processing; jQTouch for display and behavior on Webkit-based mobile devices (including iPhone, Android, Blackberry, and WebOS); and git for collaborative development along several concurrent feature-based branches.
PHP, Prototype.js, HTML, CSS, MySQL
- I extended out-of-the-box ecommerce software with Ajax and JavaScript to produce more attractive, flexible, and responsive page interfaces for Blind Spot's products.
- I built a custom PHP/MySQL content management system for Blind Spot's artists, featured photos, and news items. I use JavaScript to build relational links between this content and the store's products.
Ruby on Rails, Prototype.js, HTML, CSS, RSpec, MySQL
- I designed and built a public site for Mr. Anagnos and a private clients-only site from which his students may track their grades and download custom tutoring and test practice documents
- The private site is built on Ruby on Rails, with prototype.js and RJS for asynchronous interaction, RSpec, and a MySQL database. It features administrator and student dashboards as well as interactive tables and charts for tracking grades against goals.
Ruby on Rails, Prototype.js, HTML, CSS, RSpec, MySQL
- I built a web-based lesson-planning system for teachers in Virginia's school districts.
- Lesson plan creation is closely integrated with Virginia's standards of learning: instructors can quickly build plans from common resources and associate them with standards and essential knowledge and practice areas; administrators can track progress across schools.
- The site uses Ruby on Rails, MySQL, prototype.js and RJS for significant AJAX client-server interaction, and RSpec to verify specified functions.
- The beta version was used in the Franklin City school system but was not ordered from Kollmann Carr, so development halted.
HTML, CSS, Perl CGI
- Because there is no substitute for high-pressure short-deadline web site production to test one's skills, I am pleased to have handled some of online search company Accoona's production of lead generation forms and portal websites for company Exchange Place.
- Working from comps, I marked up the HTML, coded JavaScript form validation and interface interactivity, and provided Perl/CGI scripts for preprossessing data.
HTML, CSS, PHP, Perl, Tomcat
- I set up a Linux development server running Apache web server, Perl, PHP, MySQL, and the Tomcat servlet container. The server now hosts sites for over 20 clients.
- I consolidated, updated, and in some cases rebuilt the web sites of Domani's family of art museum clients including the Association of Art Museum Directors (aamd.org) and the Whitney Museum of American Art (whitney.org). Both of these properties became PHP-based sites enhanced in places with content-management tools and consistent HTML/CSS interfaces.
- To build a maintainable apartment rental site for Mann Realty, I used PHP and MySQL to program MyNewApts.com with custom tools for previewing and publishing content.
- I crafted specifications including use cases, flowcharts, a database schema, and XML AJAX templates for custom handbag company Freddy and Ma's e-commerce site, including a Flash-based bag-configuration tool with which users can create their bag on the site: freddyandma.com.
- I planned and helped implement a web-based time-tracking system for Domani Studios. An AJAX-enhanced dashboard captures assignments and work session information and saves it in a MySQL database for time and resource reporting.
HTML, CSS, PHP, Perl, ASP, SQL Server
- For the Smithsonian institution I programmed XML data descriptions and Perl-scripted page-creation templates for a dynamic homepage banner and weekly newsletter using the Smithsonian's Teamsite Management system. The results: www.si.edu, www.si.edu/research/spotlight, and www.si.edu/opa/insideresearch2.
- For the NIH Small Business Office (SBO), I built a government-to-business application for distributing contract opportunities, and integrated it into the SBO's business-registration process, using ASP and SQL Server.
J2EE (Tomcat, Struts), HTML, CSS, JUnit, MySQL, Humble Pie
- To produce a proof-of-concept dating web site to attract investors and partners, I configured a Linux server and MySQL database and built a Java-based web application. Its features included updatable user profiles with photos, a compatibility search with ZIP-code-based distance calculation, profile visibility and blocking controls, and site-based tools to allow members to communicate without revealing personal information.
- Although the project did not progress beyond this proof of concept, I gained experience with topics in Java web technology including servlet containers, framework programming with Struts, object-relational persistence layers, unit-testing with Junit and HTTPunit, and server performance optimization.
- I also learned I didn't want to work with heavyweight technologies
XML, XSLT, HTML, CSS
- To build a relationship with the content management software company Roxen, Angel used Roxen's XML-based system as the platform for a corporate communications web site for Identrus LLC. As the developer on the project, I mastered XML/XSLT technology, designed the data structures for the site, and programmed dynamic HTML pages.
- To provide Statement One, LLC with a portable sales demonstration, I built a scaled-down version of Statement One's web-based portfolio management application with Roxen Internet Server and an Access DB on a PC laptop.
Perl
- Arena Networks sought to aggregate online communities and mine their members' content for marketing and advertising opportunities. I lead feature development of Arena's message board software. My responsibilities included tracking competitors and industry trends, analyzing customer feedback, and planning strategic product development. Unable to secure financing, Arena ceased operations in September 2000.
HTML, CSS, JavaScript, and a weird PHP-like scripting tool you've never heard of.
- I oversaw planning and development of an email and web-based collaboration application called globeclubs, which was built with Pervasive Software's Tango server-side scripting environment and Oracle database software. I also planned the clubs' topic hierarchy and coded data retrieval and display functions. Aggressively scheduled, the application launched on time. (On the Web Archive: globeclubs.theglobe.com)
- As theglobe.com's development team grew and its products matured, I sought to identify a set of best practices for application development that could better coordinate the work of our developers. I based my recommendations on the eXtreme Programming methodology. Although my recommendations were not adopted, I remain a believer in the value of close teamwork, code simplicity, unit testing, and refactoring.
MANAGEMENT EXPERIENCE
- As lead Project Manager for Domani's account with Starwood Hotels and Resorts, I managed the production and delivery of $2 million of creative materials.
- I managed the production of interactive Flash banners that simulate a pinball launcher to promote the Volkswagen GTI.
- To plan Domani's site redesign for Estée Lauder's new brand Rodan and Fields, I produced site maps and detailed page schematics outlining the function of the site for Domani's graphic designers and programmers (www.rodanandfields.com)
- I have also managed the production of dynamic web sites for Princeton Tec (princetontec.com), About Faces Day Spa (aboutfacesdayspa.com), and the Museum of Biblical Art (mobia.org).
- theglobe.com operated a portal site that integrated news and lifestyle features with the activity and content of its members. I planned and oversaw online promotions, interactive quizzes and contents, and daily content publication on the home page. (On the Web Archive: theglobe.com)
- I coordinated a team of designers, writers, and programmers in producing and maintaining a site for Classical Music fans. The site, www.classicalinsites.com, featured artist interviews, music reviews, educational content, and discussion forums. (On the Web Archive: www.classicalinsites.com)
- To facilitate regular workflow between design and programming teams, I developed asset-tracking and scheduling procedures for the production department.
- Seeking to exploit online community activity to build traffic and generate targeted e-commerce opportunities, I drafted plans for an expanded integrated community section that would make use of personalization and collaborative filtering
INTERESTS
User Groups and Conferences
- I chaired the Washington DC Clojure Study Group, which proudly counts two authors of upcoming Clojure books.
- I lead an online group taking the MIT OpenCourseWare class Structure and Interpretation of Computer Programs from September 2007 to May 2008 (we needed two semesters).
- I've been to both US incarnations of the fabulous JSConf JavaScript conference. You should attend too.
- I'm a member of the Northern Virginia and DC Ruby Users Groups, the Baltimore/DC JavaScript Users Meetup, and the Capital Area Clojure Users Meetup.
- Certificate in Object-Oriented Programming with the Java Programming Language. New York University School of Continuing and Professional Studies. 2002.
Speaking Appearances, Presentations
I'm on SpeakerRate.
- "The Dining Philosophers: Concurrency in Clojure" at DC Clojure Study Group, March 2009
- "Seven Things about Clojure in Seven Minutes" at RubyNation, June 2009
- "Lazy Sequences in Ruby 1.9" at DC Ruby Users Group, August 2009
- "Asynchronous Concurrency in Clojure" Capital Area Clojure Users Group, May 2010
Training
- Clojure training with Rich Hickey and Stuart Halloway, 2010, with the Pragmatic Studio.
- Advanced Ruby training with Chad Fowler and Dave Thomas, 2009, with the Pragmatic Studio.
- Ruby on Rails training with Chad Fowler, 2007, with the Pragmatic Studio.
Education
- Princeton University, 1995. BA Cultural Anthropology. Summa cum Laude, Phi Beta Kappa.
- Fluent in Spanish: I lived in Madrid, Spain from August to December 2001.
