Why CS is different is due to less of a need of verification of skill. Many don't mind giving an informally taught programmer a job because his/her work can be verified by reading or executing code. That isn't possible in civil engineering, for example.