Automation
Automation
"I spend a lot of time on this task. I should write a program automating it!"
[Two graphs are shown, plotting workload against time.]
Theory: [The line for "work on original task" is steady but then drops down to a much lower level.] [The line for the automating job increases heavily while "writing code" and then drops down when "automation takes over".] [Both lines end up with a big amount of "free time".]
Reality: [The line for "work on original task" is steady with no drop to a lower level.] [The line for the automating job increases heavily while "writing code", then it increases again while "debugging", it drops down slightly while "rethinking", and grows up again with an infinite end while the task is still an "ongoing development".] [The line for "work on original task" ends up with "no time for original task anymore".]

The comic refers to the phenomenon in which computer programmers attempt to create programs to automate menial but frequent tasks, to save time and effort. These attempts often end up taking much more time than the menial tasks would have taken. The first graph reflects the assumed ideal that leads programmers into such an attempt: writing the program will take more effort initially, but once the program is complete, it will take over the routine tasks, leaving the programmer free to do something else.
However, writing a program often turns out to be not that simple: programs can have defects, and certain functionalities can be hard to implement. Because of this, programmers usually spend more time than projected to finish a program. As time goes on, the desire to see it finished can consume the programmer's effort and attention, with the menial tasks left undone.
The title text is a play on the word "automating." While "auto-" is indeed a prefix that means "self," the root word "mat," from the Greek "matos," in fact refers to "moving" or "acting," so "automate" effectively means "self-moving." However, the title text uses a double entendre of the word "mating", the definitions of which include "to copulate," or, in slang, "to screw" (the latter having the double meaning of giving someone a hard time). This rendition of "automating" translates to self-screwing ("screwing yourself over", giving yourself a hard time), which, according to this comic, happens when one attempts to automate a process.
See also 974: The General Problem and 1205: Is It Worth the Time? or the Time management category .
"I spend a lot of time on this task. I should write a program automating it!"
[Two graphs are shown, plotting workload against time.]
Theory: [The line for "work on original task" is steady but then drops down to a much lower level.] [The line for the automating job increases heavily while "writing code" and then drops down when "automation takes over".] [Both lines end up with a big amount of "free time".]
Reality: [The line for "work on original task" is steady with no drop to a lower level.] [The line for the automating job increases heavily while "writing code", then it increases again while "debugging", it drops down slightly while "rethinking", and grows up again with an infinite end while the task is still an "ongoing development".] [The line for "work on original task" ends up with "no time for original task anymore".]
