Gentle Reader: Just because you've found my resume doesn't mean that I am looking for a job. In fact, I'm quite happy where I am. If you think you want to contact me about potential employment, please use the contact form on this website. Please specify some actual details about the job (ie, who it's for) and PLEASE DO NOT COLD CALL ME.

Colin Mitchell

Qualifications

Professional Experience

Programmer, BandZoogle

Montreal, QC. July 2006 - Present

Member of team maintaining and advancing custom CMS which powers websites for musicians and several other niche industries. We host over 10,000 websites. The system is written in ColdFusion and uses Linux, Apache, MySQL, postfix and EC2/S3. Our team is distributed over several time-zones, and we all work remotely.

Projects:

  • Custom Asset Generation for templates
  • MP3 encoding
  • Paypal integration for user stores
  • Custom stats using Google Analytics
  • API Interface with Zimbra for mail/webmail
  • Ported system from Windows/IIS to Linux/Apache
  • Server Maintenance
  • Facebook and Twitter integration
  • Flash-based headers
  • Switching from static file generation to a dynamic system using mod_rewrite

Technology:

  • Apache
  • Linux
  • MySQL
  • Postfix
  • Ruby/Merb/Rails
  • Java
  • Amazon EC2 and S3
  • Nagios/Munin
  • Flash/AS3

Programmer, Participatory Culture Foundation

Worcester, MA. April 2005 - June 2006

Programmed several websites and open source tools enabling video producers to publish, promote, and distribute their content.

VideoBomb: Main programmer for a community site to bring people together and share popular videos on the web. I did the majority of object modeling and database design for the site and wrote the bulk of the code, using Ruby on Rails as the framework and MySQL as the database. I wrote code to generate RSS feeds, designed and developed an algorithm to determine how videos reach the front page of the site, wrote the tagging system, and built a large amount of the rest of the site. I also implemented an interface with the Democracy channel guide, and wrote code to allow videos to be added from the Democracy video player.

 

Broadcast Machine: Developed an open source software package for videocasting, creating video channels, and distributing content. I took over the project from another developer that wasn't able to proceed beyond the early stages of development and implemented a large amount of the functionality. Wrote code to automatically generate RSS feeds which contain publishing information, licensing rights, length of the video, etc. I worked to ensure that Broadcast Machine worked on as many platforms as possible while being very simple to install and manage. I communicated with users of the software to resolve bugs, implement requested features, and help with installation questions. Broadcast Machine is written in PHP and can use MySQL or a flat-file system as a database. My code for this project runs on as many different webservers/platforms as possible, and is designed to be very easy for the user. My work also involved:

  • Implementing transparent MySQL/flat-file support
  • Writing support for custom, user-generated themes
  • Writing unit tests to ensure high code quality
  • Developing an XML-RPC interface for 3rd party applications
 

Conversate: Built an online discussion tool in PHP and MySQL. I took over the project from its initial developer and continued adding/refining features before it was launched. I implemented RSS feeds, 'bookmarklets' allowing users to start conversations about an interesting URL, a system for starting conversations via email, improved buddy list management, etc. I also tuned database queries, wrote user interface code using DHTML and JavaScript, and optimized code to make the site as efficient as possible.

 

Programmer, SoftPower

Old Saybrook, CT. 2003 - 2005

Softpower writes business management software for the outdoor power equipment industry. I was the lead programmer on a project to completely rewrite the flagship software product, which handles point-of-sale, inventory management, purchasing, work orders/repairs, etc. I designed all aspects of the system, including a SQL Server database, an object model in C#, and a Windows user interface. I met with dealers and users of the old software to determine a list of requirements, get input on design, and get feedback on beta versions of the software. I implemented a web service interface between dealers and manufacturers to handle registration of new hardware, warranty claim submission, parts inquiries, and purchase orders. Other work included:

  • Barcode support - reading in UPC labels, custom manufacturer labels, etc, to speed data entry for users. Also implemented support for label printers so that dealers could print their own barcodes and use them to sell/manage equipment.
  • Reporting system using Access and Crystal Reports, which allowed for creation of custom reports by dealers
  • Designed and implemented the database, object model, user interface
  • Wrote a patch system to make it easy for dealers to manage periodic database updates
  • Wrote a basic installer which would check for prerequisites, install them, manage the database installation, etc.

Programmer, FleetMobility

Worcester, MA. January - December 2002

I designed and implemented a C++ application for the Palm OS used by drivers at trucking companies, which provides real-time GPS location data sent via SMS messaging. I wrote code to allow drivers to track time spent driving according to federal requirements, track trip data, starting/ending odometers, manifests, tolls/expenses, etc. I also wrote a more general tractor/trailer logistics system for a GPS/SMS unit called the Trim Trac. This system is written is C# and uses SQL Server, and integrates with a Java application which processes incoming/outgoing SMS messages. Other aspects of my work included:

  • Report generation/Data processing using MS Access and Crystal Reports
  • Synchronization of data from Palms to SQL Server
  • Integration of all data in SQL Server
  • Website using C#/ASP.NET for real-time tracking and configuration of units
  • A C#/MapPoint desktop application for tracking vehicles

Senior Technologist, WGBH Local Online

Boston, MA. April 2000 - January 2002

Technical lead for http://www.wgbh.org/ during two complete rebuilds of the website. I helped to determine needs, communicated with people throughout the organization to define goals for the website, served as liaison to the programming firm that built the site, and participated in the coding of individual elements of the site. Helped to specify a design for a content management system used to generate content for the website, and developed several portions of the CMS. Built a search engine which indexes content from the site to return results to users, as well as allowing the editorial staff to rank some results higher when needed. I integrated the website with several external sources of data, including TV schedules, the pledge system/member database, and external news sites. I also supported the editorial and design staff that produces all of the content for the site, as well as building special websites on a regular basis, such as a database of local candidates and voting districts for Massachusetts during the 2000 election, which was the only database of its sort at the time.

Senior Programmer, 5Points.Net

Chatham, NY. October 1998 - April 2000

Was the primary programmer at 5points.net, a web hosting and design company. Developed and implemented programs and Web sites for a variety of clients. Assisted with the maintenance of servers, installation of software packages, and ensured high reliability for all of the Web sites we managed. Development tools included MySQL, Perl, Minivend, C, HTML, Java and Javascript. Example Web sites: http://www.webcopies.com/, http://www.kripalu.org/, http://www.terezinmusic.org/. Note: All of these websites have been updated since I developed them.

Senior Developer, PowerAdz

Troy, NY. December 1997 - October 1998

Worked on the websites PowerAdz.com and CarCast.com. Developed programs that involve generating HTML for websites using information stored in databases, which is put together using a customized template system. Worked primarily in ColdFusion and Microsoft SQL/Microsoft Access.

Other Experience

Vice-Chairman, International Model United Nations Association

March 1999 - March 2003

IMUNA is the non-profit corporation that oversees two Model UN Conferences along with several other educational projects. My role was to improve our Internet presence and to work on the Classroom To Conference project. The position also involved choosing the leadership of both conferences each year, approving their budgets, and participating in the long-term decision making process for IMUNA.

Game Programming

Ongoing

Game development for handheld devices and PCs. Completed projects include the card game Pitch for the Palm OS and a word game for the Palm called Dog Gone It.

Skills

Education