software engineer stereotypes