I started learning programming using QuickBASIC when I was 13. It was addictive. I went on to compete in Information Olympiad at the regional level and really enjoyed the competitive environment of the summer training camps.

My PhD was in plant systematics and did not involve programming at all. Towards the end of my PhD I started to get more and more interested in high-throughput sequencing. Following my defense I joined Stephen Smith's lab of computational phylogenetics. With his help and lots of trial and error I picked up programming once again. I really enjoy being able to make my own tools when the tool I need is not available.

  • As a non-native English speaker, I found communication is always a skill that I have to work on
  • Time management.
  • Lots of patience with failure and frustrations
  • The book Practical Computing for Biologists is so good that I devoured it in a week when it just came out and truly wish there was something like this when I started graduate school!
  • I took the beginning Python course through Udacity. Loved it. https://www.udacity.com/course/cs101
  • I explored some other courses on Coursera, including algorithm, machine learning, stats and graphical models. These MOOCs are great resources.
  • I found some tutorials on YouTube when I had to learn a little Java. There are plenty of Perl tutorials online as well. I generally found good articles about my questions or error messages using Google.
  • You only learn things by doing it. People in the Smith lab have been of tremendous help for developing my computational skills.

What are the genetic and genomic bases of adaptation? I am developing tools to use transcriptome data to address this question.