What programming languages or skills are best to master if you want to engineer software?