designing software requires knowledge of programming languages.