Growing as a Programmer

morals

“Whatever makes you uncomfortable is the best opportunity for growth.”

“We don’t stop playing because we grow old; we grow old because we stop playing”

some advice

it might feel like there’s so much to learn, but focus on committing to learning what you need to accomplish your goals.

Yoda: focus, you must

do side projects

whether it’s “fancying your figures” or trying out features you’ve never tried before, side-projects can be fulfilling and are often sources of inspiration for new ideas that translate to your main projects.

there can be a temptation to have too 
many side projects, or too many unfinished side-projects

read other people’s code

reading other’s code will give you the chance to see new ideas in action and consider the pros/cons of their programming style compared to yours.

xkcd comic describing a situation where someone's
code looks like a mess

Google’s R Style Guide. JEFworks R Style Guide.

learn new techniques, and the syntax will come

  • projects
  • functional programming
  • readme driven development
  • test driven development
  • packages
  • object oriented programming
  • artful data visualization

The Evolution of a ggplot (Ep. 1) by Cédric Scherer

get code review

good code tends to have fewer (but not no) wtfs per minute

follow R programmers on social media

some accounts I follow

  • Hadley Wickham
  • Jenny Bryan
  • Julia Silge
  • Sharon Machlis
  • Frank Harrell
  • Yani Bellini Saibene
  • Kyle Walker
  • Andrew Heiss
  • Georgios Karamanis
  • Cédric Scherer
  • RUG at HDSI

tidytuesday

a weekly data project in R from the R4DS online community

reminders of big ideas

tidyverse workflow

from Jenny Bryan’s talk Zen and the aRt of Workflow Maintenance

principles for data cleaning

from Karl Broman’s talk data cleaning principles

Remember the Core Concepts Script

gist available here bit.ly/id529_core_script

Project Organization

Remember our Affirmations

Books I really recommend

finito