Personal details

Brian S. - Remote software architect

Brian S.

Based in: 🇨🇦 Canada
Timezone: Central Time (US & Canada) (UTC-5)

Summary

My professional goal is to help your organization make the best use of software to attain your business objectives. I begin this by ensuring my teams have a clear understanding of the business problem to be solved, and the constraints we have. Then I lead teams in architecting, designing, and building systems that are robust, reliable, and secure. I place a high importance on making these systems easier to change as business, regulatory, and legislative requirements change. Much of my work has been in financial services, and I've also worked in manufacturing, aerospace, transportation, distribution, and healthcare.

I derive a great deal of satisfaction from coaching and mentoring other developers. Many people smarter than me have mentored me during my career, so I want to pay it forward. I love seeing how people use my teachings to solve ever more complicated problems, and to grow their own careers. I don't just teach people how to do something, but I also explain why. They can use this to inform their own judgment when they need to make similar decisions or solve similar problems in the future.

The primary reason we write software is not for the computer, but for the people who have to read it and figure it out. The code must be clear and expressive; ideally it should read like prose to a software developer. To make systems easier to change, they must be modular, with clear separation of concerns, and it needs observe the principles and best practices of software design. It needs to handle errors and unusual situations gracefully, and provide clues as to what happened, and why it happened, and provide guidance on what to do next. This is the philosophy I bring to your teams and to you as a mentee.

Work Experience

Application Architect
WCB Manitoba | Apr 2021 - Apr 2023
HTML/CSS
Java
SQL
Spring
JavaScript
Hibernate ORM

Worked with the architecture team to define and guide the WCB's digital modernization effort. Mentored the development teams in best practices of software development, and the nuances of Spring Framework, Spring Security, etc. Produced a set of videos that walked a developer through how to modernize a sample application. These videos were well received, and they accelerated the teams' modernization efforts.

Led a team that modernized the correspondence management system. With the retirement of Microsoft ActiveX, WCB needed another way to generate MS Word correspondence documents. Using a proof of concept prepared by other team members, built on this and delivered a solution that preserved much of the user experience, and preserved a critical business capability of WCB.

Rejuvenated WCB's Jenkins build server, installed the latest version, and documented a process for keeping it up to date.

Upgraded Help file system. Migrated help file projects to the current version of Adobe RoboHelp from one that was 11 years old. Trained the developers and business subject matter experts on the new RoboHelp. Enabled business units to update their application help files.

Lead Software Developer
IG Wealth Management | Apr 2019 - Jun 2020
HTML/CSS
Java
SQL
Spring
JavaScript
Hibernate ORM

Provided technical leadership and mentoring to the application development team. Led efforts to modernize the application set and the CI/CD development process. Participated in efforts to integrate with Salesforce Financial Services.

Education

Red River College Polytechnic
Diploma・Computer Analyst/Programmer
Dec 1983 - Nov 1985

Personal Projects

2024
Java
SQL
Micronaut
An API for QuickBooks Desktop (QBD). This uses the MySQL database created by Synergration's OpenSync as its backing datastore. You simply issue REST-ful HTTP calls against QBD API and it will fetch and persist the data.

Certifications & Awards

Sun Certified Programmer for the Java 2 Platform
Sun Microsystems | May 1999