Sherwood Park, Alberta, Canada
Over 20 years of experience in Software Engineering. I am passionate about designing new systems and bringing them to life. I live for the challenges in coding and system design that have no quick or easy answers. I also dabble for fun in machine learning and cryptography.
Researched and developed an application to help copywriters, journalists, academics and bloggers turn research into writing. - Architected the application to be horizontally scalable with the ability to auto scale based on resource monitoring - Implemented a full duplex communication system that still supported a horizontally scalable infrastructure - Built an Operational Transformation system that enabled simultaneous modifications to a document from different sources without data loss - Invented a new algorithm that would determine longest common sub-sequence of elements shared within two arrays. The algorithm was optimized for the needs of the application and proved to be as fast as dynamic programming while using a fraction of the resources. - Developed a JsonML diff algorithm that generated operations describing the changes between two documents similar to how a human would describe them
Researched and developed a content sharing application that helps keep people organized. - Designed and currently implementing an end-to-end encryption system that will allow users to interact with the application without anybody, including people at Packs, being able to access their data - Designed a scalable server architecture and built the application to support it - Built a custom file uploader that would utilize multiple servers to speed up the upload process - Applied Lean Startup techniques to SCRUM process to iterate faster and determine focus - Conducted user interviews to define problem space
Worked on a team to deliver a billing and entitlement system that could be used by all offerings within Intuit. - Joined a cross-team collaboration effort to plan the structure of external REST APIs - Drove adoption of Mule as the ESB to handle communication between systems and to support external APIs - Designed the platform for running web services that were used internally by the team - Built the internal entitlement system to be used by QuickBooks Online - Presented new solutions and concepts at three separate "Demo Days" where innovative developers where asked to showcase their ideas to inspire others
Managed a team of developers in charge of global marketing and e-commerce solutions (excluding the US). - Designed a system that would allow new country specific marketing sites to be created in less than an hour where previously it would take several days - Designed an embeddable widget solution for QuickBooks Online, which removed resource dependencies - Introduced the concept of test automation to the team and drove its implementation - Drove a multi-team tech refresh project, which enabled the team to use modern libraries and practices when delivering solutions - Led an initiative to improve monitoring, which resulted in greater uptime, performance improvements and a decrease in errors - Successfully transitioned the team to follow SCRUM processes - Arranged team training to improve the overall skillset in areas such as development processes and new technologies - Led a team of developers as Intuit Canada transitioned to Intuit Global - Restructured the team and codebase to better support the growing global need - Helped merge the team with a larger development organization within Intuit
Worked on platforms supporting the marketing and e-commerce needs of Intuit Canada and UK. - Took the initiative to rescue a failing project, which resulted in designing and developing a Headless CMS system that fundamentally changed how marketing sites were built by the team - Restructured and modified the codebase to make the marketing and e-commerce sites more resilient to failures in dependent systems as well as unexpected spikes in traffic - Architected and implemented an active/active failover system for the e-commerce sites as part of a larger high availability initiative - Collaborated with a U.S. team to create a self-serve support platform that would support both US and global needs. - Drove development best practices within the team
Developed a desktop application, the supporting server side code, and the communication protocol used to control and communicate with a smart lock solution.