Programming is an essential skill for data science applications and effective, reproducible data visualization. Here are a few useful resources, depending on what stage of the learning process you are at.
I'm just getting started
ReadAn Introduction to Statistical Learning by Gareth James. The accessible book covers many applications in data science, including support vector machines, random forests, and clustering methods. Every chapter also includes R code for implementing relevant applications.
I'm ready for the next level
ReadTidy Modeling with R by Max Kuhn and Julia Silge. This book is a guide to using a new collection of software in the R programming language for model building. It focuses on how to use software for modeling and outlines good methodology and statistical practice.
I dream in code
ReadThe Pragmatic Programmer by Andrew Hunt and David Thomas. The book goes beyond writing code (but includes a wealth of best practices for that) and covers important concepts in project management and software development. Let's be honest, you probably should have read this book years ago.