PHP Developer in Calgary, AB, Canada
Systems Architect | Lead Software Engineer2016 - 2017Veri
- Designed the application and structure of the REST API that serves Veri’s product (a mobile video chat app); built using Node.js and a microservice-ready approach.
- Designed and deployed a scalable back-end infrastructure on AWS and Docker Cloud.
- Set up a fully an automated continuous delivery pipeline using Docker Cloud.
- Mentored the engineering team on development patterns and best practices.
- Maintained a technical roadmap of feature development and app releases in coordination with product owners, engineers, and external mobile development team.
Senior Software Engineer | Lead Software Engineer2011 - 2016Hootsuite
Technologies: PHP, REST APIs, Streaming APIs, OAuth, Microservices, MySQL, MongoDB, React.js, Scala, Python, Ansible, Vagrant, EC2, Payment Processing, Billing, Social Advertising
- Led and managed the social advertising team, specifically the development.
- Designed a billing and payments solution with anti-fraud measures for the ads product.
- Integrated and scaled a real-time tweet archiving service using Twitter’s streaming APIs. Added self-healing mechanisms that detect and reopen degraded connections.
- Designed a centralized solution for account authentication—allowing for multiple identity providers and protocols, including Twitter OAuth and SAML.
- Created a REST API design that included the addition of OAuth authentication to the mobile API.
- Researched and implemented a service that converts HTML into PDF documents to study the impact of partitioning and converting a shared code base into services.
- Developed a suite of self-contained PHP libraries used by multiple internal clients.
- Collaborated on the automation of infrastructure provisioning.
- Developed an app for the Hootsuite app directory in my spare time to integrate the European equivalent of LinkedIn and XING into Hootsuite.
Freelance Web Developer2006 - 2011Freelance
Technologies: PHP, MySQL, Linux, EC2, Payment Processing, osCommerce, jQuery
- Maintained an eCommerce system.
- Improved the order fulfillment process and inventory management for multiple warehouses.
- Added forecasting for purchase orders, fraud detection checks, and UX improvements for conversion optimization.
- Developed an application that assists in managing document lifecycles.
Web Developer2006 - 2007Invoke Company
Technologies: PHP, MySQL, jQuery, VB.NET, FFmpeg, Linux, S3
- Developed and maintained several client sites and tools with unique requirements, including a native Visual Basic application to convert and upload videos.
- Collaborated on the development of an online music video platform.
- Constructed online video contest websites that eventually evolved into a product for managing online contests.
Software Developer | Network Administrator2005 - 2006Ohio State University Medical Center
Technologies: PHP, .NET, Windows Server, Active Directory, Linux, MS Access
- Developed native and web tools for clinical trial patient management using the .NET framework and PHP.
- Maintained the department's local network comprised of Windows servers and desktop computers.
- Configured and built desktop PCs from individually ordered parts.
- Provided IT support for the staff.
Co-op Student Worker2001 - 2004Fraunhofer Institute for Security in IT
Technologies: Information Security, Web Technologies
- Researched and developed software for the security assessments of IT infrastructures.
- REST API Design and Architecture (Other amazing things)
In a recent position at a new startup, I designed a mobile REST API in Node.js and Restify that proved to be performant, reliable, and easy-to-maintain. The codebase is distinctively separated into individual services and the requests are processed based on the router model.
The application is bundled into a Docker container and deployed onto multiple AWS EC2 instances via Docker Cloud in a continuous delivery fashion.
Performance and uptime were outstanding which was a great validation of the architecture.
- Refactoring of a High-volume, Real-time Tweet-monitoring Service (Other amazing things)
A real-time tweet monitoring service that allowed users to track and archive tweets containing individual keywords was having trouble keeping up with volume after being acquired by Hootsuite.
I rewrote the keyword matching algorithm to mimic the keyword filtering behavior of Twitter’s streaming API, which allowed for reverse matching with user-defined keywords. The new algorithm outperformed the original one by several orders of magnitude thanks to achieving constant-time lookups on its larger data set.
While implementing these improvements, I also added a number of self-healing mechanisms that detect and reestablish degraded connections, resulting in very high uptime.
Libraries/APIsNode.js, REST APIs, React, Restify, FFmpeg
ParadigmsAgile Software Development, Microservices, Scrum
StorageMySQL, NoSQL, Memcached, MongoDB, Docker Cloud, AWS RDS, AWS S3
FrameworksReact Native, Swagger, OAuth 2
PlatformsApache2, Docker, AWS Lambda, AWS EC2, Amazon Web Services (AWS), osCommerce
OtherSaaS, eCommerce, RESTful Microservices, Integration Testing, AWS Cloud Architecture
ToolsNginx, Ansible, AWS Push Notification Service (AWS SNS), AWS ELB, Amazon Virtual Private Cloud (VPC)
- Bachelor of Science degree in Information Technology2001 - 2004Baden-Württemberg Cooperative State University - Mannheim, Germany