Which of the following job duties would a software developer perform?

1. Writing code to create software applications

2. Debugging and troubleshooting software issues
3. Collaborating with other team members to develop software projects
4. Implementing new features and upgrades to existing software systems
5. Testing and documenting code for quality assurance
6. Analyzing user requirements to design and develop software solutions