Programming is a creative activity, so programmers (or hackers) have to think out of the box with unique practices to create great things. On the other hand, in order to make those great things, a team with solid practices (hence a system) is needed (in most cases). Thus, a programmer have to be creative (out of the box) within this context as a person while also have to be a part of the system with solid and proven practices (not out of the box). This is what i call, "Programmer's Dilemma"...