A software developer is someone who creates software programs. Software developers often have more specific titles, such as programmer, software analyst, or software engineer. A software programmer, for example, is someone who writes source code that can be run as a script or compiled into an executable program. A software analyst provides the requirements and specifications for a software program and may also assist in programming the software. A software engineer is the person who designs applications from the ground up and often oversees the development of software programs.