Learning both offensive and defensive skills is useful for general security awareness when building software.