Design, develops and maintaining computer software at a company.Apply the principles of software engineering to help solve new and ongoing problems for an organization.