Programmers are notorious for neglecting to write software documentation, even while demanding high quality documentation for themselves. In an ideal world, programmers would be able to automatically generate documentation. In this dissertation, I discuss my strategy to automatically generate documentation: first, to observe programmers and then mimic their behaviors by writing or modifying algorithms. I will present the use of eye tracking for program comprehension. I discuss my eye tracking research with professional programmers and the areas of source code that are important to read for source code comprehension. This work resolved an open question in software engineering as many papers reported different areas of source code to be the most important for comprehension. I found the method signature to be the most important section of source code for reading comprehension. I will also present the eye movement order of programmers when they read source code. Next, I will present work on observing developer-client meetings and mimicking the participants behavior to extract user story information. Finally, I will conclude with a discussion of work towards a virtual assistant bot for programmers, including a "Wizard of Oz" study. This work showed that programmers would use a virtual assistant if they had one and that they would ask the bot system and API type questions.