Phil McLachlan
Staff Software Engineer at Achievers- Claim this Profile
Click to upgrade to our gold package
for the full feature experience.
Topline Score
Bio
Experience
-
Achievers
-
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
-
-
-
Caseware
-
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
-
-
-
Survalent
-
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
-
-
-
CORE Digital Pictures
-
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
-
-
-
Vizible Corporation
-
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
-
-
-
CORE Digital Pictures
-
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