CV - Hubert Figuière

e-mail: hub@figuiere.net
github: @hfiguiere
Updated: December 16th, 2016

Software Developer — Montréal, Canada

Employment

April 2016 - December 2016

Software Developer Lead, Clemex Technologies (Montréal, Canada)

Development of intelligent microscopy applications in HTML5 using ReactJS with a RESTful backend in Python 3 and deep learning. Streamlining the development process with continuous integration and testing using babel, Webpack, Karma, Jasmine, ESLint, Docker, TravisCI and Jenkins.

Debugging and porting serial driver code in C++ to Linux, and integration to a Python module.

ScrumMaster for a team of 6 people spread on two projects.

Languages: HTML5, JavaScript ES6, JSX, Python, Shell, C++.

October 2011 - March 2016

Software Engineer, Mozilla (remote)

Connected devices

As a project outsider, brought a hand to help, specifically dealing with low-hanging features and fixes.

Languages: Rust and JavaScript.

Firefox OS

Music application: improved the integration testing, helped with the new architecture by porting the integration test to the new code base; improved the metadata parser. Camera and Gallery: addressed issues related to camera file storage and saving metadata in JPEG. Polished the UI on the Gaia theme editor.

Development of performance tools in JavaScript, using NodeJS as a runtime, a WebDriver implementation (Marionette) and contribution to various the NPM modules needed.

Finalized the implementation of crash reporting for the platform.

Languages: C++, HTML5 and JavaScript.

Accessibility

Enabled as many people as possible to use web sites, even when those people's abilities are limited in some way. Focused on Firefox for Mac, specifically improved accessibility for VoiceOver.

Languages: C++ and Objective-C++.

August 2009 - October 2011

Software Engineer, Apple Canada (Vancouver, Canada)

iWork for iOS, Development Team

Worked on MS Office file format compatibility, as well as ePub export in iWork for iPad and iPhone. Also worked on iBooks textbooks support.

Language: Objective-C++.

February 2007 - February 2009

Software Engineer, Novell Canada (remote)

SLED (SUSE Linux Enterprise Desktop), Development Team

Bug fixes and feature implementation on the GNOME desktop for SLED 10 and upcoming versions. Maintenance of Firefox in SLED: bug evaluation and fixes, security updates. Update of the Firefox lockdown functionality needed for enterprise users for Firefox and SLED; packaging of various software components.

OpenOffice.org, Development Team

Development of the import filter for PowerPoint 2007 file format (Office OpenXML) into Impress; bug fixes in Impress. Joint work with SUN software engineering, presented at OOoCon 2007. Migration of the community hosting for Go-oo.org (Novell-sponsored project around OpenOffice.org).

Language: C++

November 2005 - February 2007

Software Developer, Xandros Corporation (Ottawa, Canada)

C++ programming using Qt3 on Linux. Redesigned and developed a photo application. Ported and maintained Debian packages. Designed and developed the alert module of the server management software.

Language: C++.

July 2004 - October 2005

Software Developer, Net Integration Technologies, Inc. (Montréal, Canada)

System and network programming in C++ and Perl on Linux and management of the Alpha QA team for the Linux-based server product Nitix (now known as IBM Lotus Foundations): redesigned the print server using CUPS ; ported the OS to IBM pSeries (OpenPower 720) ; helped in various other areas as needed.

Groupware client for Novell Evolution: various UI work and fixes for the ExchangeIt client for Novell Evolution 1.4 (Gtk+ in C++).

Languages: C++, Perl.

July 2003 - January 2004

Software Engineer, Freebox (Paris, France)

Linux Kernel development, including USB driver, i2c and ports to new architectures (different PowerPC board or new XScale CPU (ARM big-endian) on the DSLAM and the DSL modem. Improved the hardware test suite (written in Perl) for the DSLAM manufacturing and assisted hardware manufacturing in debugging problems on the test bench.

Languages: C, Perl

October 2002 - April 2003

Software Engineer, Apple Computer Europe (Paris, France)

iCal, Development Team

Rewrote the vCalendar importer for iCal 1.0.1 on MacOS X.

Language: Objective-C

January 2001 - February 2002

UNIX System Engineer, Sabre Inc. (Paris, France)

UNIX consultant to bring SUN servers running Solaris to production status within projects for customers in the Transportation and Travel field (railways and tour operator). Also local IT contact for the merger of Sabre Inc. into EDS.

Open Source

I regularly contribute to open-source projects.

Since September 2000

Core developer, AbiWord

Core team

Ported AbiWord to MacOS X (2002-2004).

Rebased the containers on a type-safe C++ template implementation and provided the means to progressively move to the standard C++ library and C++11.

Cleaning up of the Gtk+ UI interface code to no longer use deprecated calls. Brought back the Maemo Version (Nokia tablets) up to shape for Maemo 4.2. (2009)

Fixed bugs in the RTF importer and exporter code.

System administration of the development server.

Various speed analysis and improvements and bug fixes.

Languages: C++ and Objective-C++.

http://www.abisource.com/

Since 2014

no-flash

no-flash is a Firefox add-on to rewrite Flash video embed from YouTube and some others to use HTML5 video instead. The feature has since been reimplemented in Firefox 47 and Chrome 54.

Languages: JavaScript

https://github.com/hfiguiere/no-flash

2011 - 2013

OpenPhoto/ Trovebox

Implemented MySQL and local filesystem support for OpenPhoto, the open source package behind the Trovebox service.

Implemented better metadata support, improved geotagging, fixed bugs.

Language: PHP.

March 2009 - August 2009

Lead developer, Gnote

Manually translated the Tomboy source code from C# to C++, using Gtkmm and boost. Led to approximately 14,000 lines of C++ and a functional release within a month.

Language: C++

http://live.gnome.org/Gnote

September 2001 - 2007

Co-Maintainer, gphoto2

Core developer of the gphoto project, the leading digital camera support software for Linux and other UNIX systems.

Language: C.

http://www.gphoto.org/

Education

1995

DUT d'Informatique (Computer Science degree), IUT d'Orsay, France.

Computer Languages, Tools, Skills, etc.

Computer Languages

C/C++, JavaScript, Rust, Objective-C/Objective-C++, Python 3, Perl, HTML, XML, CSS, PHP, Bourne shell, SQL, etc.

Tools

GNU Tools (automake, gcc, emacs), git, Xcode, Subversion (SVN), Mercurial, CVS, Make, Debian and RPM packaging.

Skills

UNIX & network administration (UNIX production servers: ERP, sales force automation, customer support, source code management), IT management (system administration and setup for Linux and MacOS servers), development of a proxy based firewall, development of server automation software, driving and traffic simulator development.

API / Frameworks

POSIX, C++ standard library (aka STL), boost, Gtk+/GNOME, gtkmm, libxml2, Qt3, sqlite3, macOS (Cocoa) and iOS UIKit.

Networking

TCP/IP v4, FTP, NNTP, SMTP, POP3, IMAP, HTTP, NFS, IGMP, etc.