Michael Harrison
goodmike200 (@) gmail (.) com / Madison, WIhttp://www.michaelharrison.ws/weblog / @goodmike
SUMMARY & OBJECTIVE
I am an entrepreneurial web developer. I build web applications for smart companies and for my own projects. For 20 years I have implemented and managed online projects. And I've never been more excited about my work.
I am deeply interested in testing, data science, accessibility, and functional programming. I am a Mac, *nix user. I focus on Ruby and JavaScript though I've recently been getting excited about Elixir and Elm.
I am not currently looking for new contracts.
TECHNOLOGY EXPERIENCE
Ruby on Rails, Coffeescript, React JS, HTML5, Postgresql
Our client Mountain Rose Herbs is a large online retailer. I maintain and extend their storefront.
Ruby on Rails, Angular JS, Karma and Protractor for client-side testing, C#
The kofunction web application is a general-purpose simulation engine that configures and runs computational models and analyzes the results.
Backbone.js, StackMob, NoSQL, HTML5, Sinatra
- Alta Ipsum is an online tutoring and organization web application for students.
- The first incarnation of the application targeted web browsers and smartphones with an HTML5 app built on top of StackMob's noSQL datastore and application servers.
Pairing with Bendyworks developers, I helped extend a large Ruby and Backbone.js service composed of several applications communicating via Ajax and server-side APIs.
Ruby on Rails, RSpec, ExtJS, HTML, MySQL
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 cloud-based Ruby application service.
Ruby on Rails, Prototype.js, HTML, CSS, RSpec, MySQL
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.
HTML, CSS, PHP, Perl, Tomcat
HTML, CSS, PHP, Perl, ASP, 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.
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).
- 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
- "Composing Asynchronous Services with Aleph" at DC Clojure Study Group, October 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.