Swearing

S(oft)wearing
Cutting and pasting code in an editor is one of the worst offenders when it comes to adding bugs to software. In writing software, if there are large sections of code that are exact copies or almost exact copies of another section, there should be alarm bells going off in a programmers head. Those bells should be ringing out two songs: the "have I been designed properly" song and the "be extra careful when you change me" song.
I enjoy a good bug chase. It's like playing detective. You gather the evidence, analyze, synthesize, hypothesize, test, and repeat the process until you home in on the miscreant. That's the satisfying part. You finally nab the bugger and try to work out how the bug happened. It's then you find that some less-than-careful engineer has copied and pasted code, then forgotten to change one of the parameters in the copied section. This code had been "working" and passed its tests by good luck for the past couple of years. It only took a small change in the hardware to change its luck.