Software engineers and developers must be able to write and test software code, maintain computer programs, and identify technical problems. They must also prepare reports and evaluate various software products relevant to their company.