Software Development Engineer
2016 - 2018Amazon Alexa- Architected the boundary API for the Alexa Communications library in the Alexa Mobile Android application.
- Coordinated integration efforts between the Alexa Communications team, Alexa Mobile team, and the Platform Service team.
- Implemented core Calling and Messaging functionality for mobile platforms.
- Developed video calling functionality on the Echo Show and Echo Spot family of Alexa devices.
Technologies: Embedded Development, Analytics, Objective-C, Swift, TypeScript, JavaScript, Java, React Native, iOS, AndroidMobile Developer
2015 - 2016Ciphr.io (MBLSFT)- Trained a team of three remote developers on BB10 Cascades and implemented the Ciphr.io suite of applications for BB10.
- Extracted the crypto module from the Android app for reuse in a SMTP bridge for CiphrMail using DropWizard.
- Ported new features implemented on BB10 edition of Ciphr to Android to maintain feature parity.
- Implemented back-end changes to the Ciphr microservices to support new features and improve security of the system.
Technologies: Analytics, Node.js, GoLand, Qt, C++, Java, Cryptography, BlackBerry, AndroidFull-stack Senior Developer Consultant
2013 - 2015Canadian Internet Registration Authority (CIRA)- Implemented security and reliability improvements in the core .ca domain registry system.
- Ported the existing registry platform to JBoss and PostgreSQL from WebLogic and Oracle for a new hosted registry product targeting gTLDs and ccTLDs.
- Integrated keycloak into a generic registry product for a single sign-on user federation and access control.
- Participated in a core design process on a registry product to define functionality and technology stacks.
- Implemented multi-tenant database modifications and services middleware to allow for SaaS deployment of a generic registry product.
Technologies: JavaScript, Keycloak, JBoss, PostgreSQL, WebLogic, Oracle, Java EESole Founder, Lead Developer
2011 - 2014Bear is Gaming- Created a game engine, physics engine, and particle engine for a side scrolling 2D space adventure game in DirectX for Windows Phone.
- Implemented REST-based leader boards deployed to Azure and integrated into the application.
- Created a social board game application loosely based on Settlers of Catan that supported cross-platform real-time and push-based multiplayer for Windows Phone, Android, and BlackBerry 10. Achieved over 10,000 downloads on Windows Phone.
- Created Azure web services and databases to support the board game, including account registration, match making, and global game state management.
Technologies: Azure, RESTful Services, DirectX, OpenGL, BlackBerry, Windows Phone, AndroidSenior Consultant
2013 - 2013Flick Software- Developed and integrated between Bluetooth OBD-II adapters and an Android application to track the fuel economy, speed, and odometer reading of vehicle fleets that was cross referenced with a GPS breadcrumb.
- Created a REST API on Azure to post GPS and vehicle data and store it for display in an extension to the existing web application.
- Integrated with Google Maps to display near real-time (max 5 minute delay) tracking of each vehicle's position.
- Used D3.js to create charting of vehicle statistics, showing average speed, fuel economy, and distance traveled for each vehicle in the fleet.
Technologies: Google Maps API, REST, D3.js, ASP, C#, Azure, Bluetooth, AndroidSenior Technical Consultant
2011 - 2013Macadamian Technologies- Worked as lead developer on LinkedIn and Twitter social networking applications for BlackBerry 10 using QML and C++.
- Worked as lead developer and architect on BlackBerry Conference Applications written in responsive HTML5 and JavaScript targeted at legacy BBOS, Playbook, and BB10 devices.
- Created an OData integration framework for BB10 applications to allow for two-way binding against remote REST APIs.
- Developed an early proof-of-concept application for BlackBerry Cascades alpha SDK that demonstrated how to integrate QML and OpenGL into the same UI. Presented the application during BlackBerry Jam 2012 Developer Keynote.
- Created a BB10 UX rapid prototype in Flash that was used to gather user research feedback on the future direction of the BB10 home screen and app store.
- Developed several UX enhancements to Salesforce for BB10 application.
- Helped rewrite the middleware and web application tiers for the CIRA .ca registry to support higher reliability and scalability.
Technologies: Flash, Oracle, Java, JavaScript, QML, C++, BlackBerryTechnical Project Lead
2010 - 2011BlackBerry- Ensured the smooth integration of Java space applications for Torch 9850/9860 devices.
- Troubleshot known integration problems and provided solutions to the appropriate teams to maintain project velocity.
- Served as primary code reviewer for critical changes to project to reduce risk that incoming changes could break functionality.
- Participated in corporate growth activities by being a technical interviewer at career fairs and for co-op placements.
Technologies: C, Java, BlackBerryEngineering Support Developer
2008 - 2010Mxi Technologies- Provided critical development support for production clients.
- Analyzed performance and improvement activities in the database and service layers of the application. Personally reduced run time of several critical jobs by an order of magnitude or better.
- Implemented full stack slices for new features in the maintenix application, including the data model, business logic, and application UI.
- Developed an installation workflow to allow for customization of maintenix and plugins to reduce setup overhead when deploying the maintenix solution.
Technologies: InstallAnywhere, JavaScript, JBoss, WebLogic, Oracle, Java EESoftware Developer
2007 - 2008Zip.ca- Worked as a core full-stack developer on the Zip.ca website, providing a Netflix-like service within Canada. Built using ASP.NET on top of Microsoft SQL Server and IIS.
- Created internal tools to track lead conversion which integrated with WebTrends funnel analysis and incoming ad tracking.
- Built a dynamic email generation application that integrated with StrongMail to power the NHL@Zip partnership weekly newsletter.
- Worked with an outside consulting team to integrate improvements to the SEO rankings of the Zip.ca products.
- Performed analysis on performance issues and implemented fixes to improve site responsiveness and uptime.
Technologies: StrongMail, Web Analytics, Microsoft SQL Server, IIS, Transact-SQL, JavaScript, VB, C#, ASP.NETSoftware Developer
2006 - 2007Pronexus, Inc.- Created an engineering prototype as a proof of concept for an Eclipse-based version of the VBVoice IVR plugin.
- Created new features for existing Visual Studio-based VBVoice IVR development plugin.
- Built a new version of a Wise-based installer for VBVoice updates.
- Moved the team from Visual Source Safe to SVN for source control.
Technologies: Wise Installer, VB, C#, C, Java, Plugins, Visual Studio SDK, Eclipse RCP