The toughest parts of my software career have been managing relationships with my peers & working on my own attitude. For too long time I thought I could code my way out of any problem and/or win any argument with the technically more correct solution. I was super wrong. No amount of knowledge about how to write a weight balanced binary tree prepares one for the day to day grind of working with actual people.