Paul Osman


paulosman.me
8 Trenton Terrace
Toronto, Ontario
Canada M6K 1C6
647 986 8649 (cell)

Experience

  • October 2011 - Present

    Senior Software Engineer

    Krux Digital

    I just started, but I expect I'll be solving problems that involve software.

  • May 2010 - September 2011

    Web Development Lead

    Mozilla Foundation

    I led a small team of developers in all web development tasks related to the Mozilla Foundation. I developed Drumbeat.org, a Django application (Source) designed to allow people to promote projects related to Mozilla's core mission and values. The Drumbeat.org source code was also forked to build P2PU.org, an online resource for peer learning.

    I also led the development of an application designed to be a home for all innovation projects at Mozilla (Staging URL, Source). The application allows administrative users to create projects, and projects can add links with RSS or Atom feeds which will be updated and aggregated in real-time.

  • June 2009 - May 2010

    Team Lead, API & Integrations

    FreshBooks

    I oversaw all technical aspects of the FreshBooks API and related development. I helped make sure that FreshBooks was an ideal integration platform for 3rd party developers. I also promoted the use of Open Web standards whenever applicable. Some notable accomplishments:

    • I worked with the Google Apps team to have FreshBooks included as a launch partner for the Google Apps Marketplace. This involved implementing OpenID as a Relying Party.
    • I implemented support for OAuth 1.0a as an authorization method for the FreshBooks API. I also supported developers writing clients that use OAuth.
    • I designed and implemented a Webhooks implementation that allows users to specify HTTP callbacks to receive notifications about events in their FreshBooks account.

    My role also included non-technical tasks such as coaching developers, community building, providing technical support for 3rd party developers, and writing technical documentation and blog posts.

    I participated in core application development regularly, working with the application team to ensure that functionality necessary from an integrations perspective was implemented.

  • December 2007 - April 2009

    Software Developer

    Perforce Software

    I was the primary author of P4PHP, a PHP extension written in C++ that provides PHP user-space scripts access to the Perforce API. P4PHP was released with Perforce 2009.2. I also participated in early stage development of a commercial WCMS product called Chronicle.

    I assisted in the development and maintenance of Perforce's Knowledge Base software. The software is a WCMS written in PHP that stores content in a Perforce server. The system supports themes, modules and other extension points as well as workflow, personalization and other features common to sophisticated WCMS products.

    I was also responsible for building and maintaining my team's Continuous Integration server as well as a Xen based test farm of virtual servers running Selenium RC.

  • October 2005 - December 2007

    Software Developer

    Freelance / Contract

    I developed software for a variety of clients including the Department of Economics at the University of Toronto (Paper), Book City, Everywheremaps.com, The Federation of Metro Tenants' Associations and Perforce Software. Most of the software I wrote was in Python, PHP and Java.

  • April 2004 - April 2005

    Software Developer

    Royal College of Surgeons in Ireland

    I worked on contract in the Department of Clinical Pharmacology, collaborating on the development of a life sciences workflow system called Polyp. Polyp allows users to design computational workflows and queue them on clusters of Win32 and Linux hosts. Polyp consists of components written in Java and a Python daemon built using the Twisted Framework.

  • December 2002 - April 2004

    Software Programmer / Analyst

    University of Toronto

    My core project at the Banting & Best Department of Medical Research was the development of a statistical clustering library called statclust. The library is written in C and provides implementations of hierarchical and k-means clustering algorithms. I wrote extensions making the library accessible from Python and Perl scripts. I also assisted a group of co-op students in the development of a web-based interface to statclust. The interface is written in Python and uses the Python Imaging Library to produce visualizations of clustered data.

  • December 1999 - April 2004

    Software Developer

    Bell Canada

    As a member of the Operations Expertise Centre at Bell Canada, I developed and maintained a variety of internal business applications, mostly written in PHP, Perl and Visual Basic 6.0.

Education

  • 2001 - 2004

    Ontario Advanced Diploma in Computer Science Technology Program

    Sheridan College

Public Speaking

  • Introduction to OAuth — Presented an introduction to the OAuth protocol at a local technology meetup. June 2010. (slides).
  • Open Web Toronto — Organized and presented at inaugural meeting for Open Web TO, an interest group for people interested in or actively developing with Open Web standards. March 2010.
  • Quality Assurance in Web Development — Presentation given to three offices (Victoria, London and San Francisco) at Perforce Software. November 2008.
  • Multithreaded and Concurrent Programming — Tutorial given to developers at the Royal College of Surgeons in Ireland and University College Dublin. January 2005.
  • Automating Bioinformatics Workflows — Presentation of pipeline workflow automation system delivered at the Royal College of Surgeons in Ireland. September 2004.
  • Extending Python: Writing Extensions for the Python Interpreter — Tutorial presented as part of the Toronto Bioinformatics Developers Network (BDN) lecture series. July 2003.

Technical Summary