Besides web and software development, I enjoy creative writing, photography, hiking, and a good bourbon.
In 2018 I became a Sitecore MVP, and I always look forward to my next learning opportunity. As a software developer, I believe that simplicity breeds quality.
I have written and published a few web apps and aim to share my tools, experience, and knowledge as a proficient .NET and Sitecore developer.
Since early 2011, I have focused on developing awesome Sitecore solutions for a variety of clients. Today, I share my experience via mentoring, speaking, and Sitecore Spark.
Sitecore Spark aims to be a comprehensive introduction to the Sitecore platform. Includes articles on core Sitecore concepts and a blog with technical tips and industry perspectives.
Thanks to a wonderful community and my involvement with Sitecore Spark, I've been selected as a Sitecore MVP (Technologist) for 2021.
I've presented Sitecore-based topics to numerous clients, user groups, and colleagues. Looking for an interesting topic at a user group or conference? See the Speaking section below.
I'm currently a Solutions Architect on the Sitecore + Episerver team at Perficient. Since 2011 I have focused on bringing innovative Sitecore solutions to my clients. I also share insights on the Perficient Sitecore blog.
A money management tool written for my personal workflow that is expanding into a complete budgeting tool.
A server-side solution for implementing unlimited web forms on static websites. Designed for ease-of-use for front-end developers.
Sitecore Publish Reporting Kit (SPRK)
Provides detailed publish logging and reporting for Sitecore.
Recipe Library provides a simple and secure place to store recipes with a no-fuss interface.
Responsible Images 2
Version 2 of my RWD image loader. I streamlined the implementation process for developers, enabling super-simple image scaling across breakpoints.
Content Author Tokens for Sitecore (CATS)
Simple, token-based content replacement for common Sitecore fields.
I've presented numerous technology topics to clients, colleagues, and peers. Whether mentoring one-on-one or presenting to a room of a hundred, my goals are the same: spark conversation, foster new ideas, and educate young developers.
Here are some of my favorite presentations. If you're interested in having me present one or more of the below topics, please contact me.
Beyond Components: Maximizing the Sitecore Editing Experience
Sitecore | UX | Content Authoring
The Sitecore Experience Editor is the perfect way for non-technical content authors to manage website content. So you've built components that utilize datasources and can be personalized in the Experience Editor. What's next?
Start Decoupling Today: Learn Dependency Injection By Example
Fundamentals | .NET | IoC
This tour of dependency injection begins with an ELI5 introduction of software decoupling principles and ends with real production-ready code (using C# and Simple Injector).
Authenticate Without Passwords: Risky Game or Legitimate Business?
Security | Authentication | UX
Passwords have been bad news for quite a while. Good passwords are difficult to remember, hard to store - and given recent history - easier to crack. Is there a better way to authenticate users?
Demystifying Sitecore: An Introduction for .NET Developers
Sitecore | Getting Started | .NET
Sitecore is a big, complicated CMS from an outsider's perspective, but this session introduces core concepts and basic Sitecore development practices to get you started.
From Average to Awesome In a Few Short Years
Soft Skills | Career Management
How did I go from a struggling C-average student to a successful solutions architect and Sitecore MVP? This session will highlight real tips and advice for setting proper goals and how to measurably progress towards them. Let my stories, lessons, and experiences inspire you to achieve real goals and be your very best, even if "imposter syndrome" is your middle name.
Write Readable Code for the Slowest Compiler: Us
Fundamentals | Code Quality
When do shortcuts and syntactic sugar become too clever? What role does code parsing play in productivity? In this session, we will look at coding practices that level the playing field for all developers and ensure code can be consumed by a human as easily as a compiler.
Be Better at Email by Perfecting Your Outbox
Soft Skills | Productivity
Email is nearly extinct! Google Hangouts works for us! The future is Slack! This session will examine what role email plays in modern communications, when to use it, and when not to use it. This session also examines what constitutes bad email, then reviews good practices and guidelines for getting the most from your messages.