A programmer's main jobs are writing program source code, testing if it works, and debugging (fixing) the program if there are problems. Programmers often use software tools such as text editors and IDEs (Integrated Development Environments) to help them work.