customers source person needed projects applications java development open content code systems computer user support option customer project developer design operating number education work programmers employees type requirements testing domain programs process company create business tests language solution management important time developers cost name instance product needs data application practices specific program programming good