Design and develop intuitive, usable, engaging interactions and visual designs, and computer programs. •Collaborate with the product owners to understand end-user requirements and translate those requirements into functional solutions. Collaborate with other developers to create software. •Provide creative solutions. •Integrate with back-end services to deliver a great end-user experience. •Work directly with customers in designing features or troubleshooting bugs. •Explain technologies and solutions to technical and non-technical stakeholders. •Other duties as assigned. 1. design computer hardware or software interface. 2. design computer programs or programming tools. 3. evaluate prototype computer software systems. 4. program computers for electronic engineering applications. 5. program computers for management analysis applications. 6. program computers using existing software. 7. use computer programming language. 8. use object-oriented computer programming techniques. 9. write computer software, programs, or code. Most software developers major in computer science.