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