Peter Ritchie

Software Engineer

Canada32 yrs 7 mos experience
Highly Stable

Key Highlights

  • Expert in software architecture and distributed systems.
  • Proven track record in Agile project management.
  • Accomplished author and speaker in technology.
Stackforce AI infers this person is a Software Architect specializing in Fintech and Cybersecurity with extensive experience in Agile methodologies.

Contact

Skills

Core Skills

Healthcare IntegrationCloud ComputingSoftware ArchitectureAgile ManagementMobile Application DevelopmentSolution ArchitectureSecurity Software DevelopmentEnterprise Software DevelopmentSoftware DevelopmentSystem AnalysisTelecommunications

Other Skills

AWS Comprehend MedicalSMART on FHIRMedication Error PreventionFHIRMortgage Origination PlatformPublic-Facing ApplicationsAgile DevelopmentClient-Server ApplicationsWindows Phone AppsWindows 8 AppsWindows Phone DevelopmentWindows 8 DevelopmentSecurity MiddlewareC#TLS

About

Recognized leader in software development, accomplished technologist, author, and speaker. Proven track record with architecting and implementing distributed systems with agile teams. Specialties include architecture review, custom software development, process review, mentoring, and training: Software Development Management, Agile Design, Agile Management, Software Patterns, Mentoring, Object-Oriented Design, C#, Client/Server, .NET, client applications, server services, distributed systems, multithreading, parallel programming, middleware, Windows, Windows Services, problem solving, challenges, and guidance.

Experience

32 yrs 7 mos
Total Experience
3 yrs 1 mo
Average Tenure
--
Current Experience

Afterman software

Sr. Software Architect

Dec 2022Present · 3 yrs 4 mos · Remote

Headspring, part of accenture

Principal Consultant

Mar 2022Dec 2022 · 9 mos

  • Worked with team to deliver a SMART on FHIR app that integrated with AWS Comprehend Medical and First Databank to prevent medication errors.
AWS Comprehend MedicalSMART on FHIRMedication Error PreventionHealthcare IntegrationCloud Computing

Quicken loans

2 roles

Platform Strategist

Oct 2019Jan 2022 · 2 yrs 3 mos

  • Involved in the startup of the platform strategy team. Designed and architected a public-facing mortgage origination platform (Mortgage as a Service) to connect financial institution loan officers and their home buyers with Rocket Mortgage technologies.
Mortgage Origination PlatformPublic-Facing ApplicationsAgile DevelopmentSoftware ArchitectureAgile Management

Software Architect

Mar 2015Oct 2019 · 4 yrs 7 mos

  • - Chosen amongst hundreds of employees for a Best Direction award in 2017 for my work providing architectural guidance to many teams

Private company

Consultant

Feb 2014Apr 2014 · 2 mos · Ottawa

  • Conceiving, designing, creating, implementing, testing, and deploying 8 Windows Phone 8 apps and 8 Windows 8 apps. Apps included apps like Psychedelic Coaster, Anti-telemarketer soundboard, Effective Blogger, Buffer, and Bitly.
Windows Phone AppsWindows 8 AppsMobile Application Development

Clear measure, inc.

Software Development Consultant

May 2013Mar 2015 · 1 yr 10 mos · Telecommute

Codemash

Speaker

Jan 2013Jan 2013 · 0 mo · Sandusky OH

  • The Evolution of Asynchronous Programming on .NET
  • Everything you wanted the know about asynchronous programming in .NET, but were afraid to ask. Multithreaded programming is hard. the latest version of Visual Studio includes language additions to C# and VB to make it much easier to write asynchronous code (the async and await keywords). .NET has had numerous ways to implement asynchonous and lenghty operations over the years. This session details some of these techniques, their benefits and their drawbacks. This session also details the progression of these techniques leading up to async/await in an effort to better understand the new syntax as well as better understand how to migrate existing asynchronous code to the new syntax. As well, this session allows you to increase your expertise with several advanced language features that the new syntax and existing patterns build on, like lamdas, anonymous methods, closures, etc.
  • Advanced Unit Testing Design and How it Applies to Stakeholders
  • Automated testing provides a way for developers to validate a certain level of quality. But, automated testing provides much, much more than that. Automated tests form the basis of many types of documentation, if you let them. This session details how you can build on your automated testing successes by detailing how organize and name your test classes and test methods to make your tests work for you. Your tests can be the reference documentation for your internal APIs. Tests can validate code but they can also validate requirements and acceptance criteria. When tests are well organized, they can be used to round-trip requirements and acceptance criteria to give stakeholders full round-trip validation by generating human-readable documentation based on certain tests. This session also details ways to reflect certain types of tests to document how tests are validating requirements and acceptance criteria.

Wavefront workshop

Speaker

Nov 2012Nov 2012 · 0 mo · Ottawa

  • Code Sharing between Windows Phone and Windows 8 with MVVM
  • Peter taught various techniques of sharing code between Windows 8 and Windows Phone 8 applications with a particular focus on Model-View-ViewModel. Techniques included shared source files, compiler constants, Portable Class Libraries, partial classes, Model/View, data-binding, commanding, etc.

Ottawa code camp

Speaker

Apr 2012Apr 2012 · 0 mo · Ottawa, Canada Area

  • Presented to 75 minute sessions.
  • "Advanced Unit Testing Design"
  • Automated testing provides a way for developers to validate a certain level of quality. But, automated testing provides much, much more than that. Automated tests form the basis of many types of documentation, if you let them.
  • This session details how you can organize and name your test classes and test methods to make your tests work for you. Your tests can be the reference documentation for your internal APS. Tests can validate code but they can also validate requirements and acceptance criteria. When tests are well organized, they can be used to round-trip requirements and acceptance criteria to give stakeholders full round-trip validation by generating human-readable documentation based on certain tests. This session also details ways to reflect certain types of tests to document how tests are validating requirements and acceptance criteria.
  • "Visual C#/Visual Basic: Becoming a Guru with Existing Features"
  • This session details some of the evolution of the C#/VB syntax. This session serves as an overview of various language syntax like lambdas, anonymous methods and closures. Included are examples of how asynchronous programming has evolved in .NET since Microsoft .NET Framework 1.0. Along with a brief introduction to the Task Parallel Library, this session serves as quick refresher on key language syntax. Dev 11 builds on the language features that come before it, this session helps attendees start using the new languages features of Dev 11 and start programming asynchronously as soon as Dev 11 is available.

Packt publishing

Author

Mar 2012Aug 2012 · 5 mos · Ottawa

  • Peter wrote Visual Studio 2010 Best Practices http://bit.ly/Px43Pw
Security MiddlewareAgile DevelopmentSolution ArchitectureSecurity Software Development

Prairie it pro & dev con - west

Speaker

Mar 2012Mar 2012 · 0 mo · Calgary, Canada Area

  • Presented two 75 minute sessions.
  • "Advanced Unit Testing Design - It's Not Just About TestClass1. TestComponentX"
  • Automated testing provides a way for developers to validate a certain level of quality. But, automated testing provides much, much more than that. Automated tests form the basis of many types of documentation, if you let them.
  • This session details how you can organize and name your test classes and test methods to make your tests work for you. Your tests can be the reference documentation for your internal APS. Tests can validate code but they can also validate requirements and acceptance criteria. When tests are well organized, they can be used to round-trip requirements and acceptance criteria to give stakeholders full round-trip validation by generating human-readable documentation based on certain tests. This session also details ways to reflect certain types of tests to document how tests are validating requirements and acceptance criteria.
  • "Life after the Death of Moore’s Law"
  • Moore’s Law states that transistor density doubles every two years. This translates to CPU speed doubling roughly every two years. This fortunate trend meant software developers could improve the speed of their software simply by waiting two years. Sadly, this trend has drastically slowed. To increase CPU power manufacturers are turning to increasing the number of processors, increasing the number of cores, or increasing the number of threads. So, what’s a software designer to do?
  • The answer is the parallelization of work or horizontal scalability. This session details how programmers and designers can write and design software to take advantage of the trend towards the multi-processor power increase. Concepts include: multithreading, thread synchronization and locking, distributed processing, message-oriented architecture, and asynchronous operations. Examples of parallelization will be shown with technologies like .NET threads, Task Parallel Library, Asynchronous CTP.

Ottawa code camp

Speaker

Apr 2011Apr 2011 · 0 mo · Ottawa, ON

  • Intro to NoSQL
  • “NOSQL” or non-relational databases have gotten a lot of focus in the past little while. Despite the implication of the name, it doesn’t mean relational databases are generally bad or should be banned. This session covers what “NOSQL” really means to designing data storage, how it relates to relational databases and how to take a NOSQL approach to architecture and design that improves and applications design, scalability, and separation of concerns. Learn what kinds of non-relational database they are and where non-relational databases best fit, how to fit them into typical architectures, an architecture to benefit from non-relational.
Enterprise Application DevelopmentMiddleware ComponentsSoftware ArchitectureEnterprise Software Development

Canada deposit insurance corporation

Contract - Senior Software Architect

Aug 2010Jun 2011 · 10 mos · Ottawa, Canada Area

  • Peter helped lead a team of developers and business analysts through the re-development of an enterprise application to manage customer and account information related to failure and acquisition of financial institutions insured by CDIC. The application was a distributed application with communications between nodes facilitated by middleware components like a message broker. The following technologies were used on the project:
  • Rabbit MQ
  • MSMQ
  • Visual C# 2010
  • Team Foundation Server 2010
  • TeamCity
  • Windows Services
  • SQL Server 2008

Prairie devcon

Speaker

Jun 2010Jun 2010 · 0 mo

  • Dependency Injection
  • When and when not to use "Best" Practices
  • NoSQL

Packt publishing

Author

Jan 2010Jul 2010 · 6 mos

  • Wrote Refactoring with Visual Studio 2010

Microsoft techdays 2009

Track co-chair

Aug 2009Dec 2009 · 4 mos · Across Canada

  • co-chaired Software Fundamentals track. Helped organize speakers, helped define vision for track, helped develop content for track. Track included:
  • S-O-L-I-D : The five OO principles that will change your life forever
  • Refactoring for Fun and Profit
  • Going from 0 to 100 dollars an hour with the .NET you never knew
  • Layers, the secret language of architects

Mobilekore

Contractor

Jan 2009Jan 2013 · 4 yrs

Passport canada

Contract - Sr. System Analyst

Jan 2009Jan 2009 · 0 mo · Ottawa

  • Peter worked with various teams at Passport Canada in analyzing, designing, and implementing the SICMS project.
  • Reviewed, provided feedback and recommendations on design documents created by third-parties.
  • Worked with stakeholders and business analysts to analyze and clarify requirements
  • Worked within a Rational Unified Process (RUP) environment
  • Reviewed and provided feedback and recommendations on internal use case and design documents, as well as develop use case and design documents.
  • Developed and used UML modeling tools such as MS Visio and Rational Software Modeler
  • Developed .NET-based WCF-base Web Services as well as provided .NET software development mentoring to a team of developers

Stackoverflow

User

Jan 2008Jan 2012 · 4 yrs

  • Top 2% overall
  • Top 10% for c#, .net, multithreading, winforms, visual-studio-2010, c#-4.0 task-parallel-library async-await backgroundworker .net-4.5
  • Top 20% for windows, visual-studio, unit-testing, windows-phone-7, sockets, azure, asynchronous, visual-studio-2012, resharper
  • http://stackoverflow.com/users/5620/peter-ritchie

Mentum

Contract - Senior Software Designer

Dec 2007May 2008 · 5 mos · Ottawa

  • Peter worked with the development team for Mentum Planet. Mentum Planet is a tool for wireless operators, integrators and equipment vendors assess, manage and improve the performance of the wireless coverage and capacity of their network. Mentum Planet is a MapInfo hosted application written in Visual C#, Visual C++ and Delphi. Peter worked primarily on components written in Visual C#.
  • The feature team that Peter was member of was an Agile project. Peter’s main task was designing and implementing new features in Visual C# using Agile design.
  • Peter also provided programming, design and management guidance to fellow team members and other R&D teams.
  • Peter worked closely with project managers, stakeholders and other analysts and developers to clarify requirements and translate them into a design and use cases. Peter also worked closely with QA members during testing and maintenance.
  • Platforms & Technologies
  • Microsoft.NET 2.0, Microsoft Visual C# 2005, Microsoft Visual C# 2008, Visual Studio Team System 2005, Visual Studio Team System 2008, Team Foundation Services.
Rational Unified ProcessWCF Web ServicesSoftware DevelopmentSystem Analysis

Validian

Contract - Solution Architect

Mar 2007Oct 2012 · 5 yrs 7 mos · Ottawa

  • Validian produces Validian Protect, a software development kit (SDK) to integrate into an included security middle-ware that manages and abstracts secure communications between applications. Validian also produces Biometric Seal (BMS), which is a USB biometric device for securely storing and transferring data. Adjunct to BMS is Validian Share, which is a software product to securely transfer data between two computers via routable network.
  • Peter led several Agile projects involving security-related software products. Peter managed the development effort for a .NET interface between C++-based components utilizing C++ Interop (“It Just Works”) and Platform Invoke. Peter also managed the Agile development effort for Validian Share. Validian Share is a .NET application—written in C#—that utilizes Transport Layer Security (TLS) and Secure Socket Layer (SSL) to securely transfer data between two computers. Validian Share is a policy-based 3 tier solution that uses certificates for encryption and access-control.
  • Peter worked closely with project managers and other stakeholders to present recommendations, plan the development efforts, develop specifications, design and architect solutions, develop use cases, lead the development effort and implement and unit-test the designs.
  • Technologies included: Win32, Windows SDK, Microsoft.NET 1.1, Microsoft.NET 2.0, Visual C++ 2003, Visual C# 2003, Visual C# 2005, Visual C# 2008, Visual Studio Team System (VSTS) 2005, Visual Studio Team System 2008, Visual Studio Team System 2010, Subversion, TeamCity.

Messa computing

Contract - Senior Software Designer

Jan 2007May 2008 · 1 yr 4 mos · Ottawa

  • Peter worked on Messa’s existing contact, resource, and invoicing system—implementing new features, and maintenance. The application is a 3-tier web application where the business logic and data access layers were written in Visual Basic, the front-end using classic ASP and DHTML, and the database back-end was SQL Server 2000. Some new features were implemented in ASP.NET using C#.
  • Peter’s responsibilities included writing vision/scope documents, writing software requirements specifications, writing software design descriptions, unit testing, code review, refactoring code, basic DBA/sysadmin duties, etc.
  • Peter worked with stakeholders to analyze requirements, present recommendations, develop use cases, define design changes and perform implementation. Peter also acted as a project manager to plan and prioritize work.
  • Platforms & Technologies
  • Visual Basic, IIS, VBscript, DHTML, ASP, SQL Server 2000, Small Business Server 2003, Visual C#.

Innovapost

Contract - Senior Software Designer

Jan 2007Jun 2007 · 5 mos

  • Peter worked on the CPAA Time & Leave application. CPAA Time & Leave is an internal smart client application for employee time tracking. Written in C#, The CPAA Time & Leave is an n-tier application consisting of a smart client front-end that connected to two SQL Servers; one local MSDE database contained user-specific data replicated to/from another remote central SQL Server database.
  • Peter’s work included utilizing Microsoft Application Updater Block for automatic application updates and integrating with SQL Server’s replication ActiveX controls. Peter also consulted on software development design, practices and management.
  • Peter worked on a multi-discipline team working other team members including a project manager and other stakeholders to present recommendations, design and architect solutions, develop use cases, and implement and unit-test the design.
  • Platforms & Technologies
  • Microsoft.NET 1.1, Microsoft Visual Studio .NET, Visual C#, SQL Server 2000, SQL, SQL Server Replication, MSDE

Microsoft

MVP

Jan 2006Oct 2019 · 13 yrs 9 mos

  • Microsoft MVP Visual C#

Undisclosed company

Contract - Senior Software Designer

Jan 2006Dec 2006 · 11 mos · Ottawa

  • Peter’s responsibility was to perform business analysis, architecture, design, and implementation of integration of third-party services and components into product. These services included geocoding, mapping, machine translation, audio data mining, and speaker/language identification.
  • The services were XML Web Service based, utilizing ASP.NET.
  • Geocoding and mapping included sourcing and evaluating geospatial web service providers and implementing client code in C#. Machine translation included sourcing and evaluating translation products and implementing prototype client code in C#.
  • Speaker Language Gender Identification was added to product via integrating code from an existing C library into a .NET class library for use within a web service. This class library was written in C++ to utilize implicit interop.—AKA C++ interop. or “It Just Works” (IJW)—to limit need for changes to existing code. Windows codecs were also used to convert other data formats and bitrates into compatible data.
  • Peter also used LibTIFF, zLib, and JBIGKit to support recorded fax audio JPEG (colour) and JPIG (bi-level) to bitmap files (JPEG) in product's audio recording analysis subroutine.
  • Peter’s responsibilities included writing software requirements specifications, writing software design descriptions, unit testing, code review, refactoring code for thread-safety and reentrancy, etc.
  • Peter worked with closely with project managers and other stakeholders to present recommendations, plan the development effort, develop specifications, design and architect solutions, develop use cases, lead the development effort and implement and unit-test the design.
  • Platforms & Technologies
  • Visual Studio 2005 Team Suite, Visual C# 2005, Visual C++/CLI 2005, Visual C++ 6.0,.NET, WinForms, XML Web Services, MapPoint Web Services, MapInfo Envinsa Web Services, Maporama Web Services, ESRI ArcWeb Services, Lib TIFF, JPEG library, zLib, Language Weaver, Platform Invoke, Windows Platform SDK codec programming.

Synercard

Contract - Senior Software Designer

May 2005Dec 2005 · 7 mos · Ottawa

  • SynerCard produces digital identity and photo-card management solutions that enable organizations of any size to create, manage and verify an individual’s identity. SynerCard was acquired by HID Corporation
  • (an Assa Abloy company) in April 2005. The Asure ID family of products offers a complete line of digital identity and photo card management software solutions. Asure ID supports acquisition of image data from digital cameras and supports a multitude of photo/digital-ID card printers and encoders. Magstrip, barcode, smart card and biometrics are supported security technologies. Peter was involved with the Asure ID 5.x and HID Server 5.x releases. Asure ID and HID Server are 2-Tier Windows, Microsoft Foundation Classes (MFC)-based applications written in C++ with Microsoft Visual C++ 6.x and Microsoft Visual C++ .NET. The Data Tier encapsulates a connection to MS Access, SQL Server, or any ODBC-compatible database via ADO and is implemented as a COM object. Peter provided development guidance and services. Guidance included: design and coding, requirements engineering, database normalization, OO coding standards, OO Design standards. Peter was also tasked with creating a rich text drawing object and extensive conversion to/utilization of Windows Device Context Coordinate Spaces (zooming and mapping locale measurement system to display and print devices) and printing support.
  • Accomplishments
  • Improved import/export of large amounts of data from/to SQL Server from 8+ hours to several seconds. Quickly found and fixed hard-to-find problems with Windows and MFC-based applications with Peter's code audit processes and checklists.
  • Platforms & Technologies
  • Visual C++ .NET, Visual C++ 6.0, Jet, SQL, SQL Server, MFC, ATL, ADO, COM, DCOM, Windows Sockets, C++, OOP, OOD, background threading, reentrancy and thread-safety.

Centrepoint technologies

Contract - Senior Software Engineer

Jan 2002Jan 2004 · 2 yrs · Ottawa

  • Centrepoint Technologies produces a line of small-office/home-office (SOHO) VoIP-enabled PBX phone systems.
  • Peter’s responsibilities included: built and managed team of three software developers involving applications to provision, monitor, and report on VoIP-enabled SOHO PBX; applications were managed from the conception to the release stage.
  • Responsible for building software architecture for the development of a diverse set of applications to interface (ultimately via Serial, USB, IP and Ethernet) with the TalkSwitch series of small-office/home-office phone systems. The software was written in C++ with Visual C++ 6 and utilizing MFC.
  • Peter lead a team of 5 developers working with closely with a project manager and other stakeholders to present recommendations, plan the development effort, develop specifications, design and architect solutions, develop use cases, lead the development effort and implement and unit-test the design.
  • Accomplishments
  • Drastically improved quality and robustness of existing applications.
  • Moved application-development effort from an ad-hoc/crisis-management-based process to systematic, proactive process; including the methods by which other teams interfaced with the application-development team.
  • Secondary Roles
  • Business Analyst – Worked with a product manager to provide analysis, definition and direction to computer-related development, maintenance activities, and their interaction with the IS and IT groups.
  • Platforms & Technologies
  • Windows 2000/XP Professional; Windows DNA: COM, C++; Event-synchronized multi-threaded programming, ATL, MFC, Sockets, Overlapped IO (Serial Communications, Ethernet networking with RawEther), Parallel communications, UML, SQL Server, USB (Jungo), object-oriented design & implementation.
  • Other Software Used
  • Visual SourceSafe, InstallShield, Wise Installer for Windows.

Jsi telecom

Contract - Senior Software Designer

Mar 2001Nov 2001 · 8 mos

VoIP SystemsSoftware ArchitectureTelecommunicationsSoftware Development

E-cruiter

Contract - Senior Software Designer

Apr 2000Mar 2001 · 11 mos · Ottawa

  • e-Cruiter is an ASP that provides generic and branded internet recruiting portal services to manage the entire recruiting workflow. Peter worked as a senior member of a software design team. His major accomplishment was in re-architecting the existing product to adopt Windows DNA in Windows 2000. COM objects in C++ with ASP to provided a two-tier back-end to access a SQL Sever 2000 database. The user-services layer was written in DHTML. ASP utilizing a COM business services layer written in C++ served the user-services layer. This solution provided an easy to maintain system that improved performance and scalability by fully leveraging future directions in both Windows 2000 DataCenter and SQL Server 2000.
  • Peter worked in all aspects of the SDLC from requirements gathering/comprehension to unit-testing. Languages, technologies and methodologies used: ASP, VBScript, JavaScript, C++/C, SQL, T-SQL, ADO, COM with ATL, OOA/OOD, normalized relational database design and implementation.
  • Provided team-lead mentoring in aspects of COM, C++, Database Design and SDLC processes.
  • Other minor projects included use of Microsoft Analysis Services (OLAP) and XML transforms with XSL to serve data-driven HTML. MS Visual C++, MS Visual Basic and MS Visual Interdev were used.
  • Peter worked with closely with stakeholders to present recommendations, design and architect solutions, develop use cases, and implement and unit-test the design.

Nortel

Contract - Senior Software Designer

Dec 1999Mar 2000 · 3 mos · Ottawa

  • Development team-lead of project designing and implementing an xDSL cross-talk simulation program. Based on existing xDSL standards and testing guidelines, the application was written with Visual C++. A great deal of time was spent gathering the requirements of the program as well as researching xDSL algorithms. Other aspects included testing, maintenance and documentation.
  • Peter worked with closely with the project manager and other stakeholders to present recommendations, plan the development effort, develop specifications, design and architect solutions, develop use cases, lead the development effort and implement and unit-test the design.

Excalibur systems limited

Contract - Senior Software Designer

Apr 1998Feb 1999 · 10 mos · Ottawa

  • Designed and implemented ActiveX COM components in C++ using MFC and ATL. COM components were built on existing interfaces to “plug-into” integrated containers implementing specific Electronic Warfare (EW) equipment and radar simulations. This was a real-time RF signal simulation where signals (via network messages) were generated and processed through each component on different computers in real-time. Inter-component communication was implemented with TCP/IP sockets (WinSock) in addition to COM. Additional projects were to analyze existing performance and present code and/or design improvements. Recognition for “correcting” a Win NT application to work in Windows 95/98.

Mitel

Contract - Senior Software Designer

Dec 1997Apr 1998 · 4 mos · Ottawa

  • Lead a team designing Windows NT Installation software for several interrelated telephony products. Analyzed existing software and analyzed and gathered requirements from several groups to provide installation software that included installation of several shared components, including Java classes. Developed with InstallShield™ and Visual C++. Also provided guidance on Windows development and software development techniques.
  • Peter worked with closely with the project manager and other stakeholders to present recommendations, plan the development effort, design and architect solutions, develop use cases, and lead the development effort and implement and unit-test the design.

Peter ritchie inc. software consulting

President

Dec 1996Mar 2015 · 18 yrs 3 mos

Cognos

Consulting Software Engineer

Mar 1990Dec 1996 · 6 yrs 9 mos

  • While at Cognos Peter worked on the development team for PowerPlay. Peter worked primarily on the front-end of PowerPlay and was responsible for several team members.

Education

Algonquin College of Applied Arts and Technology

Computer Programmer — Software

Jan 1990Jan 1992

Stackforce found 100+ more professionals with Healthcare Integration & Cloud Computing

Explore similar profiles based on matching skills and experience