Verified Expert in Engineering
Justin is a Salesforce developer, architect, and consultant with 15 years of experience translating business requirements into technical solutions and exception handling, logging, and reporting. His specialties include business process automation through Apex triggers and flows, async processing through Queueable, Batch Apex, Future, Lightning Web Components (LWC), and API integrations. Justin designs with the end-user experience in mind and excels at creating and implementing best practices.
MacOS, Visual Studio Code (VS Code), GitHub
The most amazing...
...thing I've developed is a queueing system for running dozens of different async processes, logging errors, and with automatic retry support.
Lead Salesforce Developer
The Strategic Coach
- Managed a team of six developers, administrators, and analysts by providing coaching, training, best practice knowledge shares, code reviews, and project management.
- Developed solutions for several challenging problems using Apex; Batch Apex, Queueable, and Future; and Lightning Web Components (LWCs).
- Created code snippets and best practices for the most common code patterns in LWCs to increase coding efficiency, minimize errors, and include proper error-handling procedures.
- Built a standardized trigger handler pattern and helper class to control the execution of business logic and a code pattern to execute the business logic when necessary to minimize governor limit usage.
- Rearchitected the trigger code across dozens of objects to follow best practices, maximize performance, and log exceptions with 100% unit test coverage. Created best practices and snippets for the team to follow.
- Upgraded heavily customized organization from Salesforce Classic to Lightning, built several custom Lightning web components, customized page layouts, created custom actions, and planned user training, rollout, and support.
- Implemented High Velocity Sales and automated cadence assignments to improve sales productivity.
- Reviewed, standardized, and cleaned up picklists across Leads, Contacts, Accounts, and Opportunities.
- Overhauled the page layouts, related lists, and app-build pages across Leads, Contacts, Accounts, and Opportunities.
- Integrated Salesforce.com with Intercom, Mailshake, Vitally, and Segment.
- Created automated processes for assigning ownership, email alerts, and task type assignments.
- Created back-end documentation for automation, UI setup, and integrations.
LWC Elite Engineer
Leading Global Engineering Firm
- Created reusable module components and guided best practices, training, and support to other developers.
- Built a custom interface for viewing skills, feedback, celebrations, priorities, and performance reviews across a manager's team members with filtering, grouping, sorting, and record previews.
- Developed a custom interface for managing the feedback and the back-and-forth process between a manager, additional reviewers, and the reviewer during an annual performance management process.
- Made a custom interface for searching and creating succession plans and identifying potential successors, emergency replacements, and the skills necessary to perform the job.
- Created a custom interface for employees to display their skills and proficiencies on their profiles.
Lead Salesforce Developer
- Automated sales/marketing business processes and supported the overall Salesforce environment.
- Managed integrations with third-party systems such as Pardot, Recurly, Typeform, Extole, and internal databases.
- Created a custom Lightning Web Component (LWC) interface for GDPR request processing.
- Created a custom LWC interface for performing Account Ownership transfers.
- Implemented complex round-robin logic for leads, accounts, and opportunities.
- Implemented automation for annual subscriptions and upgrades.
- Migrated workflow rules/process builders to record-triggered flows.
Manager, Global Research and Data Systems
- Led the market research and technology consulting departments, generating over $1 million in revenue per year.
- Managed a team of three employees covering Salesforce.com admin, development, market research programming, and project management.
- Automated dozens of business processes to significantly increase user productivity using Apex triggers, workflow rules, and process builder.
- Implemented Salesforce.com and marketing automation solutions both internally and for external clients.
- Architected and managed an internal data warehouse with over 2 million contacts.
- Implemented and managed data integrations between Salesforce.com and InsideSales.com, Campaign Monitor, Constant Contact, Data.com, and other Salesforce.com instances.
- Developed an internal intranet application for project management and time tracking using PHP and MySQL.
Queueing System for Async Processes
• Every async process is logged in a custom object and any exceptions are captured
• Exception messages are checked for certain keywords that indicate a *temporary* error has occurred (record locking, API timeout, and so on) and are automatically retried with an increasing delay between each retry
• The system automatically chooses which async process is most appropriate based on the number of jobs to process: Batch Apex when there are many jobs, self-chaining Queueables for fewer jobs, Future for web callouts, and for jobs that are safe to run in parallel
• Each user has their own "queue" and jobs are executed "in order," to maintain the proper order of operations
• Custom metadata is used to control the settings that govern the behavior of the queuing system
• Jobs can be "bulkified" where multiple jobs of the same type can be run together in a bulk-safe manner to speed up processing and minimize governor limits
Metadata-driven Custom Rollups for Any Field
• The relationship between child and parent can be a Master-Detail, Lookup, or any custom field
• The rollup rules are stored in custom metadata
• Rollups are processed asynchronously using Queueable or Batch Apex
• Exceptions/errors such as UNABLE_TO_LOCK_ROW are automatically retried
• Rollups can be batched into smaller batch sizes to minimize governor limit exceptions
• Rollups use aggregation queries when possible or query-driven calculations when not possible (such as when aggregating formula fields)
• Rollups only recalculate when fields that are part of the calculation are changed to minimize recalculations
Lightning Interaction Log
• Type-ahead suggestions for the subject based on a list of suggestions that are profile-specific and controlled by custom metadata
• A dropdown of type values that are profile-specific and controlled by custom metadata
• Custom permission is assigned via a permission set that grants the ability to assign activities to other owners
• After logging an activity, the user is presented with a list of "Next Actions" that might want to take, including 1) Log a future open activity, 2) Set a "Call Me Back" date, 3) Send an email, 4) Reassign lead to a queue/other users
• Uses the "Unsaved Changes" component to prompt the user to finish logging their call if they attempt to close the tab without saving
• Set appropriate default field values to speed up data entry
Zoom API Integration
• LWC for creating a scheduled Zoom meeting with the running user's Zoom account
• Associates the meeting with a lead/contact
• Monitors completed Zoom meetings to log an activity associated with the lead/contact along with the duration of the meeting, for inclusion in daily "talk time" reports
Pardot API Integration
• Performs opt-ins based on data input from a flow in Salesforce
• Updates lead/contact records with list-based membership information
• Nulls values in Pardot when nulled in Salesforce
• Authenticates to Pardot using OAuth/SSO
• Refreshes access token when expired
• Settings are stored in custom metadata
Custom Round-robin Lead/Contact Assignment
• Users who are "full" (have the maximum number of leads allowed already) are excluded
• Sales managers and administrators need to be able to manage the addition, pausing, and removal of users from round robins through clicks, not code
• Custom Apex trigger code was written to implement the complex business logic that triggers the assignment
• Custom Apex code was written to identify which round-robin group applies (based on team and region), find the next user in the round-robin, validate they are not "full," assign the record to the new owner, and log an activity for auditing purposes
• Custom objects were created to store the list of assignment groups and manage the users that belong to each group, as well as store the user's current and maximum number of leads/contacts
• Custom Apex trigger code was written to recalculate a user's current number of leads/contacts whenever an ownership transfer occurs. This recalculation is done asynchronously so as not to slow down the ownership transfer transaction and to manage governor limits
Prefiltered Related Lists Using Enhanced Lightning Grid
• Activity Highlights: only the most important activities are visible (based on type)
• Activity History: all activities
• My Activities: the running user's activities
• Open Activities: upcoming activities
• Marketing Activities: email opens and clicks from Pardot marketing emails
• Improvements were made to the standard apex code that comes with Enhanced Lightning Grid to make it easier to deploy new ELGs
• Reusable static methods were created to build the SOQL queries that support the user-provided sorting and filtering
Salesforce API, Salesforce REST API
Batch Apex, Flow, Process Builder, Salesforce Sales Cloud, Pardot, Lightning Design System, GitHub, Zoom
Test-driven Development (TDD), Agile, Agile Project Management
Salesforce, Salesforce SOQL/SOSL, MacOS, Visual Studio Code (VS Code)
Salesforce Apex, Queueable Apex, Salesforce Lightning, Salesforce Platform Developer I Certification, Salesforce Certified Platform App Builder, Salesforce Platform Developer II Certification, Certified Salesforce Administrator, Salesforce Certified Pardot Specialist, Apex Triggers, Front-end, Front-end Design, Salesforce Consultant, Salesforce Cloud Flow, Computer Science, Sales, Aura, API Integration, Front-end Development, Intercom, Mailshake, Segment
Bachelor's Degree in Business Administration
Wilfrid Laurier University - Waterloo, ON, Canada
Salesforce Certified Pardot Specialist
Salesforce Certified Platform App Builder
Salesforce Certified Platform Developer II
Salesforce Certified Platform Developer
Salesforce Certified Sales Cloud Consultant
Salesforce Certified Administrator