What are the main responsibilities of a software developer? Your answer must contain at least 4 placeholders represented by square brackets, such as [job_role]. Include keywords [software, development, programming, code, testing, maintenance] in the response. Your response should contain at least 12 sentences.
user