I learned some coding in the computer class during my undergraduate, but I never used in the research until during the master period. During that time, I starts to assemble 100kb size chloroplast genomes using Illumina short reads, and I start to learn more linux, bash and scripting. I enjoyed so I want to do bioinformatics for my PhD. When I start the PhD program at UF, my advisor gives me a book Teach yourself perl in 21 days. After reading this book, I start to do the projects and learn by doing is the best approach in bioinformatics and genomics. Bioperl has many useful examples to process and analyze the data. The field is developping very fast and
I learn more python and R when the PhD progress. Sometimes the choice of programming languages to use also depends on the lab, My current lab most use R. Now biopython and R bioconductor has many packages for large scale biological data analysis. Python also has a nice machine learning package, of course R has the similar nice resource for machine learning as well a book called An Introduction to Statistical Learning with Applications in R.
Here is a few more useful resources: