I’ve presented 100’s of sessions at software development conferences and user groups around the world.
Videos
- Pluralsight courses
- The Immutable Laws of Software and Life at Codemash 2020
- Goodbye REST APIs. Hello GraphQL! at KCDC 2018
- The 7 Pillar Developer: A Holistic Approach to Building an Exceptional Career at That Conference 2018
- Going Pro: Lifestyle Systems for the Exceptional Developer at DevUp 2018
- The Reusable JavaScript Revolution at NebraskaJS 2017. Or, at Iterate 2018. Or, Copy on FreeCodeCamp channel. Or, original copy on the NEJS channel.
- Patterns for Reusable JavaScript Components at Cerner Tech Talks 2018
- Build a JavaScript Development Environment in an Hour at DevUp 2017
- The JavaScript Starter Kit Manifesto at Nodevember 2016 on Coding Tech or the original posted by Nodevember
- Becoming an Outlier at NDC Oslo 2014
- Becoming an Outlier at InfoQ New York
- Real World SPA: A Knockout Case Study at NDC Oslo 2014





Previous Presentations
Date | Event | Session | Location |
---|---|---|---|
7/20/2019 | Kansas City Developer Conference | Building Accessible Web Apps | Kansas City, MO |
7/18/2019 | Kansas City Developer Conference | React from Scratch – Precompiler | Kansas City, MO |
5/6/2019 | NDC Minnesota | Goodbye REST APIs. Hello GraphQL! | Minneapolis, MN |
4/12/2019 | Codestock | Goodbye REST APIs. Hello GraphQL! | Knoxville, TN |
4/12/2019 | Codestock | The 7 Pillar Developer – Building an Exceptional Development Career | Knoxville, TN |
1/10/2019 | Codemash | React: The Big Picture | Sandusky, OH |
10/13/2018 | Cream City Code | Keynote: What Should I Learn Next? | Milwaukee, WI |
10/9/2018 | DevUp Conference | Goodbye REST APIs. Hello GraphQL! | St. Louis, MO |
10/9/2018 | DevUp Conference | Going Pro: Lifestyle Systems for the Exceptional Developer | St. Louis, MO |
9/6/2018 | AIM HDC | Goodbye REST, Hello GraphQL! | Omaha, NE |
9/6/2018 | AIM HDC | React: The Big Picture | Omaha, NE |
8/28/2018 | Pluralsight Live | Going Pro | Salt Lake City, UT |
8/7/2018 | That Conference | Keynote: The 7 Pillar Developer: A Holistic Approach to Building an Exceptional Career | Wisconsin Dells, WI |
7/12/2018 | Kansas City Developer Conference | Goodbye REST, Hello GraphQL! | Kansas City, MO |
6/13/2018 | Fluent Conf | Creating a Reusable React Component Library | San Jose, CA |
5/16/2018 | SDD Conf | Rapid UI development with mock APIs | London, UK |
5/16/2018 | SDD Conf | Rapid UI development with mock APIs | London, UK |
5/15/2018 | SDD Conf | The Reusable JavaScript Revolution | London, UK |
5/15/2018 | SDD Conf | Patterns for Writing Scalable JavaScript | London, UK |
5/3/2018 | Cerner Tech Talk | Patterns for Reusable JavaScript Components | Kansas City, MO |
2/26/18 | Iterate Conference | The Reusable JavaScript Revolution | San Francisco, CA |
1/11/18 | Codemash | Writing Scalable JavaScript at Cox | Sandusky, OH |
1/11/18 | Codemash | Patterns of Reusable JavaScript Components | Sandusky, OH |
11/28/17 | Nodevember | Creating a Reusable React Component Library | Nashville, TN |
10/16/17 | Dev Up Conference | Building Reusable JavaScript Components | St. Louis, MO |
10/16/17 | Dev Up Conference | Build a JavaScript Dev Environment in 1 Hour | St. Louis, MO |
9/8/17 | Heartland Developer Conference | Keynote: Becoming an Outlier – Lifestyle Systems for Software Developers | Omaha, NE |
8/18/17 | Kansas City UpFront Meetup | The Reusable JavaScript Revolution | Overland Park, KS |
8/4/17 | Kansas City Developer Conference | Patterns of Reusable JavaScript Components | Kansas City, MO |
8/4/17 | Kansas City Developer Conference | Build a JavaScript Development Environment in an Hour | Kansas City, MO |
7/22/17 | Nebraska JS Conference | The Reusable JavaScript Revolution | Omaha, NE |
6/20/17 | Fluent Conference | Build a JavaScript Development Environment | San Jose, CA |
5/16/17 | Software Development and Design 2017 | The JavaScript Starter Kit Manifesto | London, UK |
5/16/17 | Software Development and Design 2017 | Why I Left Angular for React | London, UK |
5/15/17 | Software Development and Design 2017 | React from Scratch | London, UK |
2/21/17 | JavaScript KC Meetup | Why I Left Angular for React | Kansas City, MO |
1/14/17 | Codemash 2017 | Build a JavaScript Development Environment in 1 Hour | Sandusky, OH |
11/20/16 | Nodevember | The JavaScript Starter Kit Manifesto | Nashville, TN |
10/22/16 | DevUp | Clean Code: Writing Code for Humans | St. Louis, MO |
10/21/16 | DevUp | Why I Left Angular and Knockout for React | St. Louis, MO |
09/08/16 | Heartland Developer Conference | 12 Keys to Professional JavaScript | Omaha, NE |
08/22/16 | Copenhagen .NET User Group | Clean C# | Copehagen, Denmark |
08/22/16 | NNIT Tech Talk | Pragmatic Architecture in .NET | Copehagen, Denmark |
08/12/16 | Scenic City Summit | Owning the Technology Adoption Curve | Chattanooga, TN |
08/12/16 | Scenic City Summit | 12 Keys to Professional JavaScript | Chattanooga, TN |
07/15/16 | Codestock | Owning the Technology Adoption Curve | Knoxville, TN |
07/15/16 | Codestock | 12 Keys to Professional JavaScript | Knoxville, TN |
06/24/16 | Kansas City Developer Conference | Confessions of Technical Speaker | Kansas City, KS |
06/24/16 | Kansas City Developer Conference | JavaScript Showdown: Angular, React, Ember, Knockout | Kansas City, KS |
06/23/16 | Kansas City Developer Conference | 12 Keys to Professional JavaScript | Kansas City, KS |
06/22/16 | Kansas City Developer Conference | Precompiler: Pro JavaScript Bootcamp | Kansas City, KS |
06/15/16 | QConn New York | Becoming an Outlier | New York, NY |
06/01/16 | Private Webcast for IHS | Becoming an Outlier | Home, KS |
05/18/16 | SDD London | 12 Keys to Professional JavaScript | London, UK |
05/17/16 | SDD London | Diving into HTML5 Web Components | London, UK |
05/17/16 | SDD London | Clean Code: Writing Code for Humans | London, UK |
04/30/16 | KalamazooX | The Power of Apathy | Kalamazoo, MI |
03/08/16 | Fluent Conference | React and Flux from Scratch | San Francisco, CA |
01/26/16 | Vinsolutions Ignite Series | Why I Left Gulp and Grunt for npm scripts | Kansas City, KS |
01/07/16 | Codemash | Why I Left Angular and Knockout for React | Sandusky, OH |
11/17/15 | Kansas City .NET User Group | Up Your Game as a Developer Panel | Kansas City, KS |
11/14/15 | St. Louis Days of .NET | React & Flux: Dissecting Innovation | St. Louis, MO |
11/13/15 | St. Louis Days of .NET | Owning the Technology Adoption Curve | St. Louis, MO |
11/13/15 | St. Louis Days of .NET | Confessions of Technical Speaker | St. Louis, MO |
10/20/15 | JavaScript KC Meetup | Diving into HTML5 Web Components | Kansas City, MO |
10/09/15 | Staples Clean C# Training | Clean Code: Writing Code for Humans | Kansas City, KS |
10/08/15 | VinSolutions Tech Talk | Clean Code: Writing Code for Humans | Kansas City, KS |
09/28/15 | NNIT Clean C# Training | Clean Code: Writing Code for Humans | Copenhagen, Denmark |
09/11/15 | Heartland Developer Conference | Owning the Technology Adoption Curve | Omaha, NE |
09/11/15 | Heartland Developer Conference | The Isomorphic JavaScript Revolution | Omaha, NE |
08/10/15 | That Conference | React & Flux: Dissecting Innovation | Wisconsin Dells, MI |
08/10/15 | That Conference | Diving into HTML5 Web Components | Wisconsin Dells, MI |
08/05/15 | Quicken Loans Conference | Clean Code: Writing Code for Humans | Detroit, MI |
07/22/15 | KC IT Professionals | Owning the Technology Adoption Curve | Kansas City, KS |
07/15/15 | Software Answers Clean Code Training | Clean Code: Writing Code for Humans | Cleveland, OH |
06/26/15 | Kansas City Developer Conference | React & Flux: Dissecting Innovation | Kansas City, KS |
06/25/15 | Kansas City Developer Conference | Owning the Technology Adoption Curve | Kansas City, KS |
06/22/15 | Vinsolutions Ignite Series | React & Flux: Dissecting Innovation | Kansas City, KS |
05/28/15 | BalancePoint Speaker Series | Becoming an Outlier | Kansas City, MO |
04/28/15 | Kansas City .NET User Group | Clean Code: Writing Code for Humans | Kansas City, KS |
04/20/15 | Fluent Conference | Diving into HTML5 Web Components | San Francisco, CA |
03/26/15 | Iowa .NET User Group | Clean Code: Writing Code for Humans | Des Moines, IA |
03/20/15 | Nebraska Code | Diving into HTML5 Web Components | Lincoln, NE |
03/18/15 | Vinsolutions Ignite Series | Automation with Gulp | Kansas City, KS |
03/14/15 | KalamazooX | Confessions of Technical Speaker | Kalamazoo, MI |
03/03/15 | Prairie Developer Conference | Becoming an Outlier | Winnipeg, MT |
03/03/15 | Prairie Developer Conference | Pragmatic Software Development : Curing the Architecture Astronaut | Winnipeg, MT |
01/28/15 | Private Webcast for IHS | Clean Code: Writing Code for Humans | Home, KS |
01/10/15 | Codemash | Becoming an Outlier | Sandusky, OH |
01/08/15 | Codemash | Clean Code: Writing Code for Humans | Sandusky, OH |
01/08/15 | Codemash | Diving into HTML5 Web Components | Sandusky, OH |
12/16/14 | Prudential IT Talk | Pragmatic Software Development : Curing the Architecture Astronaut | Des Moines, IA |
12/04/14 | NDC London | Self Documenting Code: A Mob Powered Vocabulary Lesson | London, UK |
12/04/14 | NDC London | Diving into HTML5 Web Components | London, UK |
11/14/14 | St. Louis Days of .NET | Self Documenting Code: A Mob Powered Vocabulary Lesson | St. Louis, MO |
11/14/14 | St. Louis Days of .NET | Pragmatic Software Development : Curing the Architecture Astronaut | St. Louis, MO |
11/14/14 | St. Louis Days of .NET | Diving into HTML5 Web Components | St. Louis, MO |
10/01/14 | VML Speaker Series | Becoming an Outlier | Kansas City, MO |
09/18/14 | Vinsolutions Ignite Series | Diving into HTML5 Web Components | Kansas City, KS |
09/04/14 | Heartland Developer Conference | Real World SPA: A Knockout Case Study | Omaha, NE |
09/04/14 | Heartland Developer Conference | Pragmatic Software Development : Curing the Architecture Astronaut | Omaha, NE |
08/27/14 | DevLink | Real World SPA: A Knockout Case Study | Chattanooga, TN |
08/27/14 | DevLink | Pragmatic Software Development : Curing the Architecture Astronaut | Chattanooga, TN |
08/26/14 | DevLink | Becoming an Outlier | Chattanooga, TN |
08/26/14 | DevLink | Clean Code: Writing Code for Humans | Chattanooga, TN |
08/12/14 | That Conference | Real World SPA: A Knockout Case Study | Wisconsin Dells, MI |
07/12/14 | Codestock | Clean Code: Writing Code for Humans | Knoxville, TN |
07/12/14 | Codestock | Real World SPA: A Knockout Case Study | Knoxville, TN |
07/12/14 | Codestock | Becoming an Outlier | Knoxville, TN |
07/12/14 | Codestock | Real World SPA: A Knockout Case Study | Knoxville, TN |
07/10/14 | Nashville .NET User Group | Clean Code: Writing Code for Humans | Nashville, TN |
06/06/14 | NDC Oslo | Becoming an Outlier | Oslo, Norway |
06/06/14 | NDC Oslo | Real World SPA: A Knockout Case Study | Oslo, Norway |
05/16/14 | Kansas City Developer Conference | Real World SPA: A Knockout Case Study | Kansas City, KS |
05/16/14 | Kansas City Developer Conference | Becoming an Outlier | Kansas City, KS |
05/16/14 | Kansas City Developer Conference | Pragmatic Software Development : Curing the Architecture Astronaut | Kansas City, KS |
04/26/14 | KalamazooX | Becoming an Outlier | Kalamazoo, MI |
04/08/14 | Prairie Developer Conference | Clean Code: Writing Code for Humans | Winnipeg, MT |
04/06/14 | Prairie Developer Conference | Real World SPA: A Knockout Case Study | Winnipeg, MT |
03/29/14 | Nebraska Code Camp | Clean Code: Writing Code for Humans | Lincoln, NE |
03/29/14 | Nebraska Code Camp | Becoming an Outlier | Lincoln, NE |
02/20/14 | AJi Software Geek Lunch | Clean Code: Writing Code for Humans | Kansas City, MO |
01/28/14 | Kansas City .NET User Group | Pragmatic Software Development : Curing the Architecture Astronaut | Kansas City, KS |
01/16/14 | Iowa .NET User Group | Pragmatic Software Development : Curing the Architecture Astronaut | Des Moines, IA |
11/14/13 | St. Louis Days of .NET | Real World SPA: A Knockout Case Study | St. Louis, MO |
11/01/13 | Iowa Code Camp | Pragmatic Software Development : Curing the Architecture Astronaut | Des Moines, IA |
11/01/13 | Iowa Code Camp | Real World SPA: A Knockout Case Study | Des Moines, IA |
11/01/13 | Iowa Code Camp | Becoming an Outlier | Des Moines, IA |
10/11/13 | Topeka .NET User Group | Pragmatic Software Development : Curing the Architecture Astronaut | Topeka, KS |
07/13/13 | Codestock | Becoming an Outlier | Knoxville, TN |
07/13/13 | Codestock | Clean Code: Writing Code for Humans | Knoxville, TN |
07/13/13 | Codestock | Pragmatic Software Development : Curing the Architecture Astronaut | Knoxville, TN |
06/27/13 | St. Louis Alt.NET User Group | Pragmatic Software Development : Curing the Architecture Astronaut | St. Louis, MO |
05/04/13 | Kansas City Developer Conference | Turning Water into Wine: Refactoring Rotten Code (Full Day Workshop) | Kansas City, KS |
05/04/13 | Kansas City Developer Conference | Becoming an Outlier | Kansas City, KS |
04/30/13 | Kansas City Developer Conference | Pragmatic Software Development : Curing the Architecture Astronaut | Kansas City, KS |
04/30/13 | CodePaLOUsa | Becoming an Outlier | Louisville, KY |
04/09/13 | Kansas City .NET User Group | Embarrassing Coupling Problem? Let’s Solve That with Dependency Injection | Kansas City, KS |
03/30/13 | Nebraska Code Camp | Embarrassing Coupling Problem? Let’s Solve That with Dependency Injection | Lincoln, NE |
01/22/13 | Topeka .NET User Group | Clean Code: Writing Code for Humans | Topeka, KS |
11/16/12 | St. Louis Days of .NET | Clean Code: Writing Code for Humans | St. Louis, MO |
11/16/12 | St. Louis Days of .NET | Building Secure Web Applications | St. Louis, MO |
11/03/12 | Iowa Code Camp | Clean Code: Writing Code for Humans | Des Moines, IA |
09/06/12 | Heartland Developer Conference | Clean Code: Writing Code for Humans | Omaha, NE |
04/27/12 | Kansas City Developer Conference | Clean Code: Writing Code for Humans | Kansas City, KS |
04/27/12 | Kansas City Developer Conference | Building Secure Web Applications | Kansas City, KS |