Patterns of User Experience in Performance Programming