I am a product-driven technology leader with over 15 years of experience designing, building, and scaling enterprise software platforms.

My work sits at the intersection of architecture, engineering execution, and business strategy. I have led and advised teams across SaaS, industrial systems, and platform-driven B2B environments, with a focus on building software that is reliable, scalable, and aligned to long-term business outcomes.

My background spans Salesforce, NetSuite, JavaScript, and modern cloud architectures, but tools are secondary to outcomes. I am most effective in environments where technical complexity, organizational scale, and commercial pressure intersect.

I currently serve in a senior architecture and technology leadership role for an enterprise SaaS platform, with responsibility spanning system design, security, data architecture, engineering standards, and cross-functional collaboration.

What You’ll Find Here

This site is a collection of practical writing and perspectives shaped by real-world enterprise experience. Topics include:

  • SaaS and enterprise platform architecture
  • Engineering leadership and execution
  • Automation, systems integration, and AI
  • Product strategy and technical decision-making

Much of this writing is intended for senior engineers, product leaders, and executives navigating complex technical systems.

Learn More

  • About – Background, experience, and how I think about technology
  • Consulting & Advisory – Select advisory work and engagement model

Most Recent Articles

How to use Salesforce’s Apex getPopulatedFieldsAsMap - The getPopulatedFieldsAsMap method, introduced in recent Salesforce updates, is a powerful addition for dealing with dynamic apex or SObject instances. This method enables us developers to easily retrieve a map of all fields in an SObject that have been populated, meaning fields that have been set or contain a non-null value. What is getPopulatedFieldsAsMap? The…
Publishing Platform Events from Apex - Triggering Platform events from within Salesforce is pretty easy. Learn how in this post.
Building a Custom UI With Lightning Web Components (LWC) - Creating a UI that is intuitive and user-friendly can be challenging and time-consuming. In this blog post, we will walk through the process of building a custom UI with LWC.
Using Data – Attributes in Lightning Web Component (LWC) - In Lightning Web Components (LWC), data can be defined and used in components through attributes. This blog post explains how to use attributes to pass data.
An Introduction to Salesforce Platform Events - Salesforce Platform Events are an event-driven architecture provided by the Salesforce platform. In this guide we look at what, why, and when.
The Life of a Startup CTO - The life of a startup CTO is incredibly challenging. Why? Well, as the chief technology officer of a startup, you are responsible for leading the company’s technical direction and ensuring that it has the resources and infrastructure to support its growth. It’s a business strategy position a lot more than it is a technology position.…
A guide for adding JWT token-based authentication to Your Serverless Application - One way to secure your serverless application is to implement token-based authentication, which helps to ensure that only authorized users can access your app
Salesforce for Newcomers: Orgs, Sandboxes, Trust and Security - As a newcomer to Salesforce, you will quickly come across several important terms that are fundamental to understanding how Salesforce works. These terms are Org, Sandbox, Trust, and Security. In this article, we will explain each of these terms in detail and how they fit into the overall Salesforce ecosystem.
Lightning Tips for Visualforce Developers - Switching from Visualforce to using Lightning is not an easy transition as there's quite a few changes that Salesforce Developers will need to get used to. Lightning changes a lot of the way that Salesforce works.