Very often I hear managers saying that if you even try to punish programmers for their mistakes they will quit and you will have no team. This may only happen to junior or lazy programmers. Professional software engineers are interested in being challenged and rewards+punishment is what constitutes a challenge. And the challenge is what motivates us, technical people, to work.
The video is here: https://youtu.be/PlvoXBgwooY