programming risks