should have a good working knowledge of basic programming languages, the ability to learn new technologies requests Gathering information from clients about program functionality Writing reports Conducting development tech-savvy Software Developer – essential Basic programming experience (university level) Knowledge of databases