Everything You Didn't Know You Have To Know About Software Development