"Like cocaine use, we can develop a Dopamine release from various kinds of behaviors. Computer programming is one such behavior. Consider this: you might imagine that a person would not want to spend hours on end staring at a computer screen, skipping meals, losing track of time, only using a text editor, making small changes to a text file, observing small results, over and over again - in other words, the experience of computer programming. Those who enjoy, or, dare I say, are addicted to computer programming - they spend their time in a trance, going through the motions, waiting for the moment when they have solved a problem and their code does what it was intended to do, akin to the pleasure a person might get from solving puzzles for leisure. To make things worse (from an addiction stand point) it’s hard to know when the puzzle will be properly solved, so a degree of nervous anticipation builds up before each verification and when the puzzle is finally solved, there is a mild or often intense feeling of pleasure. Which then shortly subsides as the programmer then repeats the cycle, onto the next puzzle, onto the next fix."