what programming language should engineers learn