Resume

Paul Osman
110 Brunswick Ave., Upper Unit
Toronto, ON M5S 2M2

Experience

Team Lead, API & Integrations

FreshBooks | 2009 – Present

I oversee all technical aspects of the FreshBooks API and related development. I help make sure that FreshBooks is an ideal integration platform for 3rd party developers. I also promote 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 continue to support 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 includes non-technical tasks such as coaching developers, community building, providing technical support for 3rd party developers, and writing technical documentation and blog posts.

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

Software Developer

Perforce Software | 2007 – 2009

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 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.

Freelance Software Developer

Various Clients | 2005 – 2007

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.

Software Developer

Royal College of Surgeons in Ireland | 2004 – 2005

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.

Software Programmer / Analyst

University of Toronto | 2002 – 2004

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.

Software Developer

Bell Canada | 1999 – 2003

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

Ontario Advanced Diploma in Computer Science Technology Program

Sheridan College – Oakville, ON | 2001 – 2004

Public Speaking

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 2003. Toronto, ON. July 2003.

Technical Summary

Programming Languages: PHP, Python, Ruby, Perl, Java, C, C++

Frameworks: Zend Framework, Ruby on Rails, Pylons, Django

Source Configuration Management: Perforce, Git, Subversion, CVS

RDBMS: MySQL, PostgreSQL

HTTP Servers: Apache, Lighttpd, Nginx

Operating Systems: Linux, FreeBSD, Mac OS X, Windows

Misc: xUnit, Continuous Integration, Ant