One who invents, either as a hobby or as an occupation.
One who writes computer programs; a software developer.
A device that installs or controls a software program in some other machine.
One who decides which programs will be shown on a television station, or which songs will be played on a radio station.