Generalist with interests in web and mobile development, AI/ML, hardware, distributed and embedded systems and operations infrastructure. Extensive experience as a software developer, manager and entrepreneur. Able to learn new technologies quickly, and work at all layers of the software stack.

Experience

September 2020 - May 2021
Senior Principal Architect
7Geese was acquired by Paycor in September 2020. I stayed on for 9 months to assist with integrating the 7Geese software into Paycor's platform, and to transfer knowledge about the 7Geese application. After the successful integration, I left for a "sabbatical", to recharge and learn new things.
    August 2014 - September 2020
    Senior Software Developer -> Director, Engineering -> CTO
    • Responsible for engineering team, technical direction and operation of product
    • Member of the executive leadership team, setting company strategy;
    • Developed goal-tracking and social performance management web application, using Python, Django, Javascript, GraphQL, React, Redux, etc..
    • Worked on deployment and operations processes in an AWS environment (using tools such as Terraform and AWS ElasticBeanstalk);
    • Coached engineering team members, conducted regular 1-on-1's and performance reviews, etc..;
    • Defined, iterated and improved on engineering team processes;
    • Contributed to product management/product strategy process;
    • Wrote (in Swift) and partially designed the products first native iOS app;
    March 2006 - August 2014
    Senior Developer -> Program Manager -> Engineering Manager
    • Managed engineering team, responsible for product development, releases and project implementation. Also contributed to overall company strategy and management;
    • Certified Agile scrum master, led sprint planning and retrospectives;
    • Designed, implemented and maintained HTML and javascript-based single page app for control and monitoring of software defined networking product. Also utilized LESS, require.js, Grunt and backbone.js;
    • Developed system for deploying scalability tests to AWS using Docker, Salt, git, syslog and rsync;
    • Designed, implemented and maintained REST-based API for product using Go and the Gorilla framework;
    • Extensive experience developing and debugging network software and communications at several layers (TCP, UDP, IP, Ethernet);
    • Implemented various other components of the product, such as Python language bindings, and various parts of the core infrastructure using C and C++;
    • Developed drivers for robotic sensors and actuators, and integrated TCP/IP module into embedded platform using C. Wrote initial network implementation for core product using C++, running on QNX;
    • Created many internal and external web applications, such as the software licensing system for the product, using Python and either Django or Flask;
    • Managed and maintained IT infrastructure for company of up to 20 people, including remote employees;
    • Designed, implemented and maintained graphical software design and debugging tools for core product offering, using Python and wxWidgets. Among other things, the tool was able to automatically generate C, C++, Java or Python code;
    • Designed, implemented and performed demonstrations to aid in the sales process;
    • Provided technical customer support, both remotely and on-site;
    • Met with clients to determine requirements, then implemented software to fulfill professional services contracts.
    AdmitFive Technologies
    January 2009 - January 2013
    Co-founder
    • Created a web-based event registration system for organizers of small events;
    • Integrated the site with an online payments processor to accept credit card payments;
    • Technology stack included Python, Django, SASS, jQuery;
    • Deployed, configured and hosted site on several virtualized servers running Linux, Apache and MySQL;
    • Met with potential clients, developed project plans, handled invoicing and customer service.
    Tophat Development
    January 2003 - January 2007
    Co-founder
    • Setup, co-located and maintained two FreeBSD based servers, hosting over 100 clients;
    • Designed and developed a database driven e-commerce website using PHP and MySQL;
    • Developed, planned and maintained many other websites using PHP and MySQL.
    Pivotal Corp
    January 2005 - August 2005
    Software Developer (Co-op)
    • Researched and developed a prototype Treemap visualization utility and integrated it into Pivotal's CRM product. Utilized C#, XSL, XML and SVG;
    • Wrote several data manipulation utilities, using C# and Perl;
    • Re-designed internal process documentation website;
    • Assisted with various implementation and troubleshooting tasks to support the sales team.
    Can-Auto Inspections
    June 2004 - August 2004
    Software Developer (Co-op)
    • Wrote several C++ applications to assist with day to day operations. These included a report conversion and formatting tool and an online data-mining tool;
    • Configured and maintained a suite of programs at offsite storage yard;
    • Wrote scripts for a Linux server to solve various problems;
    • Assisted with troubleshooting and fixing database problems.
    WebCT Inc
    May 2003 - December 2003
    Quality Assurance Specialist (Co-op)
    • Wrote and executed test cases for many aspects of an e-learning application;
    • Organized meetings and review sessions to improve the testing procedure;
    • Investigated customer issues to determine the source of problems.
    Burrard Technologies Corp.
    August 2000 - August 2001, May 2002 - August 2002
    Software Developer
    • Tested the hardware and software for an automated ticket dispensing machine. Implemented a web-based bug tracking system and trained team members in its use;
    • Designed and implemented Visual Basic software to automatically perform credit card authorization requests received from a network of automated ticket dispensing machines;
    • Worked in a team to enable wireless, remote connectivity for a network of ticket dispensing machines using wireless links and modems;
    • Designed and implemented a Visual Basic/XML based Quote/Work Order application on contract for a third party.

    Personal Projects

    CarIsNear
    • A web-based service to notify users of available Car2Go's in a specified area. Includes additional paid features such as automatically reserving a car when found;
    • Web UI implemented as a javascript single page app which talks to a Python-based RESTful backend;
    • Implemented using Python, backbone.js, handlebars, bootstrap, Flask, SQLAlchemy, Memcached, Twilio, Stripe, PostgreSQL and AWS;
    • Automated deployment on Ubuntu VPS using Fabric and git;
    • Native iPhone application currently in development.
    Baby Name Game
    • iPhone/iPad game allowing two prospective parents to vote on potential names for their baby. Each player is presented with a name on their device, and after each votes, the app reveals whether they're in agreement or not. After the game, users can view a list of names that they both liked;
    • Developed as a universal app in Objective-C using Xcode;
    • Backend written in Go, which manages websocket connections from clients and acts as a hub for communication between two players;
    • Automated deployment on Ubuntu VPS using Fabric and git.
    Drop2Mail
    • Simple web-app allowing a user to email a file from their Dropbox account;
    • Created because the Dropbox app for iOS is not able to do this;
    • Written in Python using Flask and the Dropbox API.
    Infrared receiver
    • Designed and built two iterations of an infrared receiver for a computer, to interface remote control to HTPC software;
    • First iteration utilized PIC chip, and software written in PIC assembly to analyze incoming signals and convert to a serial data stream which was sent to PC;
    • Second iteration was simplified to consist of USB to serial module with GPIO pins, and software running on PC to decode signals using LIRC.
    See https://github.com/tangerilli for additional open-source projects

    Education

    University of British Columbia
    2002-2006
    Bachelor of Applied Science, Computer Engineering
    University of Victoria
    2001-2002
    Completed first year engineering, transferred to UBC