Phil McLachlan

Staff Software Engineer at Achievers
  • Claim this Profile
Contact Information
us****@****om
(386) 825-5501
Location
Toronto, Ontario, Canada, CA

Topline Score

Topline score feature will be out soon.

Bio

Generated by
Topline AI

You need to have a working account to view this content.
You need to have a working account to view this content.

Experience

    • Canada
    • Software Development
    • 500 - 600 Employee
    • Staff Software Engineer
      • Nov 2021 - Present

      - design microservices subdomains, including the preparation of design documents. - all the responsibilities listed below as Senior Software Engineer - Technical Lead since January 2023

    • Senior Software Engineer
      • Dec 2017 - Oct 2021

      - full stack development of employee recognition SaaS software using React micro-frontends, PHP, MySQL, LAMP, SOA, GraphQL, REST, YAML, and JavaScript in an Agile SCRUM and Kanban environment - since January 2020, back end development of microservices using Python, GRPC, GCP, Docker and Kubernetes

    • Canada
    • Software Development
    • 300 - 400 Employee
    • Software Developer, Analytics
      • Sep 2016 - Nov 2017

      - code client front end web software for accounting using Java GWT and Git in an Agile SCRUM and Kanban environment - migrate Big Query Legacy SQL to Big Query Standard SQL using C#

    • Software Developer
      • Oct 2012 - Sep 2016

      - performed client assessments for software bugs, corrupt files, and crash dumps - coded features and bug fixes in C++, MFC, COM, and JavaScript for desktop accounting software

    • Software Development
    • 100 - 200 Employee
    • Software Developer
      • Feb 2011 - Oct 2012

      - coded components for a map-based client for the smart-grid power industry using C#, .Net, WPF, and XAML - allowed users to monitor, control, graph, and annotate electrical components such as breakers, switches, and transformers - coded components for a map-based client for the smart-grid power industry using C#, .Net, WPF, and XAML - allowed users to monitor, control, graph, and annotate electrical components such as breakers, switches, and transformers

  • Colibri Technologies
    • Toronto, Ontario
    • Senior Software Developer
      • Jul 2010 - Nov 2010

      - wrote requirements and designed documents - implemented ultra-sound heart catheter image-guided surgery software in C++ and MFC - wrote requirements and designed documents - implemented ultra-sound heart catheter image-guided surgery software in C++ and MFC

    • Canada
    • Animation and Post-production
    • 1 - 100 Employee
    • Software Developer
      • Jan 2010 - Mar 2010

      - implemented and debugged a 3D software application to morph a human face into a hominid face - unwrapped 3D hominid scans into a 2D cylindrical flattening, and perform other data preparations - created viewport pipelining to support arbitrary face attributes, including hominid transformations - implemented and debugged a 3D software application to morph a human face into a hominid face - unwrapped 3D hominid scans into a 2D cylindrical flattening, and perform other data preparations - created viewport pipelining to support arbitrary face attributes, including hominid transformations

  • BlogReviewsPlus.com
    • Toronto, Ontario
    • Software Developer
      • Jan 2009 - Jun 2009

      - designed, implemented and debugged PHP, HTML and mySQL modules for a website that pays bloggers to place ads in their blogs - designed, implemented and debugged PHP, HTML and mySQL modules for a website that pays bloggers to place ads in their blogs

    • Software Development
    • 1 - 100 Employee
    • Senior Software Developer
      • Aug 2005 - Dec 2008

      - researched and prototyped various technologies for a C++ 3D browser plugin - designed, implemented, debugged, and code inspected Firefox-based 3D Internet browser using JavaScript, XML, CSS, and SQL - designed, implemented, and debugged a C++ XPCOM 3D browser Plugin using Boost signals and slots - created an XMLHttpRequest object that allowed cross-site mash-ups in AJAX - participated in an Agile methodology, including daily SCRUMs - researched and prototyped various technologies for a C++ 3D browser plugin - designed, implemented, debugged, and code inspected Firefox-based 3D Internet browser using JavaScript, XML, CSS, and SQL - designed, implemented, and debugged a C++ XPCOM 3D browser Plugin using Boost signals and slots - created an XMLHttpRequest object that allowed cross-site mash-ups in AJAX - participated in an Agile methodology, including daily SCRUMs

    • Canada
    • Animation and Post-production
    • 1 - 100 Employee
    • Software Developer
      • Mar 2001 - Jul 2005

      www.aprilage.com - acted as a lead software developer with a self-managed team of three developers for a face aging software application - built a complex artificial intelligence (AI) system from the ground up - used UML, C++, Qt, and Boost to design, implement, and unit test a system architecture and individual modules for 3D face aging engine - investigate research papers on the topics of facial aging, 3D face modeling, computer graphics, pattern recognition, and digital… Show more www.aprilage.com - acted as a lead software developer with a self-managed team of three developers for a face aging software application - built a complex artificial intelligence (AI) system from the ground up - used UML, C++, Qt, and Boost to design, implement, and unit test a system architecture and individual modules for 3D face aging engine - investigate research papers on the topics of facial aging, 3D face modeling, computer graphics, pattern recognition, and digital imaging - gathered face aging software requirements from cranio-facial surgeons, dental surgeons, orthodontists, a forensic artist, education industry and the entertainment industry - enhanced and maintained time and knowledge management tools using PHP and mySQL - designed and implemented a hiring process, and conducted telephone and in-house interviews - designed and implemented procedures for design and code reviews - maintained our code base to be cross platform with Windows and Linux Show less www.aprilage.com - acted as a lead software developer with a self-managed team of three developers for a face aging software application - built a complex artificial intelligence (AI) system from the ground up - used UML, C++, Qt, and Boost to design, implement, and unit test a system architecture and individual modules for 3D face aging engine - investigate research papers on the topics of facial aging, 3D face modeling, computer graphics, pattern recognition, and digital… Show more www.aprilage.com - acted as a lead software developer with a self-managed team of three developers for a face aging software application - built a complex artificial intelligence (AI) system from the ground up - used UML, C++, Qt, and Boost to design, implement, and unit test a system architecture and individual modules for 3D face aging engine - investigate research papers on the topics of facial aging, 3D face modeling, computer graphics, pattern recognition, and digital imaging - gathered face aging software requirements from cranio-facial surgeons, dental surgeons, orthodontists, a forensic artist, education industry and the entertainment industry - enhanced and maintained time and knowledge management tools using PHP and mySQL - designed and implemented a hiring process, and conducted telephone and in-house interviews - designed and implemented procedures for design and code reviews - maintained our code base to be cross platform with Windows and Linux Show less

    • Software Developer
      • Jun 1998 - Feb 2001

      - actively and visibly promoted the work of others in a positive manner - assisted, mentored, and trained a team of seven in software development processes, product knowledge, software debugging, and interview techniques - interfaced with external clients, the test team, and the hardware group to prevent and resolve problems in a timely manner - wrote software requirements documents, UML design documents, test documents, C++ code, code inspection reports, and test result documents for… Show more - actively and visibly promoted the work of others in a positive manner - assisted, mentored, and trained a team of seven in software development processes, product knowledge, software debugging, and interview techniques - interfaced with external clients, the test team, and the hardware group to prevent and resolve problems in a timely manner - wrote software requirements documents, UML design documents, test documents, C++ code, code inspection reports, and test result documents for various software modules, including the Geometric Model Service module of the fluoroscopy-based image-guided surgery application, the Navigate module of the Tomoguide intraoperative CT scanner image-guided surgery application, and the three-dimensional Segmentation and Reconstruction module of the core image-guided surgery application - prepared documentation to ISO 9001 and FDA standards - designed and implemented prototype application components for image-to-patient Registration, Configuration Service, Error Reporting, and Test Harness modules in a C++ COM-based application framework for image-guided surgery - proctored coding tests, designed a hiring process, conducted telephone interviews and conducted in-house technical interviews for full-time employees, contractors and co-op students - wrote code to interface with hardware, such as a surgical microscope and various other surgical tools. - used Boost smart pointers for memory allocation and deallocation Show less - actively and visibly promoted the work of others in a positive manner - assisted, mentored, and trained a team of seven in software development processes, product knowledge, software debugging, and interview techniques - interfaced with external clients, the test team, and the hardware group to prevent and resolve problems in a timely manner - wrote software requirements documents, UML design documents, test documents, C++ code, code inspection reports, and test result documents for… Show more - actively and visibly promoted the work of others in a positive manner - assisted, mentored, and trained a team of seven in software development processes, product knowledge, software debugging, and interview techniques - interfaced with external clients, the test team, and the hardware group to prevent and resolve problems in a timely manner - wrote software requirements documents, UML design documents, test documents, C++ code, code inspection reports, and test result documents for various software modules, including the Geometric Model Service module of the fluoroscopy-based image-guided surgery application, the Navigate module of the Tomoguide intraoperative CT scanner image-guided surgery application, and the three-dimensional Segmentation and Reconstruction module of the core image-guided surgery application - prepared documentation to ISO 9001 and FDA standards - designed and implemented prototype application components for image-to-patient Registration, Configuration Service, Error Reporting, and Test Harness modules in a C++ COM-based application framework for image-guided surgery - proctored coding tests, designed a hiring process, conducted telephone interviews and conducted in-house technical interviews for full-time employees, contractors and co-op students - wrote code to interface with hardware, such as a surgical microscope and various other surgical tools. - used Boost smart pointers for memory allocation and deallocation Show less

    • Consultant
      • May 1996 - Jun 1998

      - provided technical consultation on new and existing software systems to business clients within the bank - participated in the overall technical design of a reusable multi-threaded transaction-driven OS/2 Internet server - designed, implemented, unit tested, and debugged C++ components for the OS/2 Internet server - tested, debugged, maintained, and enhanced MS-DOS based financial legacy systems written in object-oriented C++ - implemented graphical user interface components and… Show more - provided technical consultation on new and existing software systems to business clients within the bank - participated in the overall technical design of a reusable multi-threaded transaction-driven OS/2 Internet server - designed, implemented, unit tested, and debugged C++ components for the OS/2 Internet server - tested, debugged, maintained, and enhanced MS-DOS based financial legacy systems written in object-oriented C++ - implemented graphical user interface components and data processing modules in VB for a real estate management system Show less - provided technical consultation on new and existing software systems to business clients within the bank - participated in the overall technical design of a reusable multi-threaded transaction-driven OS/2 Internet server - designed, implemented, unit tested, and debugged C++ components for the OS/2 Internet server - tested, debugged, maintained, and enhanced MS-DOS based financial legacy systems written in object-oriented C++ - implemented graphical user interface components and… Show more - provided technical consultation on new and existing software systems to business clients within the bank - participated in the overall technical design of a reusable multi-threaded transaction-driven OS/2 Internet server - designed, implemented, unit tested, and debugged C++ components for the OS/2 Internet server - tested, debugged, maintained, and enhanced MS-DOS based financial legacy systems written in object-oriented C++ - implemented graphical user interface components and data processing modules in VB for a real estate management system Show less

Education

  • Wilfrid Laurier University
    Honours Bachelor of Science, Computing and Computer Electronics
    1992 - 1996

Community

You need to have a working account to view this content. Click here to join now