Programmers are like artists because they create something new and innovative, but they are also like craftsmen becaue they need to follow a set of rules. In other words, programmers use their creativity to solve problems, but their solutions must also be functional and reliable.