Generally, writes the computer programs used for everything from the systems that allow computers to run properly to the latest software applications for mobile devices. an expanding field that requires creative minds who want to be on the cutting edge of finding new uses for technology. Analyzing the needs of clients and then designing a system to meet those needs. recommendations software upgrades to existing systems. More detailed work comes in the form of designing the step-by-step flowcharts for computing systems that show how program code must be written in order for it to work properly. IT support, Run time software support.