About

I am a software engineer, engineering coach, hands-on agile coach, community organizer for PhillyXP, blogger, and speaker with 18+ years of experience creating and delivering high quality software. I have specific expertise in:

  • Leading and coaching software teams
  • Mentoring developers
  • Improving development processes and practices for cross-functional development teams
  • Test-Driven Development (TDD)
  • Microtesting
  • Agile / eXtreme Programming (XP) practices
  • Pair & Mob Programming
  • Legacy code rehabilitation

I am a lifelong student always trying to improve. I believe code quality is not subjective nor a matter of preference. I enjoy mentoring and coaching developers specifically about code quality, microtesting, and Test-Driven Development. I am passionate about XP, Modern Agile, Lean Software Development, and DevOps.


I graduated from Drexel University with a degree in Computer Science. I currently work for eMoney Advisor in Radnor, PA. You can learn more about me here.

Blog

27 May 2018 . development practices . Data Classes and Feature Envy Comments

When introducing refactoring techniques and code smells to teams, I usually recommend starting with code smells that are both easy to identify and commonplace in most code bases. This gives teams the opportunity to practice the refactorings more often and build their confidence as they learn some of the more advanced refactorings. One of the code smells I like to start with is Feature Envy because it is often, but not always, accompanied by another code smell, Data Classes. Data classes are easy to spot, and poorly designed object-oriented systems tend to have a lot of…

View more posts

Code

Here are a few projects I have worked on in my free time:

iTunes Library Parser

A C# implementation utilizing LINQ-to-XML to parse an iTunes library file (PropertyList format). The nuget package can be found here on nuget.org.

Improved iTunes Parser

A ruby iTunes library parser using Nokogiri.

Listening To

A .NET Web API app (using my Lastfm.NET library) with an AngularJS / Bootstrap front end. It displays the last 25 songs I’ve listened to as well as my top 25 artists.

Lastfm.NET

A .NET client for the Last.fm REST API.

If you’d like to see some other things I’m working on you can view my github account.

  • {{track.Artist}}-{{track.Album}}

    {{track.Artist}}

    Track: {{track.Name}}
    Album: {{track.Album}}
    Last Played: {{track.LastPlayed}}
  • {{track.Artist}}

    {{artist.Name}}

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

Contact

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