As a new Ruby developer, I expected to be challenged intellectually as I dove into algorithms, data structures, and object-oriented design, but I was disturbed to realize that coding, especially in an Agile workflow, actually challenged me personally. Web development pushes us to our limits, not only of cognition, but of character. Character has been discussed by moral philosophers such as Aristotle, Augustine, and Aquinas using the framework of the cardinal virtues: courage, temperance, justice, and wisdom. We will consider how these virtues apply to our experiences as developers, and how we can grow not only as coders, but as human beings.