Identifying Factors Contributing to "Bad Days" for Software Developers