I am fascinated by the art of software development. How do you write great code? How do you document complex architectures? How do you lead teams and projects? How do you create interesting and effective development environments? How do you communicate wi