Writing code is a good exercise in emotional management. You are frustrated that it doesn’t work as well as it should, that there are edge cases that you’d like to support but don’t, that some algorithm really should be replaced with something faster, that the data model is really not right any more, that the data is crappy in places you don’t have time to investigate, and that there are 100 times more feature ideas than you can implement in a life time. Who can survive this? 🙂 I think us supposedly un-emotional coders are just better at managing negative emotions than many other kinds of people.