Life Imitates Code: Three Life Lessons I've Learned From Programming