1. Designing and developing: Develop and design and develop software applications, including the back-end databases and responsive user interfaces.
2. Testing and debugging: Test the programs and identify bugs, document their locations, and propose fixes.
3. Working with clients and other engineers: Work with clients to define project parameters and with other engineers to identify application requirements.