Software engineering is like digging a hole, where every time you strike your shovel down you either hit a huge boulder or a giant lead lined pipe no one told you was down there. It would take some kind of a mental disability or achieving a state of enlightenment to not be frustrated by being constantly blocked and held down when you want to run, which is the real definition of this job.