we only get better at programming through trial and error