I am a software engineer, software development / technical coach, and trainer at Industrial Logic. I am a founding member of and organizer for PhillyXP. I’m a blogger, and speaker with 24+ years of experience building and delivering high-quality software and helping others do it. I have specific expertise in:

  • Leading and coaching software teams and leaders
  • Helping organizations structure their teams around value delivery
  • Mentoring developers
  • Improving development processes and practices for cross-functional development teams
  • Extreme Programming (XP) practices
  • Clean Architecture
  • Test-Driven Development (TDD)
  • Behavior-Driven Development (BDD)
  • Microtesting / Unit Testing
  • Collaborative Development Practices (Pair & Mob Programming)
  • Continuous Integration, Continuous Delivery, Continuous Deployment
  • Legacy code rescue
  • Software organization and team training creation and delivery
  • Conducting Software Organization assessments

My passion is helping software organizations and their teams create better outcomes for their customers, improve the quality of their code, and help make work a joyful experience. A listing of my talks can be found here.

I graduated from Drexel University with a degree in Computer Science. You can learn more about me here.


02 Aug 2023 . software craft . SPOT and Coincidental Duplication Comments

The Single Point of Truth or DRY principle can help us create maintainable software. But beware of eliminating textual, coincidental duplication which makes the code harder to change in the future.

View more posts


I’m a coach and trainer at Industrial Logic. If your software development organization is struggling with quality issues and unable to continuously deliver working software, I can help. My focus is on structuring software development teams for fast flow and identifying light-weight processes and technical practices that can help improve delivery while focusing on technical quality.

I embed with software development teams to teach and model continuous process improvements and technical practices that result in the continuous improvement of code quality.

If you are interested in learning more reach out to me here or on the Industrial Logic website.

    {{playedToday}} tracks played today ({{today}})
  • {{track.artist}}-{{track.album}}


    Track: {{track.name}}
    Album: {{track.album}}
    Last Played: {{track.lastPlayed}}
  • {{artist.name}}

    Rank: {{artist.rank}}
    Play Count: {{artist.playCount}}
  • {{album.artist}} - {{album.name}}

    {{album.artist}} - {{album.name}}

    Rank: {{album.rank}}
    Play Count: {{album.playCount}}
Music data courtesy of
Cannot connect to the Last.fm Service to access music data.
Check the Last.fm Status Site for more information.


Drop me a line if I can help your development organization, help you with your product, or you just want to talk about music!