Education.. BSc (Computer Science or Engineering). Design, code, test, and maintain software. Interface with software architects and project managers to develop detailed design documents. Estimate the size and scope of development efforts.