"There really are two classes of programmer : the one that build "tools" for other developers, and the ones that build end-user software."
Actual the second group is occasionally saying, "WTF was the first group thinking?" after spending hours trying to get the tools to work for the real world. (Try spending a few hours/days writing wrappers for PKI software with shitty APIs...)