what software do mechanical engineers need to know