so you want to be a programmer