Software Engineer in Toronto, Ontario, Canada
People over process.
Creativity beats efficiency.
Habits before goals.
Me in a nutshell
I support professionals in their pursuit of technical excellence in Software Engineering practices. I believe in fostering professional growth through skills-based learning; I also believe that Technical Coaching plays a crucial role in unlocking our full potential as Software Engineering professionals.
Maximizing Pair Programming Flow: Using the four conditions of Flow to improve pairing effectiveness
Flow in Software Engineering: Should we avoid it or embrace it?
The Enigmatic Navigator: What are they actually supposed to do during a pairing session?
Pairing with a Subject Matter Expert: How doing so can address the root causes of technical debt
Strong-Style Pairing: Overview, benefits, and usage contexts
Pairing Themes: Demystifying pair programming for novices
Ping-Pong Pairing: The foundational pairing style
Pair Programming Misunderstood: How I thought it wasn't for me, until it was.
Silo-ball, Async Fixation, and Deep Work Obsession: An emerging set of anti-patterns in the age of remote work
The "Hero" Anti-pattern: And how to prevent it on product teams
Product Team Anti-patterns: And how pair programming may help
The Importance of Creativity on Product Teams: How creativity can apply to team retrospectives
Test-Driven Development and Specification by Example: Change-resilient alternatives to phased planning approaches
Planning in Phases: Intuitive, yet wrong for software development
Coaching and Teaching
Learning Archetypes: A learning and facilitation aid for skills-oriented workshops such as coderetreat
Collaboration in the Problem Space: Using the CEDAR model for effective one-on-one feedback
Lessons from an Education Revolutionary: How both software and education can thrive in the face of change
Learning Frameworks for Skills Acquisition: Avoid habits that lead to progression plateaus
Habit-based Goals: A goal-setting approach for Software Engineers