As a freelance programmer, your responsibilities are to develop programs, write code, design software, troubleshoot and update systems, and complete projects as an independent party on a contract basis. Programming jobs include websites, mobile apps, company systems, and more. You can work as a generalist, taking on assignments in various industries with general knowledge of multiple programs, or work as a specialist programmer and focus on one industry, programming language, or specific skill. Freelance programming jobs are typically temporary positions for a company and you are paid a previously agreed amount per job.