A person who writes or amends computer programs.